explicit basic_stringbuf(
ios_base::openmode which = ios_base::in | ios_base::out);
Effects: Создает объект класса basic_stringbuf, инициализируя базовый класс с помощью basic_streambuf() ([streambuf.cons]) и инициализируя mode с помощью which.
explicit basic_stringbuf(
const basic_string<charT, traits, Allocator>& s,
ios_base::openmode which = ios_base::in | ios_base::out);
Effects: Создает объект класса basic_stringbuf, инициализируя базовый класс с помощью basic_streambuf() ([streambuf.cons]) и инициализируя mode с помощью which. Потом звонит str(s).
basic_stringbuf(basic_stringbuf&& rhs);
Effects: Переместите конструкции из rvalue rhs. Это определяется реализация ли указатели последовательности в *this (eback(), gptr(), egptr(), pbase(), pptr(), epptr()) получить значение , которые rhs имели. Независимо от того, работают они или нет, *this и rhs ссылаются на отдельные буферы (если они вообще есть) после построения. Также копируются режим openmode, locale и любое другое состояние rhs .
Postconditions: Позвольте rhs_p ссылаться на состояние rhs непосредственно перед этой конструкцией и позвольте rhs_a ссылаться на состояние rhs сразу после этой конструкции.
str() == rhs_p.str()
gptr() - eback() == rhs_p.gptr() - rhs_p.eback()
egptr() - eback() == rhs_p.egptr() - rhs_p.eback()
pptr() - pbase() == rhs_p.pptr() - rhs_p.pbase()
epptr() - pbase() == rhs_p.epptr() - rhs_p.pbase()
if (eback()) eback() != rhs_a.eback()
if (gptr()) gptr() != rhs_a.gptr()
if (egptr()) egptr() != rhs_a.egptr()
if (pbase()) pbase() != rhs_a.pbase()
if (pptr()) pptr() != rhs_a.pptr()
if (epptr()) epptr() != rhs_a.epptr()