std::meta::access_context::current
来自cppreference.com
| |
||
返回一个新的 access_context,其关联作用域是包含调用点的最小的命名空间、类或函数作用域,且其指定类为空反射。
返回值
如上所述的 access_context,其关联作用域为外围作用域。
注解
如果在默认成员初始化器或默认实参中使用 current(),则调用点被视为使用该初始化器或默认实参的位置(而不是 current() 调用词法上出现的位置)。
consteval auto current_scope(std::meta::info r = std::meta::access_context::current().scope())
{
return r;
}
static_assert(std::meta::is_namespace(current_scope()));
struct S { static_assert(std::meta::is_type(current_scope())); };
void f() { static_assert(std::meta::is_function(current_scope())); }
如果在函数声明中使用 current()(在函数体之前,如果有的话),则在确定外围作用域时会跳过该函数的作用域。
auto f()
-> std::bool_constant<std::meta::is_namespace(std::meta::access_context::current().scope())>;
static_assert(^^decltype(f()) == dealias(^^std::true_type));
示例
| 本节未完成 原因:暂无示例 |
参阅
| 分别返回关联作用域和指定类 (公开成员函数) |