Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 1.29 KB

File metadata and controls

47 lines (38 loc) · 1.29 KB

evaluation_semantic

  • contracts[meta header]
  • std::contracts[meta namespace]
  • enum[meta id-type]
  • cpp26[meta cpp]
namespace std::contracts {
  enum class evaluation_semantic : unspecified {
    ignore = 1,
    observe = 2,
    enforce = 3,
    quick_enforce = 4 // ,
    // assume = 5 <-- 将来追加予定
  };
}

概要

契約違反をどのように評価するかを表す列挙型。

これの他に、処理系定義のものを定めてもよい。

列挙子

列挙子 説明
ignore 1 述語を評価しない
observe 2 述語を評価し、違反時にハンドラを呼ぶが、実行を継続する
enforce 3 述語を評価し、違反時にハンドラを呼び、その後プログラムを終了する
quick_enforce 4 述語を評価し、違反時にハンドラを呼ばずにプログラムを終了する

バージョン

言語

  • C++26

処理系

関連項目

参照