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 : /* unspecified */ { pre = 1, post = 2, assert = 3 }; enum class evaluation_semantic : /* unspecified */ { ignore = 1, observe = 2, enforce = 3, quick_enforce = 4 }; enum class detection_mode : /* unspecified */ { 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; }; }