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

履歴 編集

function template
<meta>

std::meta::extract(C++26)

namespace std::meta {
  template <class T>
  consteval T extract(info r);
}

概要

リフレクションから値を抽出する。

戻り値

rが型Tの値を表す場合、その値を返す。

例外

rが型Tの値を表さない場合、std::meta::exception例外を送出する。

#include <meta>

enum class Color { red = 1, green = 2, blue = 3 };

int main() {
  constexpr auto r = std::meta::reflect_constant(42);
  static_assert(std::meta::extract<int>(r) == 42);

  constexpr auto c = std::meta::reflect_constant(Color::green);
  static_assert(std::meta::extract<Color>(c) == Color::green);
}

出力

バージョン

言語

  • C++26

処理系

関連項目

参照