home | help
std::ostrea...eam_iterator(3)  C++ Standard Libary std::ostrea...eam_iterator(3)

NAME
     std::ostream_iterator::ostream_iterator	 -    std::ostream_iterator::os-
     tream_iterator

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

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

	1) Uses delim as the delimiter.
	2) Uses a null pointer as the delimiter.

Parameters
	stream - the output stream to be accessed by this iterator
	delim  - the null-terminated character string to be  inserted  into  the
     stream after
		 each output

Example
     // Run this code

      #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_itera-
     tor<float>>,
			       std::default_sentinel_t>
	      first{std::counted_iterator{std::ostream_itera-
     tor<float>{std::cout," ~ "}, 5}},
	      last{std::default_sentinel};
	  std::iota(first, last, 2.2);
	  *oo++ = '\n';
      }

Output:
      -1, -1, -1, -1, -1,
      3.14; 2.71;
      2.2 ~ 3.2 ~ 4.2 ~ 5.2 ~ 6.2 ~

	Defect reports

	The  following	behavior-changing  defect  reports were applied retroac-
     tively to
	previously published C++ standards.

	   DR	 Applied to	     Behavior as published		 Correct
     behavior
	LWG  1280 C++98      stream was stored directly 	      stores its
     address
								     instead
			    default constructor  was  provided	as	 removed
     along with
	P2325R3   C++20       C++20					the  re-
     quirement
			    iterators must be default_initializable

http://cppreference.com 	   2024.06.10	   std::ostrea...eam_iterator(3)

home | help