namespace std::meta {
consteval bool has_c_language_linkage(info r);
}
概要
C言語リンケージを持つかを判定する。
戻り値
rがC言語リンケージ(extern "C")を持つエンティティを表す場合にtrueを返す。
例
#include <meta>
extern "C" void c_func();
void cpp_func();
extern "C" int c_var;
int main() {
static_assert(std::meta::has_c_language_linkage(^^c_func));
static_assert(!std::meta::has_c_language_linkage(^^cpp_func));
static_assert(std::meta::has_c_language_linkage(^^c_var));
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??