void assign(int val, const error_category& cat) noexcept;
Postconditions: val_ == val and
cat_ == &cat. template<class ErrorCodeEnum>
error_code& operator=(ErrorCodeEnum e) noexcept;
Constraints: is_error_code_enum_v<ErrorCodeEnum> is
true. Postconditions: *this == make_error_code(e). Postconditions: value() == 0 and
category() == system_category().