Input/output library 
 Buffers
 Streams
 Abstractions
 File I/O
 String I/O
 Array I/O
 Synchronized Output
 Types
 Error category interface
   
 
The class template std::basic_osyncstream is a convenience wrapper for std::basic_syncbuf. It provides a mechanism to synchronize threads writing to the same stream.
It can be used with a named variable:
{
 std::osyncstream synced_out(std::cout ); // synchronized wrapper for std::cout
 synced_out << "Hello, ";
 synced_out << "World!";
 synced_out << std::endl ; // flush is noted, but not yet performed
 synced_out << "and more!\n";
} // characters are transferred and std::cout is flushedas well as with a temporary:
std::osyncstream(std::cout ) << "Hello, " << "World!" << '\n';
It provides the guarantee that all output made to the same final destination buffer (std::cout  in the examples above) will be free of data races and will not be interleaved or garbled in any way, as long as every write to that final destination buffer is made through (possibly different) instances of std::basic_osyncstream.
Typical implementation of std::basic_osyncstream holds only one member: the wrapped std::basic_syncbuf.
std-basic osyncstream-inheritance.svg
 
Several typedefs for common character types are provided:
 Type
 Definition
 std::osyncstream
 std::basic_osyncstream<char>
 std::wosyncstream
 std::basic_osyncstream<wchar_t>
[edit] Member types
 Member type
 Definition
 traits_type
 Traits; the program is ill-formed if 
Traits::char_type is not 
CharT.
[edit] 
 
 int_type
 Traits::int_type[edit] 
 
 pos_type
 Traits::pos_type[edit] 
 
 off_type
 Traits::off_type[edit] 
 
 allocator_type
 Allocator
[edit] Member functions
 
 constructs a 
basic_osyncstream object  
(public member function) [edit] 
 
 
 assigns a 
basic_osyncstream object  
(public member function) [edit] 
 
 
 destroys the 
basic_osyncstream and emits its internal buffer  
(public member function) [edit] 
 
 
 obtains a pointer to the underlying 
basic_syncbuf  (public member function) [edit] 
 
 
 obtains a pointer to the final destination stream buffer  
(public member function) [edit] 
 
 
 calls 
emit() on the underlying 
basic_syncbuf to transmit its internal data to the final destination  
(public member function) [edit] 
 
 Member functions
 
  Formatted output 
 
 inserts formatted data  
(public member function of std::basic_ostream<CharT,Traits>) [edit] 
 
 
  Unformatted output 
 
 inserts a character  
(public member function of std::basic_ostream<CharT,Traits>) [edit] 
 
 
 inserts blocks of characters  
(public member function of std::basic_ostream<CharT,Traits>) [edit] 
 
 
  Positioning 
 
 returns the output position indicator  
(public member function of std::basic_ostream<CharT,Traits>) [edit] 
 
 
 sets the output position indicator  
(public member function of std::basic_ostream<CharT,Traits>) [edit] 
 
 
  Miscellaneous 
 
 synchronizes with the underlying storage device  
(public member function of std::basic_ostream<CharT,Traits>) [edit] 
 
 Member classes
 
 implements basic logic for preparation of the stream for output operations  
(public member class of std::basic_ostream<CharT,Traits>) [edit] 
 
 
 Member types
 Member type
 Definition
 char_type
 CharT
 traits_type
 Traits
 int_type
 Traits::int_type
 pos_type
 Traits::pos_type
 off_type
 Traits::off_type
 Member functions
 
  State functions 
 
 checks if no error has occurred i.e. I/O operations are available  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 checks if end-of-file has been reached  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 checks if an error has occurred  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 checks if a non-recoverable error has occurred  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 checks if an error has occurred (synonym of 
fail() )  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 checks if no error has occurred (synonym of 
!fail() )  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 returns state flags  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 sets state flags  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 modifies state flags  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
  Formatting 
 
 copies formatting information  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 manages the fill character  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
  Miscellaneous 
 
 manages exception mask  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 sets the locale  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 manages associated stream buffer  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 manages tied stream  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 narrows characters  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 widens characters  
(public member function of std::basic_ios<CharT,Traits>) [edit] 
 
 
 Member functions
 
  Formatting 
 
 manages format flags  
(public member function of std::ios_base) [edit] 
 
 
 sets specific format flag  
(public member function of std::ios_base) [edit] 
 
 
 clears specific format flag  
(public member function of std::ios_base) [edit] 
 
 
 manages decimal precision of floating point operations  
(public member function of std::ios_base) [edit] 
 
 
 manages field width  
(public member function of std::ios_base) [edit] 
 
 
  Locales 
 
 sets locale  
(public member function of std::ios_base) [edit] 
 
 
 returns current locale  
(public member function of std::ios_base) [edit] 
 
 
  Internal extensible array 
 
 returns a program-wide unique integer that is safe to use as index to 
pword() and 
iword()  (public static member function of std::ios_base) [edit] 
 
 
 resizes the private storage if necessary and access to the 
long element at the given index  
(public member function of std::ios_base) [edit] 
 
 
 resizes the private storage if necessary and access to the 
void* element at the given index  
(public member function of std::ios_base) [edit] 
 
 
  Miscellaneous 
 
 registers event callback function  
(public member function of std::ios_base) [edit] 
 
 
 sets whether C++ and C I/O libraries are interoperable  
(public static member function of std::ios_base) [edit] 
 
 
  Member classes 
 
 stream exception  
(public member class of std::ios_base) [edit] 
 
 
 initializes standard stream objects  
(public member class of std::ios_base) [edit] 
 
 
 Member types and constants
 Type
 Explanation
 
 stream open mode type
The following constants are also defined:
 app
 seek to the end of stream before each write
[edit] 
 
 trunc
 discard the contents of the stream when opening
[edit] 
 
 ate
 seek to the end of stream immediately after open
[edit] 
 
  (typedef) [edit] 
|  | formatting flags type The following constants are also defined:
  fixed
 generate floating point types using fixed notation, or hex notation if combined with scientific : see std::fixed [edit]  showbase
 generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: see std::showbase [edit] (typedef) [edit]
 | 
|  | state of the stream type The following constants are also defined:
  failbit
 input/output operation failed (formatting or extraction error)[edit]  eofbit
 associated input sequence has reached end-of-file[edit] (typedef) [edit]
 | 
|  | seeking direction type The following constants are also defined:
  cur
 the current position of stream position indicator[edit] (typedef) [edit]
 | 
|  | specifies event type (enum) [edit]
 | 
|  | callback function type (typedef) [edit]
 |