最終更新日時:
が更新

履歴 編集

class template
<iterator>

std::ostreambuf_iterator

namespace std {
  template <class CharT, class Traits = char_traits<CharT> >
  class ostreambuf_iterator
    : public iterator<output_iterator_tag, void, void, void, void>
}

概要

ostreambuf_iteratorは出力イテレータであり、代入の際に外部から渡されたstreambufオブジェクトにストリームバッファのsputc()メンバ関数で値を出力するイテレータアダプタである。

ostream_iteratorがフォーマットされた出力を扱うのに対し、osteambuf_iteratorはフォーマットなしの生の出力を扱う。

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ
~ostream_iterator() = default デストラクタ
operator= 代入演算子
operator* 間接参照
operator++ インクリメント
failed 書き込みが失敗したかを判定する

メンバ型

名前 説明 対応バージョン
char_type CharT
traits_type Traits (デフォルトはchar_traits<CharT>)
streambuf_type basic_streambuf<CharT, Traits>
ostream_type basic_ostream<CharT, Traits>
difference_type void
pointer void
value_type void
iterator_category output_iterator_tag
reference void

#include <iostream>
#include <iterator>
#include <algorithm>
#include <string>

int main()
{
  const std::string s = "Hello";

  // 文字列"Hello"を標準出力に出力する
  std::copy(s.begin(), s.end(), std::ostreambuf_iterator<char>(std::cout));
}

出力

Hello

関連項目