最終更新日時: 2026年05月07日 12時33分06秒 (JST)
Akira Takahashi が更新

履歴 編集

class
<meta>

# std::meta::data_member_options(C++26)

    namespace std::meta {
      struct data_member_options {
        struct name-type;       // 説明専用
        std::optional<name-type> name;
        std::optional<int> alignment;
        std::optional<int> bit_width;
        bool no_unique_address = false;
        std::vector<info> annotations;
      };
    }

## 概要

`data_member_options`は、`data_member_spec()`でデータメンバの仕様を作成する際に、メンバの名前やアライメント、ビット幅などのオプションを指定するためのクラスである。

consteval-only型であり、実行時には存在できない。

## メンバ変数

名前 | 説明
--- | ---
`name` | メンバの名前。`string_view`または`u8string_view`を受け取る
`alignment` | アライメントの指定
`bit_width` | ビットフィールドのビット幅
`no_unique_address` | `[[no_unique_address]]`属性を付加するか
`annotations` | メンバに付加するアノテーションのリフレクションのリスト

## バージョン

### 言語

- C++26

### 処理系

- Clang: ??
- GCC: 16 (`-freflection` オプション指定) ✅
- Visual C++: ??

## 関連項目

- `data_member_spec`
- `define_aggregate`

## 参照

- P2996R13 Reflection for C++26