Standard library header <contracts> (C++26)
From cppreference.com
This header is part of the language support library.
Types | ||
Defined in namespace std::contracts | ||
(C++26) | the kind of the contract assertion violated (enum) | |
(C++26) | the evaluation semantic when the contract violation occurs (enum) | |
(C++26) | the reason that causes the contract violation (enum) | |
(C++26) | the type holding the contract-violation information (class) | |
Functions | ||
Defined in namespace std::contracts | ||
invokes the default contract-violation handler (function) |
[edit]Synopsis
// all freestandingnamespace std::contracts{ enumclass assertion_kind :/* unspecified */{ pre =1, post =2, assert=3}; enumclass evaluation_semantic :/* unspecified */{ ignore =1, observe =2, enforce =3, quick_enforce =4}; enumclass detection_mode :/* unspecified */{ predicate_false =1, evaluation_exception =2}; // class contract_violationclass contract_violation; void invoke_default_contract_violation_handler(const contract_violation&);}
[edit]Class std::contracts::contract_violation
namespace std::contracts{class contract_violation {// no user−accessible constructorpublic: contract_violation(const contract_violation&)= delete; contract_violation& operator=(const contract_violation&)= delete;/* see description */ ~contract_violation();constchar* comment()constnoexcept; contracts::detection_mode detection_mode()constnoexcept; exception_ptr evaluation_exception()constnoexcept;bool is_terminating()constnoexcept; assertion_kind kind()constnoexcept; source_location location()constnoexcept; evaluation_semantic semantic()constnoexcept;};}