Namespaces
Variants

std::meta::offset_of

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

r が表す非静的データメンバまたは直接基底クラスの、それを包含するクラス std::meta::parent_of(r) からのオフセットを返します。

パラメータ

r - 非静的データメンバまたは直接基底クラス関係

のリフレクション

戻り値Vを、std::meta::parent_of(r) が表す型の完全オブジェクトの先頭から、r が表すものに関連付けられたサブオブジェクトまでのオフセット(ビット単位)とします。std::meta::member_offset{V % CHAR_BIT, V % CHAR_BIT} を返します。

例外

std::meta::exception をスローします。ただし、r が以下のいずれかを表す場合は除きます:

  • 非静的データメンバ
  • 名前のないビットフィールド
  • 直接基底クラス関係であって、基底クラスが仮想基底クラスでないか、派生クラスが抽象クラスでないもの

例

関連項目

standard-layout 型の先頭から指定されたメンバまでのバイトオフセット
(関数マクロ)