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 番目のコンストラクターは、エラー コード値としての val と error_category を指すポインターを格納します。
3 番目のコンストラクターは、エラー コード値としての (value_type)_Errcode
と generic_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)error
と generic_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
のシノニムです。