GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::ostream_iterator(3) C++ Standard Libary std::ostream_iterator(3)

std::ostream_iterator - std::ostream_iterator


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 iterator (whether
dereferenced or not) is assigned to. Incrementing the std::ostream_iterator is a
no-op.


In a typical implementation, the only data members of std::ostream_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 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>.


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)

// 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, ","));
}


0.1,0.3,0.6,1,


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)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.