是否有类型特征,或者是否可以编写类型特征is_scoped_enum<T>
这样:
- if
T
是一个范围枚举,is_scoped_enum<T>::value
is true
and
- if
T
是任何其他类型,is_scoped_enum<T>::value
是假的
我想测试它是否是一个枚举and不能隐式转换为基础类型应该可以解决问题。
template <typename T, bool B = std::is_enum<T>::value>
struct is_scoped_enum : std::false_type {};
template <typename T>
struct is_scoped_enum<T, true>
: std::integral_constant<bool,
!std::is_convertible<T, typename std::underlying_type<T>::type>::value> {};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)