Namespaces
Variants

std::meta::has_c_language_linkage

De fr.cppreference.net
< cpp | meta
 
 
 
Bibliothèque de réflexion
 
Types et requêtes de réflexion
Requêtes de réflexion
Requêtes de disposition de réflexion
Propriétés de type
Requêtes de propriété de type
 
Défini dans l'en-tête <meta>
consteval bool has_c_language_linkage( std::meta::info r );
(depuis C++26)

Détermine si r représente une variable, une fonction ou un type de fonction avec liaison de langage "C" language linkage (extern "C"). Renvoie true si c'est le cas, false sinon.

Paramètres

r - une valeur de réflexion

Valeur de retour

true si ce que r représente a une liaison de langage "C", false sinon.

Notes

Si r ne représente pas une variable, une fonction ou un type de fonction (par exemple, si r représente un modèle de fonction), le résultat est false.

Exemple

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

Voir aussi

vérifie si l'entité réfléchie a une liaison
(fonction)