Namespaces
Variants

std:: is_error_code_enum <std::io_errc>

From cppreference.net
< cpp ‎ | io ‎ | io errc
std::io_errc
Non-member functions
Helper classes
is_error_code_enum <std::io_errc>
(C++11)
Défini dans l'en-tête <ios>
template <>
struct is_error_code_enum < std:: io_errc > : public std:: true_type { } ;
(depuis C++11)

Cette spécialisation de std::is_error_code_enum informe les autres composants de la bibliothèque que les valeurs de type std::io_errc sont des énumérations qui contiennent des codes d'erreur, ce qui les rend implicitement convertibles et assignables à des objets de type std::error_code .

Table des matières

Hérité de std:: integral_constant

Constantes membres

value
[static]
true
(constante membre publique statique)

Fonctions membres

operator bool
convertit l'objet en bool , retourne value
(fonction membre publique)
operator()
(C++14)
retourne value
(fonction membre publique)

Types membres

Type Définition
value_type bool
type std:: integral_constant < bool , value >

Exemple

La comparaison entre e. code ( ) et std::io_errc::stream compile car std:: is_error_code_enum < std:: io_errc > :: value == true .

#include <fstream>
#include <iostream>
int main()
{
    std::ifstream f("doesn't exist");
    try
    {
        f.exceptions(f.failbit);
    }
    catch (const std::ios_base::failure& e)
    {
        std::cout << "Caught an ios_base::failure.\n";
        if (e.code() == std::io_errc::stream)
            std::cout << "The error code is std::io_errc::stream\n";
    }
}

Sortie :

Caught an ios_base::failure.
The error code is std::io_errc::stream

Voir aussi

identifie une classe comme une énumération error_code
(modèle de classe)
(C++11)
contient un code d'erreur dépendant de la plateforme
(classe)
(C++11)
les codes d'erreur de flux d'E/S
(énumération)