std::is_error_code_enum
Von cppreference.com
< cpp | error | error code
| Definiert in der Header-Datei <system_error> |
||
| template< class T > struct is_error_code_enum; |
(seit C++11) | |
Wenn T eine Fehlercode-Enumeration ist (wie z. B. std::io_errc und std::future_errc), stellt diese Template-Klasse die Member-Konstante value mit dem Wert true bereit. Für jeden anderen Typ ist value false.
Diese Template-Klasse kann für einen benutzerdefinierten Typ spezialisiert werden, um anzuzeigen, dass der Typ für die implizite Konvertierung in std::error_code berechtigt ist.
Inhalt |
[bearbeiten] Hilfs-Variable-Template
| template< class T > constexpr bool is_error_code_enum_v = is_error_code_enum<T>::value; |
(seit C++17) | |
Abgeleitet von std::integral_constant
Member-Konstanten
| value [static] |
true, wenn T eine Fehlercode-Enumeration ist, false andernfalls.(öffentliche statische Member-Konstante) |
Memberfunktionen
| operator bool |
konvertiert das Objekt zu bool, gibt value zurück (öffentliche Memberfunktion) |
| operator() (C++14) |
gibt value zurück (öffentliche Memberfunktion) |
Membertypen
| Typ | Definition |
value_type
|
bool |
type
|
std::integral_constant<bool, value> |
Führen Sie diesen Code aus
#include <ios> #include <system_error> static_assert(std::is_error_code_enum_v<decltype(std::io_errc::stream)>); static_assert(!std::is_error_code_enum_v<std::error_category>); int main() {}
[bearbeiten] Siehe auch
| (C++11) |
identifiziert eine Enumeration als std::error_condition (class template) |