Namespaces
Variants

std::meta::has_c_language_linkage

De es.cppreference.net
< cpp | meta
 
 
 
Biblioteca de reflexión
 
Tipos y consultas de reflexión
Consultas de reflexión
Consultas de diseño de reflexión
Propiedades de tipo
Consultas de propiedades de tipo
 
Definido en la cabecera <meta>
consteval bool has_c_language_linkage( std::meta::info r );
(desde C++26)

Determina si r representa una variable, función o tipo de función con enlace de lenguaje "C" enlace de lenguaje (extern "C"). Devuelve true si lo tiene, false en caso contrario.

Parámetros

r - un valor de reflexión

Valor de retorno

true si lo que r representa tiene enlace de lenguaje "C", false en caso contrario.

Notas

Si r no representa una variable, función o tipo de función (por ejemplo, si r representa una plantilla de función), el resultado es false.

Ejemplo

#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() {}

Véase también

comprueba si la entidad reflejada tiene un enlace
(función)