error_condition クラス

ユーザー定義のエラー コードを表します。

構文

class error_condition;

解説

error_condition 型のオブジェクトは、エラー コード値を格納するほか、レポートされたユーザー定義のエラーに使用されるエラー コードのカテゴリを表すオブジェクトを指すポインターも格納します。

メンバー

コンストラクター

名前 説明
error_condition error_condition 型のオブジェクトを構築します。

Typedefs

名前 説明
value_type 格納されたエラー コード値を表す型。

関数

名前 説明
assign エラー コード値とカテゴリをエラー条件に割り当てます。
category エラー カテゴリを返します。
clear エラー コード値とカテゴリをクリアします。
message エラー コードの名前を返します。

演算子

名前 説明
operator== error_condition オブジェクト間の同等性をテストします。
operator!= error_condition オブジェクト間の不等性をテストします。
operator< error_condition オブジェクトが比較のために渡される error_code オブジェクトより小さいかどうかをテストします。
operator= error_condition オブジェクトに新しい列挙値を代入します。
operator bool error_condition 型の変数をキャストします。

割り当て

エラー コード値とカテゴリをエラー条件に割り当てます。

void assign(value_type val, const error_category& _Cat);

パラメーター

val
error_code に格納するエラー コード値。

_Cat
error_code に格納するエラー カテゴリ。

解説

このメンバー関数は、エラー コード値としての val_Cat を指すポインターを格納します。

category

エラー カテゴリを返します。

const error_category& category() const;

戻り値

格納されたエラー カテゴリへの参照

解説

clear

エラー コード値とカテゴリをクリアします。

clear();

解説

このメンバー関数はゼロ エラー コード値と generic_category を指すポインターを格納します。

error_condition

error_condition 型のオブジェクトを構築します。

error_condition();

error_condition(value_type val, const error_category& _Cat);

template <class _Enum>
error_condition(_Enum _Errcode,
    typename enable_if<is_error_condition_enum<_Enum>::value,
    error_code>::type* = 0);

パラメーター

val
error_condition に格納するエラー コード値。

_Cat
error_condition に格納するエラー カテゴリ。

_Errcode
error_condition に格納する列挙値。

解説

最初のコンストラクターはゼロ エラー コード値と generic_category を指すポインターを格納します。

2 番目のコンストラクターは、エラー コード値としての valerror_category を指すポインターを格納します。

3 番目のコンストラクターは、エラー コード値としての (value_type)_Errcodegeneric_category を指すポインターを格納します。

メッセージ

エラー コードの名前を返します。

string message() const;

戻り値

エラー コードの名前を表す string

解説

このメンバー関数は category().message(value()) を返します。

operator==

error_condition オブジェクト間の同等性をテストします。

bool operator==(const error_condition& right) const;

パラメーター

right
等しいかどうかをテストするオブジェクト。

戻り値

オブジェクトが等しい場合は true、オブジェクトが等しくない場合は false

解説

このメンバー演算子は、 category() == right.category() && value == right.value()を返します。

operator!=

error_condition オブジェクト間の不等性をテストします。

bool operator!=(const error_condition& right) const;

パラメーター

right
不等性をテストするオブジェクト。

戻り値

error_condition オブジェクトが、right に渡される error_condition オブジェクトに等しくない場合は true。それ以外の場合は false

解説

このメンバー演算子は、 !(*this == right)を返します。

operator<

error_condition オブジェクトが比較のために渡される error_code オブジェクトより小さいかどうかをテストします。

bool operator<(const error_condition& right) const;

パラメーター

right
比較される error_condition オブジェクト。

戻り値

error_condition オブジェクトが、比較対象として渡された error_condition オブジェクトより小さい場合は true。それ以外の場合は false

解説

このメンバー演算子は、 category() < right.category() || category() == right.category() && value < right.value()を返します。

operator=

error_condition オブジェクトに新しい列挙値を代入します。

template <class _Enum>
error_condition(_Enum error,
    typename enable_if<is_error_condition_enum<_Enum>::value,
    error_condition>::type&
    operator=(Enum _Errcode);

パラメーター

_Errcode
error_condition オブジェクトに代入する列挙値。

戻り値

メンバー関数によって新しい列挙値が代入される error_condition オブジェクトへの参照。

解説

このメンバー演算子は、エラー コード値としての (value_type)errorgeneric_category を指すポインターを格納します。 *this を返します。

operator bool

error_condition 型の変数をキャストします。

explicit operator bool() const;

戻り値

error_condition オブジェクトのブール値。

解説

この演算子は、が 0 と等しくない場合に限り、true に変換できる値が返されます。 戻り値の型は、void * またはその他の既知のスカラー型ではなく、bool 型にのみ変換可能です。

格納されたエラー コード値を返します。

value_type value() const;

戻り値

value_type 型の格納されたエラー コード値。

解説

value_type

格納されたエラー コード値を表す型。

typedef int value_type;

解説

この型定義は int のシノニムです。