std::meta::has_c_language_linkage
От ru.cppreference.net
| Определён в заголовке <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() {}
См. также
| проверяет, имеет ли отражаемая сущность связывание (функция) |