Namespaces
Variants

std::meta::is_class_member

来自 zh.cppreference.net
< cpp | meta
 
 
 
反射库
 
反射类型和查询
反射查询
反射布局查询
类型属性
类型属性查询
 
在标头中定义 <meta>
consteval bool is_class_member( std::meta::info r );
(C++26 起)

返回 true 如果 r 表示一个类成员。否则返回 false。

参数

r - 一个反射值

返回值

true 如果 r 表示一个类成员;否则 false。

示例

#include <meta>

struct A
{
    int x;
    static int y;
    void f();
    static void g();
    using type = int;
};
static_assert(std::meta::is_class_member(^^A::x));
static_assert(std::meta::is_class_member(^^A::y));
static_assert(std::meta::is_class_member(^^A::f));
static_assert(std::meta::is_class_member(^^A::g));
static_assert(std::meta::is_class_member(^^A::type));

int main() {}
static_assert(!std::meta::is_class_member(^^main));

参阅

获取反射的类或命名空间的可访问直接成员
(函数)
检查反射是否表示一个命名空间成员
(函数)