19 Diagnostics library [diagnostics]

19.5 System error support [syserr]

19.5.4 Class error_­code [syserr.errcode]

19.5.4.2 Constructors [syserr.errcode.constructors]

error_code() noexcept;
Effects: Initializes val_­ with 0 and cat_­ with &system_­category().
error_code(int val, const error_category& cat) noexcept;
Effects: Initializes val_­ with val and cat_­ with &cat.
template<class ErrorCodeEnum> error_code(ErrorCodeEnum e) noexcept;
Constraints: is_­error_­code_­enum_­v<ErrorCodeEnum> is true.
Effects: Equivalent to: error_code ec = make_error_code(e); assign(ec.value(), ec.category());