- meta[meta header]
- std::meta[meta namespace]
- access_context[meta class]
- function[meta id-type]
- cpp26[meta cpp]
consteval info designating_class() const;- info[link ../info.md]
アクセスコンテキストの指定クラス (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()[color ff0000]
- std::meta::access_context::current[link current.md]
- via[link via.md]
- std::meta::display_string_of[link ../display_string_of.md]
designating class: Derived
- C++26
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) [mark verified] - Visual C++: ??