basic_streambuf(const basic_streambuf& rhs);
(2) (since C++11)
1) Constructs the basic_streambuf object, initializes the six pointer members (eback(), gptr(), egptr(), pbase(), pptr(), and epptr()) to null pointer values, and the locale member to std::locale(), a copy of the global C++ locale at the time of construction.
2) Constructs a copy of rhs, initializing the six pointers and the locale object with the copies of the values held by rhs. Note that this is a shallow copy: the pointers of the newly-constructed basic_streambuf are pointing into the same character array as the pointers of rhs.

Both constructors are protected, and are only called by the concrete streambuf classes, such as std::basic_filebuf, std::basic_stringbuf, or std::strstreambuf.


rhs - a streambuf object to copy


Until C++11, it was unspecified whether basic_streambuf or any of its derived classes is CopyConstructible (LWG issue 421), and different C++ library implementations provided different options.


See also

constructs a basic_filebuf object
(public member function of std::basic_filebuf)
constructs a basic_stringbuf object
(public member function of std::basic_stringbuf)
constructs a strstreambuf object
(public member function of std::strstreambuf)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.