最終更新日時(UTC):
が更新

履歴 編集

class template
<spanstream>

std::basic_ospanstream(C++23)

namespace std {
  template <class CharT,
            class Traits = char_traits<CharT> >
  class basic_ospanstream : public basic_ostream<CharT, Traits>;

  using ospanstream  = basic_ospanstream<char>;
  using wospanstream = basic_ospanstream<wchar_t>;
}

概要

std::basic_ospanstreamクラスは、std::span を使用した固定長ストリームバッファを出力先とする出力ストリームである。

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ C++23
operator= ムーブ代入 C++23
swap 値の交換 C++23
rdbuf ストリームバッファオブジェクトの設定・取得 C++23
span std::spanオブジェクトの設定・取得 C++23

非メンバ関数

名前 説明 対応バージョン
swap 2つのオブジェクトを入れ替える C++23

メンバ型

名前 説明 対応バージョン
char_type テンプレート仮引数CharT C++23
int_type Traits::int_type C++23
pos_type Traits::pos_type C++23
off_type Traits::off_type C++23
traits_type テンプレート仮引数Traits C++23

#include <iostream>
#include <span>
#include <spanstream>

int main()
{
  char buf[256] = {};
  std::span<char> span{buf};
  std::ospanstream oss(span);

  // 数値や文字列を書き込む
  oss << "The answer is " << 42 << " and pi is approximately " << 3.14;

  // 先頭から文字列出力
  const char* p = oss.span().data();
  std::cout << p << std::endl;
}

出力

The answer is 42 and pi is approximately 3.14

バージョン

言語

  • C++23

処理系

参照