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

履歴 編集

class
<charconv>

# std::from_chars_result(C++17)

    namespace std {
      struct from_chars_result {
        const char* ptr;
        errc ec;
      };
    }

## 概要

`from_chars`の戻り値となる変換の成否と追加情報を表現するクラス。

## メンバ変数

名前 | 説明 | 対応バージョン
--- | --- | ---
ptr | （指定したフォーマットの）パターンにマッチしない最初の入力文字の位置を指すか、入力文字列の先頭を指すポインタ。 | C++17
ec | 成功なら`ec == errc{}`、失敗ならば`errc::invalid_argument`を表す`errc`の値。 | C++17

## メンバ関数

### 成否判定

名前 | 説明 | 対応バージョン
--- | --- | ---
`operator bool` | 変換に成功したかを判定する | C++26

### 比較演算子

名前 | 説明 | 対応バージョン
--- | --- | ---
`friend bool operator==(const from_chars_result&, const from_chars_result&) = default;` | 等値比較を行う | C++20
`friend bool operator!=(const from_chars_result&, const from_chars_result&);` | 非等値比較を行う (`==`により使用可能) | C++20

詳細は`from_chars`の戻り値の項を参照のこと。

## バージョン

### 言語

- C++17

### 処理系

- Clang: 7.0 ✅
- GCC: 8.0 ✅
- Visual C++: 2017 update 7 ✅

## 関連項目

- `from_chars`

## 参照

- P0067R5: Elementary string conversions, revision 5
- P0682R1: Repairing elementary string conversions
- P1614R2 The Mothership has Landed
  - C++20での三方比較演算子の追加と、関連する演算子の自動導出