Skip to content

Latest commit

 

History

History
73 lines (58 loc) · 2.52 KB

ostreambuf_iterator.md

File metadata and controls

73 lines (58 loc) · 2.52 KB

ostreambuf_iterator

  • iterator[meta header]
  • std[meta namespace]
  • class template[meta id-type]
namespace std {
  template <class CharT, class Traits = char_traits<CharT> >
  class ostreambuf_iterator
    : public iterator<output_iterator_tag, void, void, void, void>
}
  • char_traits[link /reference/string/char_traits.md]
  • iterator[link /reference/iterator/iterator.md]
  • output_iterator_tag[link /reference/iterator/iterator_tag.md]

概要

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));
}
  • std::ostreambuf_iterator[color ff0000]

出力

Hello

関連項目