Utilities library
General utilities
Date and time
Function objects
Formatting library (C++20)
Relational operators (deprecated in C++20)
Integer comparison functions
Swap and type operations
Common vocabulary types
Elementary string conversions
error_condition() noexcept;
(1) (since C++11)
error_condition( int val, const error_category& cat ) noexcept;
(2) (since C++11)
template< class ErrorConditionEnum >
error_condition( ErrorConditionEnum e ) noexcept;
(3) (since C++11)
error_condition( const error_condition& other ) = default;
(4) (since C++11)
(implicitly declared)
error_condition( error_condition&& other ) = default;
(5) (since C++11)
(implicitly declared)

Constructs new error condition.

1) Default constructor. Initializes the error condition with generic category and error code 0.
2) Initializes the error condition with error code val and error category cat.
3) Initializes the error condition with enum e. Effectively calls make_error_condition that is only found by argument-dependent lookup for e. This overload participates in overload resolution only if std::is_error_condition_enum<ErrorConditionEnum>::value is true.
4,5) Implicitly defined copy constructor and move constructor. Initializes the error condition with the contents of the other.

[edit] Parameters

other - another error condition to initialize with
val - error code
cat - error category
e - error condition enum

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 3629 C++11 only std::make_error_condition overloads were used ADL-found overloads are used

[edit] See also

constructs an std::errc error condition
(function) [edit]
constructs an iostream error code
(function) [edit]
constructs a future error_condition
(function) [edit]