Namespaces
Variants

std::meta::reflect_constant

ja.cppreference.net より
< cpp | meta
 
 
 
リフレクションライブラリ
 
リフレクションの型とクエリ
リフレクションクエリ
リフレクションレイアウトクエリ
型プロパティ
型プロパティクエリ
 
ヘッダ <meta>
template< class T >
consteval std::meta::info reflect_constant( T expr );
(C++26 以上) で定義

以下のリフレクションを返します。これは、expr の値(T が ScalarType の場合)、または値 を持つ テンプレート引数オブジェクトexpr(T がクラス型の場合)を表します。

形式的には、次のようにします:

  • V を:
  • TCls を、発明されたテンプレート template<T P> struct TCls;

この関数は std::meta::template_arguments_of(^^TCls<V>)[0] を返します。

std::is_copy_constructible_v<T> が偽である場合、T が cv修飾されていない structural type でない場合、または T が参照型である場合、プログラムは ill-formed です。

引数

expr - structural type の値

戻り値

上述のリフレクション。

例外

std::meta::exception を投げます。ただし、TCls<V> が無効な場合。

例

関連項目

コンパイル時文字列を静的ストレージに昇格し、静的文字列を表すリフレクションを返す
(関数テンプレート)
コンパイル時配列を静的ストレージに昇格し、静的配列を表すリフレクションを返す
(関数テンプレート)
オブジェクトを表すリフレクションを返す。定数テンプレート引数として使用するのに適している
(関数テンプレート)
関数を表すリフレクションを返す。定数テンプレート引数として使用するのに適している
(関数テンプレート)
リフレクトされたテンプレートにリフレクトされた引数を代入した結果のリフレクションを取得する
(関数テンプレート)