is_base_of泛型类型

时间:2015-09-09 10:57:43

标签: c++ templates generics typetraits

我试图断言模板参数将从某个基类派生。但是基类是通用的,并且在断言的上下文中,任何特化类型之间没有区别。 我如何断言,该模板参数是从任何专用类型的泛型派生的?

我正在尝试将其写为

base_generic:

template<typename T> struct base_generic{};

derived_generic:

template<typename T> struct derived_generic : public base_generic<T>{};

带断言的类:

template<typename Tsource, typename Tderived_generic> 
struct encoder {
static_assert(std::is_base_of<base_generic<typename>, Tderived_generic>::value);
};

此代码编译,但断言失败

0 个答案:

没有答案