Namespaces
Variants

std::meta::has_c_language_linkage

Von de.cppreference.net
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexions-Layout-Abfragen
Typeigenschaften
Typ-Eigenschaftsabfragen
 
Definiert in Header <meta>
consteval bool has_c_language_linkage( std::meta::info r );
(seit C++26)

Ermittelt, ob r eine Variable, Funktion oder einen Funktionstyp mit „C“-Sprachverknüpfung (extern "C") darstellt. Gibt true zurück, wenn dies der Fall ist, ansonsten false.

Parameter

r - ein Reflexionswert

Rückgabewert

true wenn das, was r darstellt, „C“-Sprachverknüpfung hat, false ansonsten.

Anmerkungen

Wenn r keine Variable, Funktion oder keinen Funktionstyp darstellt (z. B. wenn r eine Funktionsschablone darstellt), ist das Ergebnis false.

Beispiel

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

Siehe auch

prüft, ob die reflektierte Entität eine Verknüpfung
(function)
hat