最終更新日時: 2025年08月11日 15時35分16秒 (JST)
suomesta が更新

履歴 編集

<spanstream>

# spanstream(C++23)

`<spanstream>`ヘッダでは、`std::span` を出力先・入力元として使用するストリームクラスを定義する。

固定長バッファを使うことができるストリームとして、古くから `std::strstream` があるが、`std::strstream` は非推奨のライブラリであった。 C++20 で `std::span` が導入されたことに伴い、`std::span` を使用した固定長バッファストリームクラスが新たに追加された。 （これにより、`<strstream>` ライブラリはC++26で削除された。）

## ストリームバッファ

名前 | 説明 | 対応バージョン
--- | --- | ---
`basic_spanbuf` | 固定長ストリームバッファ(class template) | C++23
`spanbuf` | `char`版の固定長ストリームバッファ(type-alias) | C++23
`wspanbuf` | `wchar_t`版の固定長ストリームバッファ(type-alias) | C++23

## 入力ストリーム

名前 | 説明 | 対応バージョン
--- | --- | ---
`basic_ispanstream` | 固定長バッファ入力ストリーム(class template) | C++23
`ispanstream` | `char`版の固定長バッファ入力ストリーム(type-alias) | C++23
`wispanstream` | `wchar_t`版の固定長バッファ入力ストリーム(type-alias) | C++23

## 出力ストリーム

名前 | 説明 | 対応バージョン
--- | --- | ---
`basic_ospanstream` | 固定長バッファ出力ストリーム(class template) | C++23
`ospanstream` | `char`版の固定長バッファ出力ストリーム(type-alias) | C++23
`wospanstream` | `wchar_t`版の固定長バッファ出力ストリーム(type-alias) | C++23

## 入出力ストリーム

名前 | 説明 | 対応バージョン
--- | --- | ---
`basic_spanstream` | 固定長バッファ入出力ストリーム(class template) | C++23
`spanstream` | `char`版の固定長バッファ入出力ストリーム(type-alias) | C++23
`wspanstream` | `wchar_t`版の固定長バッファ入出力ストリーム(type-alias) | C++23

## バージョン

### 言語

- C++23

## 参照

- P0448R4 A strstream replacement using span<charT> as buffer