diff --git a/types/traits.hpp b/types/traits.hpp index 4e822294..61708e5a 100644 --- a/types/traits.hpp +++ b/types/traits.hpp @@ -352,4 +352,35 @@ struct inner_type< template using inner_type_t = typename inner_type::type; + +/////////////////////////////////////////////////////////////////////////////// +template < + template class TemplateT, + typename QueryT +> +struct is_same_template_template : public std::false_type {}; + + +//----------------------------------------------------------------------------- +template < + template class TemplateT, + template class QueryT, + typename ...Args +> struct is_same_template_template< + TemplateT, + QueryT +> : public std::conditional_t< + std::is_same_v< + TemplateT, + QueryT + >, + std::true_type, + std::false_type +> { }; + + +//----------------------------------------------------------------------------- +template