Namensräume
Varianten
Aktionen

std::is_error_code_enum

Von cppreference.com
< cpp‎ | error‎ | error code
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
 
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>
#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

identifiziert eine Enumeration als std::error_condition
(class template) [bearbeiten]