std::contracts::detection_mode - cppreference.com (original) (raw)

| | | | | -------------------------------------------------------------------------------------------------------- | | ------------- | | enum class detection_mode : /* unspecified */ { predicate_false = 1, evaluation_exception = 2 }; | | (since C++26) |

The enumerators of std::contracts::detection_mode correspond to the reasons that cause the contract violation to happen under a context that is not manifestly constant-evaluated, with meanings listed below:

Enumerator Meaning
predicate_false the contract violation occurs because the result of the predicate is false
evaluation_exception the contract violation occurs because the evaluation of the predicate exits via an exception

[edit] Notes

If a contract violation occurs in a context that is manifestly constant-evaluated, the contract-violation handler is not invoked.

[edit] See also