std::ostream_iterator<T,CharT,Traits>::ostream_iterator

Constructs the iterator with stream as the associated stream, by storing the address of stream.

# Declarations

ostream_iterator( ostream_type& stream, const CharT* delim );
ostream_iterator( ostream_type& stream );

# Parameters

# Example

#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
 
int main()
{
    std::ostream_iterator<char> oo{std::cout};
    std::ostream_iterator<int> i1{std::cout, ", "};
    std::fill_n(i1, 5, -1);
    *oo++ = '\n';
 
    std::ostream_iterator<double> i2{std::cout, "; "};
    *i2++ = 3.14;
    *i2++ = 2.71;
    *oo++ = '\n';
 
    std::common_iterator<std::counted_iterator<std::ostream_iterator<float>>,
                         std::default_sentinel_t>
        first{std::counted_iterator{std::ostream_iterator<float>{std::cout," ~ "}, 5}},
        last{std::default_sentinel};
    std::iota(first, last, 2.2);
    *oo++ = '\n';
}

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
LWG 1280C++98stream was stored directlystores its address instead
P2325R3C++20default constructor was provided as C++20iterators must be default_initializableremoved along withthe requirement