最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<system_error>

# std::generic_category(C++11)

    namespace std {
      const error_category& generic_category() noexcept;
    }

## 概要

汎用エラーに関する`error_category`を返す。

ここでの「汎用」とは、`<cerrno>`ヘッダで定義される環境依存しないエラー値、およびそれに対応する`std::errc`列挙値によるエラー情報を指す。

## 戻り値

`error_category`クラスを継承したクラスオブジェクトへの参照を返す。

この関数を呼び出すことによって返されるオブジェクトは、同じオブジェクトを指す。

この関数によって返されるオブジェクトのクラスは以下の特徴を持つ：

- `name()`関数によって返される文字列は`"generic"`
- `default_error_condition()`仮想関数および`equivalent()`仮想関数の挙動は、基底クラスである`error_category`と同じである

## 例外

投げない

## 例

    #include <iostream>
    #include <system_error>
    #include <string>

    int main()
    {
      const std::error_category& cat = std::generic_category();

      std::cout << cat.name() << std::endl;
      std::cout << cat.message(static_cast<int>(std::errc::invalid_argument)) << std::endl;
    }

### 出力

    generic
    Invalid argument

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.6.1 ✅
- ICC: ??
- Visual C++: 2010 ✅

## 参照