:relfileprefix: ../../../
[#BED959FB6CAC4EB5B34037C1E546F6C1A12C10A3]

= Class is_token



== Synopsis

Declared in header `</boost/url/grammar/string_token.hpp#L91[boost/url/grammar/string_token.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
template<class T>
struct xref:boost/urls/string_token/is_token-0a.adoc[is_token]<T, xref:boost/urls/void_t.adoc[void_t]<decltype(std::declval<T&>().prepare(
                std::declval<std::size_t>())), decltype(std::declval<T&>().result())>>
    : xref:std.adoc[std]::xref:std/integral_constant.adoc[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>;
----

==  Types
[,cols=2]
|===
|Name |Description
|xref:std/integral_constant/type.adoc[`pass:v[type]`] |

|xref:std/integral_constant/value_type.adoc[`pass:v[value_type]`] |

|===
==  Member Functions
[,cols=2]
|===
|Name |Description
|xref:std/integral_constant/2conversion.adoc[`pass:v[operator std::integral_constant::value_type]`] |

|xref:std/integral_constant/operator_call.adoc[`pass:v[operator()]`] |

|===
==  Static Data Members
[,cols=2]
|===
|Name |Description
|xref:std/integral_constant/value.adoc[`pass:v[value]`] |

|===


