最終更新日時(UTC):
が更新

履歴 編集

function
<meta>

std::meta::current_class(C++26)

namespace std::meta {
  consteval info current_class();
}

概要

current_class()を呼び出した時点で直接囲んでいるクラス(またはメンバ関数の所属するクラス)のリフレクションを返す。

戻り値

呼び出し位置を囲んでいるクラスのリフレクションを返す。メンバ関数内から呼ばれた場合は、そのメンバ関数が所属するクラスのリフレクションを返す。

例外

クラス(またはメンバ関数)の文脈で呼ばれていない場合、std::meta::exception例外を送出する。

#include <meta>
#include <print>

class MyClass {
public:
  static void info() {
    constexpr auto cls = std::meta::current_class();
    std::println("クラス名: {}", std::meta::identifier_of(cls));
  }
};

int main() {
  MyClass::info();
}

出力例

クラス名: MyClass

バージョン

言語

  • C++26

処理系

関連項目

参照