Namespaces
Variants

std::meta::has_c_language_linkage

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

确定 r 是否表示带有 "C" 语言链接 (extern "C") 的变量、函数或函数类型。如果是则返回 true,否则返回 false。

参数

r - 一个反射值

返回值

true如果 r 所表示的内容具有 "C" 语言链接,则为 true,否则为 false。

注解

如果 r 不表示变量、函数或函数类型(例如,如果 r 表示函数模板),则结果为 false。

示例

#include <meta>

extern "C" void foo();
static_assert(std::meta::has_c_language_linkage(^^foo) == true);

void moo();
static_assert(std::meta::has_c_language_linkage(^^moo) == false);

template<typename T>
T boo();
static_assert(std::meta::has_c_language_linkage(^^boo) == false);

int main() {}

参阅

检查反射的实体是否具有 链接
(函数)