namespace std {
template <class T, class CharT = char, class Traits = char_traits<CharT> >
class ostream_iterator
: public iterator<output_iterator_tag, void, void, void, void>
}
概要
ostream_iterator
は出力イテレータであり、代入の際に外部から渡されたostream
オブジェクトにoperator<<()
で値を出力するイテレータアダプタである。
メンバ関数
名前 | 説明 | 対応バージョン |
---|---|---|
(constructor) |
コンストラクタ | |
~ostream_iterator() = default |
デストラクタ | |
operator= |
代入演算子 | |
operator* |
間接参照 | |
operator++ |
インクリメント |
メンバ型
名前 | 説明 | 対応バージョン |
---|---|---|
char_type |
CharT (デフォルトはchar ) |
|
traits_type |
Traits (デフォルトはchar_traits<CharT> ) |
|
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 <vector>
#include <algorithm>
int main()
{
const std::vector<int> v = {1, 2, 3};
// vの要素をイテレートしながらstd::coutに出力(区切り文字にカンマ)
std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, ","));
}
出力
1,2,3,