Metafunction returning true if T is a StringToken
<include/boost/url/grammar/string_token.hpp>
template<class T>
struct is_token<T, void_t<decltype(std::declval<T&>().prepare(
std::declval<std::size_t>())), decltype(std::declval<T&>().result())>>
: std::integral_constant<bool, std::is_convertible<decltype(std::declval<T &>().result()), typename T::result_type>::value && std::is_same<decltype(std::declval<T &>().prepare(0)), char *>::value && std::is_base_of<arg, T>::value && std::is_convertible<const volatile T *, const volatile arg *>::value>;