void assign(int val, const error_category& cat) noexcept;
template<class ErrorCodeEnum> error_code& operator=(ErrorCodeEnum e) noexcept;
void clear() noexcept;