From 5228cecbfb4151fbed4ac08cda0b3adf2ae041c5 Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Thu, 15 Mar 2018 15:21:53 +1100 Subject: [PATCH] traits: add is_same_template_template trait --- types/traits.hpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) 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