std::error_code::error_code
From cppreference.com
                    
                                        
                    < cpp | error | error code
                    
                                                            
                    | error_code(); | (1) | (since C++11) | 
| error_code( int ec, const error_category& ecat ); | (2) | (since C++11) | 
| template< class ErrorCodeEnum > error_code( ErrorCodeEnum e ); | (3) | (since C++11) | 
Constructs new error code.
1) Constructs error code with default value. Equivalent to error_code(0, std::system_category()).
2) Constructs error code with 
ec as the platform-dependent error code and ecat as the corresponding error category.
3) Constructs error code from an error code enum 
e. Equivalent to *this = std::make_error_code(e). The overload participates in overload resolutions only if std::is_error_code_enum<ErrorCodeEnum>::value == true.[edit] Parameters
| ec | - | platform dependent error code to construct with | 
| ecat | - | error category corresponding to ec | 
| e | - | error code enum to construct with | 
[edit] Exceptions
noexcept specification:  
noexcept