最終更新日時(UTC):
が更新

履歴 編集

class
<contract>

std::contract_violation(C++23)

namespace std {
  class contract_violation {
  public:
    uint_least32_t line_number() const noexcept;
    string_view file_name() const noexcept;
    string_view function_name() const noexcept;
    string_view comment() const noexcept;
    string_view assertion_level() const noexcept;
  };
}

概要

contract_violationクラスは、発生した契約違反に関する情報を提供する。

契約違反が発生したとき、このクラスのオブジェクトが処理系定義の方法により構築され、違反ハンドラーに渡される。

違反ハンドラーはvoid(const std::contract_violation&) noexceptまたはvoid(const std::contract_violation&)の型を持つ関数であり、 処理系定義の方法によって指定される。

メンバ関数

名前 説明 対応バージョン
line_number 契約違反が発生したソースコード上の行番号 C++23
file_name 契約違反が発生したソースコードのファイル名 C++23
function_name 契約違反が発生した関数の名前 C++23
comment 契約違反の原因となった述語を説明する処理系定義のテキスト C++23
assertion_level 違反した契約のアサーションレベル C++23

(執筆中)

出力

(執筆中)

バージョン

言語

  • C++23

処理系

関連項目

参照