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

NAME
     std::ostreambuf_iterator - std::ostreambuf_iterator

Synopsis
	Defined in header <iterator>
	template< class CharT, class Traits = std::char_traits<CharT> >

	class						     ostreambuf_iterator
     (until C++17)

	    : public std::iterator<std::output_iterator_tag, void, void,
	void, void>
	template<  class  CharT,  class  Traits  =   std::char_traits<CharT>   >
     (since C++17)
	class ostreambuf_iterator;

	std::ostreambuf_iterator  is  a  single-pass  LegacyOutputIterator  that
     writes
	successive characters into the std::basic_streambuf object for which  it
     was
	constructed.  The  actual write operation is performed when the iterator
     (whether
	dereferenced or not) is  assigned  to.	Incrementing  the  std::ostream-
     buf_iterator is a
	no-op.

	In  a  typical	implementation,  the  only data members of std::ostream-
     buf_iterator are a
	pointer to the associated std::basic_streambuf and a boolean flag  indi-
     cating if the
	end of file condition has been reached.

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
	streambuf_type	  std::basic_streambuf<CharT, 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 ostreambuf_iterator
			      (public member function)
	destructor	      destructs an ostreambuf_iterator
	(implicitly declared) (public member function)
	operator=	      writes a character to the  associated  output  se-
     quence
			      (public member function)
	operator*	      no-op
			      (public member function)
	operator++	      no-op
	operator++(int)       (public member function)
	failed		      tests if output failed
			      (public member function)

Example
     // Run this code

      #include <algorithm>
      #include <iostream>
      #include <iterator>
      #include <string>

      int main()
      {
	  std::string s = "This is an example\n";
	  std::copy(s.begin(),		s.end(),	  std::ostreambuf_itera-
     tor<char>(std::cout));
      }

Output:
      This is an example

See also
	istreambuf_iterator input iterator that reads from std::basic_streambuf
			    (class template)
	ostream_iterator    output iterator that writes to std::basic_ostream
			    (class template)

http://cppreference.com 	   2024.06.10	     std::ostreambuf_iterator(3)

home | help