最終更新日時: 2026年01月08日 20時16分38秒 (JST)
yoh が更新

履歴 編集

enum
<regex>

# std::regex_constants::error_type(C++11)

    namespace std {
    namespace regex_constants {
      using error_type = implementation-defined;

      // C++11
      constexpr error_type error_collate = unspecified;
      constexpr error_type error_ctype = unspecified;
      constexpr error_type error_escape = unspecified;
      constexpr error_type error_backref = unspecified;
      constexpr error_type error_brack = unspecified;
      constexpr error_type error_paren = unspecified;
      constexpr error_type error_brace = unspecified;
      constexpr error_type error_badbrace = unspecified;
      constexpr error_type error_range = unspecified;
      constexpr error_type error_space = unspecified;
      constexpr error_type error_badrepeat = unspecified;
      constexpr error_type error_complexity = unspecified;
      constexpr error_type error_stack = unspecified;

      //C++17
      inline constexpr error_type error_collate = unspecified;
      inline constexpr error_type error_ctype = unspecified;
      inline constexpr error_type error_escape = unspecified;
      inline constexpr error_type error_backref = unspecified;
      inline constexpr error_type error_brack = unspecified;
      inline constexpr error_type error_paren = unspecified;
      inline constexpr error_type error_brace = unspecified;
      inline constexpr error_type error_badbrace = unspecified;
      inline constexpr error_type error_range = unspecified;
      inline constexpr error_type error_space = unspecified;
      inline constexpr error_type error_badrepeat = unspecified;
      inline constexpr error_type error_complexity = unspecified;
      inline constexpr error_type error_stack = unspecified;
    }}

## 概要

正規表現のエラーを表す実装定義の列挙型。

名前 | 説明 | 対応バージョン
--- | --- | ---
`error_collate` | 式に、不正な照合要素名が含まれている | C++11
`error_ctype` | 式に、不正な文字クラス名が含まれている | C++11
`error_escape` | 式に、不正なエスケープ文字もしくは不正な後方エスケープ(trailing escape)が含まれている | C++11
`error_backref` | 式に、不正な後方参照が含まれている。backrefはback reference(後方参照)の略称 | C++11
`error_brack` | 式に、対応していない角カッコ`[ ]`が含まれている。brackはbracket(角カッコ)の略称 | C++11
`error_paren` | 式に、対応していない丸カッコ`( )`が含まれている。parenはparenthesis(丸カッコ)の略称 | C++11
`error_brace` | 式に、対応していない波カッコ`{ }`が含まれている | C++11
`error_badbrace` | 式に、不正な範囲が設定された波カッコ`{ }`が含まれている | C++11
`error_range` | 式に、不正な文字範囲が含まれている。多くのエンコーディングでは、`[b-a]`のようなものが不正な文字範囲となる。 | C++11
`error_space` | メモリ不足のため、式を有限状態マシンに変換できない | C++11
`error_badrepeat` | 有効な正規表現において、繰り返し`*?+{`が処理されなかった | C++11
`error_complexity` | 式の複雑さが、事前に設定したレベルを超えている | C++11
`error_stack` | メモリ不足のため、正規表現が指定されたシーケンスにマッチするかどうかを判断できない | C++11

## バージョン

### 言語

- C++11

### 処理系

- Clang: 3.0 ✅, 3.1 ✅, 3.2 ✅, 3.3 ✅, 3.4 ✅, 3.5 ✅, 3.6 ✅
- GCC: 4.9.0 ✅, 4.9.1 ✅, 4.9.2 ✅, 5.0.0 ✅
- ICC: ??
- Visual C++: ??

## 参照

- LWG Issue 2053. Errors in regex bitmask types
  - 定数定義に不要な`static`が付いていたため、C++14で削除