11 template<
class T,
template<
class...>
class Template>
12 constexpr bool is_instance_of_v = std::false_type{};
14 template<
template<
class...>
class T,
class ...TemplateArgs>
15 constexpr bool is_instance_of_v<T<TemplateArgs...>, T> = std::true_type{};
17 template<
class T,
template<
class...>
class Template>
18 struct is_instance_of : std::bool_constant<is_instance_of_v<T, Template>> {};
this header is dependency free