最終更新日時(UTC):
が更新

履歴 編集

class template
<type_traits>

std::is_scoped_enum(C++23)

namespace std {
  template <class T>
  struct is_scoped_enum;

  template <class T>
  inline constexpr bool is_scoped_enum_v
    = is_scoped_enum<T>::value;
}

概要

Tがスコープ付きの列挙型か調べる。

要件

is_scoped_enumは、型Tがスコープ付きの列挙型であるならばtrue_typeから派生し、そうでなければfalse_typeから派生する。

#include <type_traits>

enum class E1 {};
enum E2 {};

int main() {
  static_assert(std::is_scoped_enum_v<E1>);

  static_assert(!std::is_scoped_enum_v<E2>);
  static_assert(!std::is_scoped_enum_v<int>);
}

出力

バージョン

言語

  • C++23

処理系