Namespaces
Variants

std::contracts::detection_mode

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 は、顕在的に定数評価されない文脈で契約違反が発生する原因に対応しmanifestly constant-evaluated、その意味は以下の通りです:

列挙子 意味
predicate_false 契約違反は、述語の結果が false
evaluation_exception 契約違反は、述語の評価が例外によって終了するために発生する

注記

契約違反が明らかに定数評価される文脈で発生した場合、 contract-violation handler は呼び出されません。

関連項目

契約違反情報を保持する型
(クラス)
違反された契約表明の種類
(列挙型)
契約違反発生時の評価セマンティクス
(列挙型)