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

履歴 編集

class
<charconv>

# std::to_chars_result(C++17)

    namespace std {
      struct to_chars_result {
        char* ptr;
        errc ec;
      };
    }

## 概要

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

## メンバ変数

名前 | 説明 | 対応バージョン
--- | --- | ---
ptr | 成功した場合、書き込まれた最後の文字の次の位置を指すポインタ。 | C++17
ec | 成功なら`ec == errc{}`、失敗ならば`errc::value_too_large`を表す`errc`の値。 | C++17

## メンバ関数

### 成否判定

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

### 比較演算子

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

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

## バージョン

### 言語

- C++17

### 処理系

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

## 関連項目

- `to_chars`

## 参照

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