Класс error_category
Представляет абстрактный, общий базовый класс для объектов, который описывает категорию кодов ошибок.
Синтаксис
class error_category;
constexpr error_category() noexcept;
virtual ~error_category();
error_category(const error_category&) = delete
Замечания
error_category
реализуют два стандартных объекта: generic_category и system_category.
Участники
Определения типов
Имя | Описание |
---|---|
value_type | Тип, представляющий сохраняемое значение кода ошибки. |
Функции
Имя | Описание |
---|---|
default_error_condition | Сохраняет значение кода ошибки для объекта условия ошибки. |
equivalent | Возвращает значение, указывающее, эквивалентны ли объекты ошибок. |
generic_category | |
message | Возвращает имя указанного кода ошибки. |
name | Возвращает имя категории. |
system_category |
Операторы
Имя | Описание |
---|---|
operator= | Оператор присвоения. |
operator== | Проверяет равенство между объектами error_category . |
оператор!= | Проверяет неравенство между объектами error_category . |
operator< | Проверяет, меньше ли объект error_category переданного для сравнения объекта error_category . |
default_error_condition
Сохраняет значение кода ошибки для объекта условия ошибки.
virtual error_condition default_error_condition(int _Errval) const;
Параметры
_Errval
Значение кода ошибки для хранения в error_condition.
Возвращаемое значение
Возвращает error_condition(_Errval, *this)
.
Замечания
equivalent
Возвращает значение, указывающее, эквивалентны ли объекты ошибок.
virtual bool equivalent(value_type _Errval,
const error_condition& _Cond) const;
virtual bool equivalent(const error_code& _Code,
value_type _Errval) const;
Параметры
_Errval
Значение кода ошибки для сравнения.
_Cond
Объект error_condition для сравнения.
_Код
Объект error_code для сравнения.
Возвращаемое значение
true
, если категории и значения равны; в противном случае — false
.
Замечания
Первая функция-член возвращает значение *this == _Cond.category() && _Cond.value() == _Errval
.
Вторая функция-член возвращает значение *this == _Code.category() && _Code.value() == _Errval
.
generic_category
const error_category& generic_category();
message
Возвращает имя указанного кода ошибки.
virtual string message(error_code::value_type val) const = 0;
Параметры
Val
Значение кода ошибки для описания.
Возвращаемое значение
Возвращает описательное имя val кода ошибки для категории. Если код ошибки не распознан, возвращается "unknown error"
.
Замечания
name
Возвращает имя категории.
virtual const char *name() const = 0;
Возвращаемое значение
Возвращает имя категории как строку байтов, заканчивающуюся нулем.
operator=
error_category& operator=(const error_category&) = delete;
operator==
Проверяет равенство между объектами error_category
.
bool operator==(const error_category& right) const;
Параметры
right
Объект для проверки на равенство.
Возвращаемое значение
true
Значение , если объекты равны; false
Значение , если объекты не равны.
Замечания
Этот оператор-член возвращает this == &right
.
оператор!=
Проверяет неравенство между объектами error_category
.
bool operator!=(const error_category& right) const;
Параметры
right
Объект для проверки на неравенство.
Возвращаемое значение
true
error_category
Значение , если объект не равен объекту, переданному error_category
справа; в противном случае false
.
Замечания
Оператор-член возвращает (!*this == right)
.
operator<
Проверяет, меньше ли объект error_category переданного для сравнения объекта error_category
.
bool operator<(const error_category& right) const;
Параметры
right
Сравниваемый объект error_category
.
Возвращаемое значение
true
error_category
Значение , если объект меньше, чем объект, переданный error_category
для сравнения; false
В противном случае .
Замечания
Оператор-член возвращает this < &right
.
system_category
const error_category& system_category();
value_type
Тип, представляющий сохраняемое значение кода ошибки.
typedef int value_type;
Замечания
Это определение типа — синоним для int
.