Skip to content

Instantly share code, notes, and snippets.

@stryku
Created March 5, 2017 18:33
Show Gist options
  • Save stryku/0f2686462e029305b48dd88622b0e8cf to your computer and use it in GitHub Desktop.
Save stryku/0f2686462e029305b48dd88622b0e8cf to your computer and use it in GitHub Desktop.
template <size_t current_ip, char ...label_chars, typename ...rest_of_tokens, typename ...current_tokens, typename ...current_labels>
struct extract_labels_impl<
tuple<string<':', label_chars...>, rest_of_tokens...>,
current_ip,
tuple<current_tokens...>,
tuple<current_labels...>>
{
using extracted = extract_labels_impl<
tuple<rest_of_tokens...>,
current_ip,
tuple<current_tokens...>,
tuple<current_labels..., label_metadata<string<'.', label_chars...>, current_ip>>>;
using tokens = typename extracted::tokens;
using labels = typename extracted::labels;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment