| I/O manipulators | ||||
| Print functions(C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
| Non-member functions | ||||
make_error_condition(std::io_errc) (C++11) | ||||
| Helper classes | ||||
Defined in header <ios> | ||
std::error_condition make_error_condition(std::io_errc e)noexcept; | (since C++11) | |
Constructs anstd::error_condition object from a value of typestd::io_errc as if byreturnstd::error_condition(static_cast<int>(e),std::iostream_category()).
Contents |
| e | - | error code number |
A value of typestd::error_condition that holds the error code number frome associated with the error category"iostream".
#include <iostream>#include <system_error> int main(){std::error_condition ec=std::make_error_condition(std::io_errc::stream);std::cout<<"error condition for io_errc::stream has value "<< ec.value()<<"\nand message\""<< ec.message()<<"\"\n";}
Output:
error condition for io_errc::stream has value 1and message "unspecified iostream_category error"
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2087 | C++11 | make_error_condition(io_errc) was not declarednoexcept | declarednoexcept |
(C++11) | holds a portable error code (class)[edit] |
(C++11) | the IO stream error codes (enum)[edit] |