cpp/io/basic osyncstream/basic osyncstream: Difference between revisions
From cppreference.com
m link set_rdbuf |
m let's have a consistent terminlogy: syncbuf where output is held is "underlying", streambuf where output goes is "wrapped" |
||
| Line 25: | Line 25: | ||
@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. | @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 base | @5@ Move constructor. Move-constructs the base and the std::basic_syncbuf from the corresponding subobjects of {{tt|other}}, then calls {{ltt|cpp/io/basic_ios/set_rdbuf|set_rdbuf}} with the pointer to the newly-constructed std::basic_syncbuf to complete the initialization of the base. After this move constructor, {{c|other.get_wrapped()}} returns {{c|nullptr}} and destruction of {{tt|other}} produces no output. | ||
===Parameters=== | ===Parameters=== | ||
Revision as of 22:18, 26 December 2017
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
| This section is incomplete Reason: no example |
See also
constructs a basic_syncbuf object (public member function of std::basic_syncbuf<CharT,Traits,Allocator>)
|