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

履歴 編集

function
<meta>

# std::meta::access_context::designating_class(C++26)

    consteval info designating_class() const;

## 概要

アクセスコンテキストの指定クラス (designating class) のリフレクションを返す。

`via()`で派生クラスを経由するアクセスコンテキストを作った場合、`designating_class()`はその派生クラスを返す。

## 戻り値

このアクセスコンテキストにおいて、メンバアクセスの対象となるクラスのリフレクションを返す。

## 例

    #include <meta>
    #include <print>

    class Base {
    protected:
      int prot;
    public:
      int pub;
    };

    class Derived : public Base {};

    int main() {
      constexpr auto ctx = std::meta::access_context::current().via(^^Derived);
      std::println("designating class: {}",
        std::meta::display_string_of(ctx.designating_class()));
    }

#### 出力例

    designating class: Derived

## バージョン

### 言語

- C++26

### 処理系

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

## 参照

- P2996R13 Reflection for C++26