std::basic_syncbuf::basic_syncbuf
From cppreference.com
< cpp | io | basic syncbuf
explicit basic_syncbuf( streambuf_type* obuf = nullptr ) : basic_syncbuf( obuf, Allocator() ) {} |
(1) | |
basic_syncbuf( streambuf_type* obuf, const Allocator& a); |
(2) | |
basic_syncbuf( basic_syncbuf&& rhs); |
(3) | |
1,2) Creates an instance of
std::basic_syncbuf
with emit-on-sync policy set to false, wrapped streambuffer set to obuf
, and using a
as the allocator for temporary storage. 3) Move constructor: move-constructs a
std::basic_syncbuf
object by moving all contents from another std::basic_syncbuf
object rhs
, including the temporary storage, the wrapped stream pointer, policy, and all other state (such as the mutex pointer). After move, rhs
is not associated with a stream, and rhs.get_wrapped()==nullptr. The put area member pointers of the base class std::basic_streambuf of rhs
are guaranteed to be null. Destroying a moved-from rhs
will not produce any output.Parameters
obuf | - | pointer to the std::basic_streambuf to wrap |
a | - | the allocator to use for temporary storage |
rhs | - | another std::basic_syncbuf to move from |
Exceptions
1,2) May throw std::bad_alloc from the constructor of the internal temporary storage or std::system_error from the mutex construction.
Notes
Typically called by the appropriate constructors of std::basic_osyncstream.
Example
This section is incomplete Reason: no example |
See also
[virtual] |
synchronizes the buffers with the associated character sequence (virtual protected member function of std::basic_streambuf ) |
atomically transmits the entire internal buffer to the wrapped streambuf (public member function) |