Namespaces
Variants

std::meta::is_explicit

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

返回 true 如果 r 表示一个 显式 构造函数或转换函数。否则返回 false。

参数

r - 一个反射值

返回值

true 如果 r 表示一个被声明为显式的成员函数;否则返回 false。

注解

如果 r 不表示一个函数,则结果为 false。特别地,结果为 false 如果 r 表示一个函数模板。

示例

#include <meta>

struct A {
    explicit operator bool() const;

    template<class T>
    explicit(^^T == ^^void) operator T*() const;
};

static_assert(std::meta::is_explicit(^^A::operator bool));
static_assert(std::meta::is_explicit(^^A::operator void*));
static_assert(!std::meta::is_explicit(^^A::operator int*));

参阅

检查反射是否表示一个函数
(函数)