basic_string<charT, traits, Allocator> str() const;
Returns: basic_string Объект, содержание которого равна basic_stringbuf базовой последовательности символов. Если basic_stringbuf был создан только в режиме ввода, результат будет basic_string содержать последовательность символов в диапазоне [eback(), egptr()). Если basic_stringbuf был создан с which & ios_base::out ненулевым значением, то результат basic_string содержит последовательность символов в диапазоне [pbase(), high_mark), где high_mark представляет позицию после самого высокого инициализированного символа в буфере. Символы можно инициализировать путем записи в поток, создания с basic_stringbuf помощью a basic_stringили вызова str(basic_string) функции-члена. В случае вызова str(basic_string) функции-члена все символы, инициализированные до вызова, теперь считаются неинициализированными (за исключением тех символов, которые повторно инициализированы новым basic_string). В противном случае basic_stringbuf объект не был создан ни в режиме ввода, ни в режиме вывода, и basic_string возвращается нулевая длина .
void str(const basic_string<charT, traits, Allocator>& s);
Effects: Копирует содержимое s в basic_stringbuf базовую последовательность символов и инициализирует входные и выходные последовательности в соответствии с mode.
Postconditions: Если mode & ios_base::out не ноль, pbase() указывает на первый базовый символ и epptr() >= pbase() + s.size() удерживается; кроме того, если не mode & ios_base::ate равно нулю, то pptr() == pbase() + s.size() имеет место, иначе pptr() == pbase() - нет true. Если не mode & ios_base::in равно нулю, eback() указывает на первый базовый символ, и оба gptr() == eback() и egptr() == eback() + s.size() удерживаются.