Files
2025-10-25 03:02:53 +03:00

2.1 KiB

[syserr.errcat.overview]

19 Diagnostics library [diagnostics]

19.5 System error support [syserr]

19.5.3 Class error_category [syserr.errcat]

19.5.3.1 Overview [syserr.errcat.overview]

1

#

The class error_category serves as a base class for types used to identify the source and encoding of a particular category of error code.

Classes may be derived from error_category to support categories of errors in addition to those defined in this document.

Such classes shall behave as specified in subclause [syserr.errcat].

[Note 1:

error_category objects are passed by reference, and two such objects are equal if they have the same address.

If there is more than a single object of a custom error_category type, such equality comparisons can evaluate to false even for objects holding the same value.

— end note]

🔗

namespace std {class error_category {public:constexpr error_category() noexcept; virtual ~error_category(); error_category(const error_category&) = delete; error_category& operator=(const error_category&) = delete; virtual const char* name() const noexcept = 0; virtual error_condition default_error_condition(int ev) const noexcept; virtual bool equivalent(int code, const error_condition& condition) const noexcept; virtual bool equivalent(const error_code& code, int condition) const noexcept; virtual string message(int ev) const = 0; bool operator==(const error_category& rhs) const noexcept; strong_ordering operator<=>(const error_category& rhs) const noexcept; }; const error_category& generic_category() noexcept; const error_category& system_category() noexcept;}