std::meta::is_noexcept
Von de.cppreference.net
| Definiert in Header <meta>
|
||
consteval bool is_noexcept( std::meta::info r );
|
(seit C++26) | |
Gibt true zurück, wenn r einen noexcept-Funktionstyp oder eine Funktion mit einer nicht-werfenden Ausnahmespezifikation darstellt. Ansonsten gibt false zurück.
Parameter
| r | - | ein Reflexionswert |
Rückgabewert
true wenn r einen noexcept-Funktionstyp oder eine Funktion darstellt; andernfalls false.
Hinweise
Wenn r keinen Funktionstyp oder keine Funktion darstellt, ist das Ergebnis false. Insbesondere ist das Ergebnis false wenn r eine Funktionsvorlage darstellt.
Beispiel
Diesen Code ausführen
#include <meta>
template<bool Cond>
void f() noexcept(Cond);
static_assert(std::meta::is_noexcept(^^f<true>));
static_assert(!std::meta::is_noexcept(^^f<false>));
static_assert(!std::meta::is_noexcept(^^f));
using fty = decltype(f<true>);
static_assert(std::meta::is_noexcept(^^fty));
int main() {}
Siehe auch
Template:cpp/meta/dsc is function type(C++26) |
prüft, ob die Reflexion eine Funktion darstellt (Funktion) |
(C++11) |
prüft, ob ein Typ ein Funktionstyp ist (Klassenvorlage) |