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 flushed
as 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]
|