Standard library header <contracts> (C++26)
From cppreference.net
C++
Standard library headers
此头文件属于 语言支持 库的一部分。
类型 |
||
|
定义于命名空间
std::contracts
|
||
|
(C++26)
|
被违反的合约断言类型
(枚举) |
|
|
(C++26)
|
合约违反发生时的求值语义
(枚举) |
|
|
(C++26)
|
导致合约违反的原因
(枚举) |
|
|
(C++26)
|
保存合约违反信息的类型
(类) |
|
函数 |
||
|
定义于命名空间
std::contracts
|
||
|
调用默认合约违反处理程序
(函数) |
||
概要
// 所有独立实现 namespace std::contracts { enum class assertion_kind : /* 未指定 */ { pre = 1, post = 2, assert = 3 }; enum class evaluation_semantic : /* 未指定 */ { ignore = 1, observe = 2, enforce = 3, quick_enforce = 4 }; enum class detection_mode : /* 未指定 */ { predicate_false = 1, evaluation_exception = 2 }; // 类 contract_violation class contract_violation; void invoke_default_contract_violation_handler(const contract_violation&); }
类 std :: contracts :: contract_violation
namespace std::contracts { class contract_violation { // 无用户可访问构造函数 public: contract_violation(const contract_violation&) = delete; contract_violation& operator=(const contract_violation&) = delete; /* 详见描述 */ ~contract_violation(); const char* comment() const noexcept; contracts::detection_mode detection_mode() const noexcept; exception_ptr evaluation_exception() const noexcept; bool is_terminating() const noexcept; assertion_kind kind() const noexcept; source_location location() const noexcept; evaluation_semantic semantic() const noexcept; }; }