std::meta::has_c_language_linkage
Von de.cppreference.net
| 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
Diesen Code ausführen
#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) |