std::meta::has_c_language_linkage
Определено в заголовочном файле <meta> | ||
|---|---|---|
consteval bool has_c_language_linkage( std::meta::info r ); | (начиная с C++26) |
Определяет, представляет ли r переменную, функцию или тип функции со связыванием с языком «C» (extern "C"). Возвращает true, если это так, и false в противном случае.
Параметры
| r | - | значение отражения |
Возвращаемое значение
true, если то, что представляет r, имеет связывание с языком «C», и 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() {}
См. также
|
(C++26)(C++26)(C++26)(C++26) | проверяет, имеет ли отражённая сущность связывание (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/has_c_language_linkage