18 Diagnostics library [diagnostics]

18.5 System error support [syserr]

18.5.3 Class error_­code [syserr.errcode]

18.5.3.2 Constructors [syserr.errcode.constructors]

error_code() noexcept;
Effects: Constructs an object of type error_­code.
Ensures: val_­ == 0 and cat_­ == &system_­category().
error_code(int val, const error_category& cat) noexcept;
Effects: Constructs an object of type error_­code.
Ensures: val_­ == val and cat_­ == &cat.
template<class ErrorCodeEnum> error_code(ErrorCodeEnum e) noexcept;
Effects: Constructs an object of type error_­code.
Ensures: *this == make_­error_­code(e).
Remarks: This constructor shall not participate in overload resolution unless
is_­error_­code_­enum_­v<ErrorCodeEnum> is true.