Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::ostream_iterator(3)      C++ Standard Libary     std::ostream_iterator(3)

NAME
       std::ostream_iterator - std::ostream_iterator

Synopsis
	  Defined in header <iterator>
	  template< class T,

	  class	CharT =	char,
	  class	       Traits	     =	      std::char_traits<CharT>	     >
       (until C++17)
	  class	ostream_iterator : public
	  std::iterator<std::output_iterator_tag,

	  void,	void, void, void>
	  template< class T,

	  class			CharT		      =			 char,
       (since C++17)
	  class	Traits = std::char_traits<CharT>>

	  class	ostream_iterator;

	  std::ostream_iterator	 is  a	single-pass  LegacyOutputIterator that
       writes successive
	  objects of type T into the std::basic_ostream	object	for  which  it
       was constructed,
	  using	operator<<. Optional delimiter string is written to the	output
       stream after
	  every	write operation. The write operation is	performed when the it-
       erator (whether
	  dereferenced	or  not)  is  assigned	to.  Incrementing the std::os-
       tream_iterator is a
	  no-op.

	  In a typical implementation,	the  only  data	 members  of  std::os-
       tream_iterator are a
	  pointer  to  the  associated std::basic_ostream and a	pointer	to the
       first character in
	  the delimiter	string.

	  When writing characters, std::ostreambuf_iterator is more efficient,
       since it	avoids
	  the overhead of constructing and destructing the sentry object  once
       per character.

Member types
	  Member type	    Definition
	  iterator_category std::output_iterator_tag
	  value_type	    void
	  difference_type   void	   (until C++20)
			    std::ptrdiff_t (since C++20)
	  pointer	    void
	  reference	    void
	  char_type	    CharT
	  traits_type	    Traits
	  ostream_type	    std::basic_ostream<CharT, Traits>

	  Member types iterator_category, value_type, difference_type, pointer
	  and  reference  are  required	 to  be	 obtained  by  inheriting from
       (until C++17)
	  std::iterator<std::output_iterator_tag, void,	void, void, void>.

Member functions
	  constructor	  constructs a new ostream_iterator
			  (public member function)
	  destructor	  destructs an ostream_iterator
			  (public member function)
	  operator=	  writes a object to the associated output sequence
			  (public member function)
	  operator*	  no-op
			  (public member function)
	  operator++	  no-op
	  operator++(int) (public member function)

Example
       // Run this code

	#include <iostream>
	#include <sstream>
	#include <iterator>
	#include <numeric>

	int main()
	{
	    std::istringstream str("0.1	0.2 0.3	0.4");
	    std::partial_sum(std::istream_iterator<double>(str),
			      std::istream_iterator<double>(),
			      std::ostream_iterator<double>(std::cout, ","));
	}

Output:
	0.1,0.3,0.6,1,

See also
					    output iterator that writes	to
	  ostreambuf_iterator		    std::basic_streambuf
					    (class template)
	  istream_iterator		    input  iterator  that  reads  from
       std::basic_istream
					    (class template)
					    An	output	iterator  that	writes
       successive elements
	  std::experimental::ostream_joiner into an output stream,  separating
       adjacent
	  (library fundamentals	TS v2)	    elements with a delimiter
					    (class template)

http://cppreference.com		  2022.07.31	      std::ostream_iterator(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ostream_iterator&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help