名前空間
変種
操作

std::contract_violation

提供: cppreference.com
< cpp‎ | error
 
 
 
 
ヘッダ <contract> で定義
class contract_violation;
(C++20およびそれ以降)

クラス contract_violation は契約違反に関する情報を記述します。 契約違反が検出されたときに C++ 処理系によって生成され、契約違反ハンドラに渡されます。

目次

[編集] メンバ関数

line_number
契約違反が発生した行番号を返します
(パブリックメンバ関数)
file_name
契約違反が発生したファイル名を返します
(パブリックメンバ関数)
function_name
契約違反が発生した関数名を返します
(パブリックメンバ関数)
comment
違反した契約の述語を記述する文字列を返します
(パブリックメンバ関数)
assertion_level
違反した契約のアサーションレベルを記述する文字列を返します
(パブリックメンバ関数)

std::contract_violation::line_number

std::uint_least32_t line_number() const noexcept;

契約違反が発生したソースコードの位置を返します。 不明な場合、処理系は代わりに 0 を返すかもしれません。

std::contract_violation::file_name

std::string_view file_name() const noexcept;

契約違反が発生したソースファイルの名前を返します。 不明な場合、処理系は代わりに空の string_view を返すかもしれません。

std::contract_violation::function_name

std::string_view function_name() const noexcept;

契約違反が発生した関数の名前を返します。 不明な場合、処理系は代わりに空の string_view を返すかもしれません。

std::contract_violation::comment

std::string_view comment() const noexcept;

違反した契約の述語を記述する処理系定義の文字列を返します。

std::contract_violation::assertion_level

std::string_view assertion_level() const noexcept;

違反した契約のアサーションレベルを記述する文字列を返します。