std::meta::reflect_constant_string
ja.cppreference.net より
| ヘッダ <meta>
|
||
template< ranges::input_range R >
consteval std::meta::info reflect_constant_string( R&& r );
|
(C++26 以上) で定義 | |
r の各要素を対応する要素とする文字配列オブジェクトを表すリフレクションを返します。ただし、r が文字列リテラルオブジェクトでない場合、末尾にヌル文字が追加されます。
結果の文字配列オブジェクトは テンプレートパラメータオブジェクトです。これは静的記憶域期間を持ち、同じ内容の文字列は同じオブジェクトに対応します。
結果の文字配列オブジェクトは 潜在的に一意ではないオブジェクトでもあります。
形式的には、次のようにします:
CharTをranges::range_value_t<R>とします。これはchar、wchar_t、char8_t、char16_t、またはchar32_tのいずれかでなければなりません。Vを型CharTの値のパックとします。その各要素はrの対応する要素ですが、rが文字列リテラルオブジェクトである場合、Vにはrの末尾のヌル文字は含まれません。Pを型 の テンプレートパラメータオブジェクトconst CharT[sizeof...(V) + 1]とします。これは{V..., CharT()}で初期化されます。
この関数は、オブジェクト P を表すリフレクションを返します。
引数
| r | - | 文字の input_range |
戻り値
上記のように文字配列オブジェクトを表すリフレクション。
ノート
std::meta::reflect_constant_string の結果は、std::meta::substitute での使用に適しています。呼び出し元がリフレクション値ではなく静的文字列へのポインタを必要とする場合は、通常 std::define_static_string の方が適しています。
例
| このセクションは不完全です 理由: 例がありません |
関連項目
(C++26) |
コンパイル時文字列を静的ストレージに昇格させ、静的文字列の最初の文字へのポインタを返します (関数テンプレート) |
(C++26) |
コンパイル時配列を静的ストレージに昇格させ、静的配列を表すリフレクションを返します (関数テンプレート) |
(C++26) |
値または テンプレートパラメータオブジェクト を表すリフレクションを返します。これは定数テンプレート引数として使用するのに適しています (関数テンプレート) |