Skip to content

Latest commit

 

History

History
95 lines (73 loc) · 3.25 KB

File metadata and controls

95 lines (73 loc) · 3.25 KB

basic_ospanstream

  • spanstream[meta header]
  • std[meta namespace]
  • class template[meta id-type]
  • cpp23[meta cpp]
  • ospanstream,wospanstream[meta alias]
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>;
}
  • char_traits[link /reference/string/char_traits.md]
  • basic_ostream[link /reference/ostream/basic_ostream.md]

概要

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;
}
  • std::ospanstream[color ff0000]
  • std::span[link /reference/span/span.md]
  • span()[link /reference/spanstream/basic_ospanstream/span.md]
  • data()[link /reference/span/span/data.md]

出力

The answer is 42 and pi is approximately 3.14

バージョン

言語

  • C++23

処理系

参照