std::ostreambuf_iterator
提供: cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
| ヘッダ <iterator> で定義
|
||
template< class CharT, class Traits = std::char_traits<CharT> > class ostreambuf_iterator : public std::iterator<std::output_iterator_tag, void, void, void, void> |
(C++17未満) | |
template< class CharT, class Traits = std::char_traits<CharT> > class ostreambuf_iterator; |
(C++17以上) | |
std::ostreambuf_iterator は指定された std::basic_streambuf オブジェクトに連続する文字を書き込むシングルパスの LegacyOutputIterator です。 実際の書き込み操作はイテレータが (逆参照されたかどうかにかかわらず) 代入されたときに行われます。 std::ostreambuf_iterator のインクリメントは何もしません。
一般的な実装では、 std::ostreambuf_iterator のデータメンバは紐付けられた std::basic_streambuf へのポインタとファイル終端に達したことかどうかを示すブーリアンフラグだけです。
メンバ型
| メンバ型 | 定義 |
iterator_category
|
std::output_iterator_tag
|
value_type
|
void
|
difference_type
|
void
|
pointer
|
void
|
reference
|
void
|
char_type
|
CharT
|
traits_type
|
Traits
|
streambuf_type
|
std::basic_streambuf<CharT, Traits>
|
ostream_type
|
std::basic_ostream<CharT, Traits>
|
|
メンバ型 |
(C++17未満) |
メンバ関数
新しい ostreambuf_iterator を構築します (パブリックメンバ関数) | |
デストラクタ (暗黙に宣言) |
ostreambuf_iterator を破棄します (パブリックメンバ関数) |
| 紐付けられた出力ストリームに文字を書き込みます (パブリックメンバ関数) | |
| 何もしません (パブリックメンバ関数) | |
| 何もしません (パブリックメンバ関数) | |
| 出力が失敗したかどうか調べます (パブリックメンバ関数) |
例
Run this code
#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
int main()
{
std::string s = "This is an example\n";
std::copy(s.begin(), s.end(), std::ostreambuf_iterator<char>(std::cout));
}
出力:
This is an example
関連項目
| std::basic_streambuf から読み込む入力イテレータ (クラステンプレート) | |
| std::basic_ostream に書き込む出力イテレータ (クラステンプレート) |