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().