std::error_condition::error_condition

From cppreference.com
 
 
Utilities library
General utilities
Date and time
Function objects
Formatting library (C++20)
(C++11)
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)   
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Elementary string conversions
(C++17)
(C++17)
 
Diagnostics library
Exception handling
Exception handling failures
(until C++17*)
(until C++17*)
(C++11)(until C++17*)    
(until C++17*)
Error codes
Error codes
 
 
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.

Parameters

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

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

See also

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