std::meta::access_context::scope, std::meta::access_context::designating_class

来自cppreference.com
consteval std::meta::info scope() const;
(1)
consteval std::meta::info designating_class() const;
(2)
1) 返回与 *this 的关联作用域所对应的命名空间、类或函数的反射。
2) 返回 *this 的指定类的反射。

返回值

分别返回关联作用域和指定类。

示例

#include <meta>

int main()
{
    constexpr auto ctx1 = std::meta::access_context::current();
    constexpr auto ctx2 = std::meta::access_context::unprivileged();
    constexpr auto ctx3 = std::meta::access_context::unchecked();

    static_assert(std::meta::is_function(ctx1.scope()));
    static_assert(ctx2.scope() == ^^::);
    static_assert(ctx3.scope() == std::meta::info{});

    static_assert(ctx1.designating_class() == std::meta::info{});

    struct X {};
    static_assert(ctx1.via(^^X).designating_class() == ^^X);
}

参阅

构造带有指定类的 std::meta::access_context
(公开成员函数) [编辑]