Namespaces
Variants

std::contracts::detection_mode

Из ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (основные типы, RTTI)
Макросы тестирования возможностей библиотеки (C++20)
Утилиты программы
Вариативные функции
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношения (устарело в C++20)
 
Поддержка контрактов
Информация о нарушении контракта
Вспомогательные функции
 
Определено в заголовке <contracts>
enum class detection_mode : /* unspecified */ {
    predicate_false = 1,
    evaluation_exception = 2
};
(начиная с C++26)

Перечислители std::contracts::detection_mode соответствуют причинам, по которым нарушение контракта происходит в контексте, который не является явно константно-вычисляемым, со значениями, перечисленными ниже:

Перечислитель Значение
predicate_false нарушение контракта происходит, потому что результат предиката равен false
evaluation_exception нарушение контракта происходит, потому что вычисление предиката завершилось через исключение

Примечания

Если нарушение контракта происходит в контексте, который является явно константно-вычисляемым, обработчик нарушения контракта не вызывается.

Смотрите также

тип, содержащий информацию о нарушении контракта
(класс)
тип нарушенного контрактного утверждения
(перечисление)
семантика вычисления при возникновении нарушения контракта
(перечисление)