std::basic_osyncstream<CharT,Traits,Allocator>::basic_osyncstream
basic_osyncstream( streambuf_type* buf, const Allocator& a); | (1) | |
explicit basic_osyncstream( streambuf_type* buf ) : basic_osyncstream( buf, Allocator() ) {} | (2) | |
basic_osyncstream( std::basic_ostream<CharT, Traits>& os, const Allocator& a) : basic_osyncstream( os.rdbuf(), a) {} | (3) | |
explicit basic_osyncstream( std::basic_ostream<CharT, Traits>& os ) : basic_osyncstream( os, Allocator() ) {} | (4) | |
basic_osyncstream( std::basic_osyncstream&& other) noexcept; | (5) |
Constructs new synchronized output stream.
1-4) constructs the private member std::basic_syncbuf using the buffer and the allocator provided, and initializes the base class with a pointer to the member std::basic_streambuf.
5) Move constructor. Move-constructs the std::basic_ostream base and the std::basic_syncbuf member from the corresponding subobjects of
other
, then calls set_rdbuf
with the pointer to the newly-constructed underlying std::basic_syncbuf to complete the initialization of the base. After this move constructor, other.get_wrapped()
returns nullptr
and destruction of other
produces no output.Parameters
buf | - | pointer to the std::basic_streambuf that will be wrapped |
os | - | reference to a std::basic_ostream , whose rdbuf() will be wrapped |
a | - | the allocator to pass to the constructor of the member std::basic_syncbuf |
other | - | another osyncstream to move from |
Example
See also
constructs a basic_syncbuf object (public member function of std::basic_syncbuf<CharT,Traits,Allocator> ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/io/basic_osyncstream/basic_osyncstream