22 Diagnostics library [diagnostics]

22.5 System error support [syserr]

22.5.2 Class error_­category [syserr.errcat]

22.5.2.5 Error category objects [syserr.errcat.objects]

const error_category& generic_category() noexcept;

Returns: Ссылка на объект типа, производного от класса error_­category. Все вызовы этой функции должны возвращать ссылки на один и тот же объект.

Remarks: Объектные default_­error_­condition и equivalent виртуальные функции должны вести себя, как указано для класса error_­category. name Виртуальная функция объекта должна возвращать указатель на строку "generic".

const error_category& system_category() noexcept;

Returns: Ссылка на объект типа, производного от класса error_­category. Все вызовы этой функции должны возвращать ссылки на один и тот же объект.

Remarks: equivalent Виртуальные функции объекта должны вести себя, как указано для класса error_­category. name Виртуальная функция объекта должна возвращать указатель на строку "system". default_­error_­condition Виртуальная функция объекта должна вести себя следующим образом:

Если аргумент ev соответствует errno значению POSIX posv, функция должна вернуться error_­condition(posv, generic_­category()). В противном случае функция вернется error_­condition(ev, system_­category()). Что составляет соответствие для той или иной операционной системы, не определено. [ Note: Количество кодов потенциальных системных ошибок велико и неограниченно, и некоторые из них могут не соответствовать какому-либо errno значению POSIX . Таким образом, реализациям предоставляется свобода в определении соответствия. ] end note