is_scoped_enum<T>タイプ特性はありますか、または次のようなタイプ特性を書くことは可能ですか?
Tスコープ付き列挙であるis_scoped_enum<T>::value場合、trueおよびT他のタイプの場合、is_scoped_enum<T>::valuefalse
is_scoped_enum<T>タイプ特性はありますか、または次のようなタイプ特性を書くことは可能ですか?
Tスコープ付き列挙であるis_scoped_enum<T>::value場合、trueおよびT他のタイプの場合、 is_scoped_enum<T>::valuefalseそれが列挙型であり、基になる型に暗黙的に変換できないかどうかをテストすることでうまくいくと思います。
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> {};