Namespaces
Variants

std::meta::is_pure_virtual

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

返回 true 如果 r 表示一个成员函数是 纯虚。否则返回 false.

参数

r - 一个反射值

返回值

true 如果 r 表示一个成员函数是纯虚的;否则 false.

示例

#include <meta>

struct Base
{
    virtual void f() = 0;
};

struct Derived : public Base
{
    void f() = 0; // overrides Base::f
    virtual void g();
};

static_assert(std::meta::is_pure_virtual(^^Base::f));
static_assert(std::meta::is_pure_virtual(^^Derived::f));
static_assert(!std::meta::is_pure_virtual(^^Derived::g));

int main() {}

参阅

Template:cpp/meta/dsc is abstract type
检查反射是否表示虚成员函数或虚基类
(函数)
检查反射是否表示覆盖另一个成员函数的成员函数
(函数)
检查反射是否表示一个函数
(函数)
检查一个类型是否为抽象类类型
(类模板)