std::stringbuf (3) - Linux Man Pages
std::stringbuf: std::basic_stringbuf
NAME
std::basic_stringbuf - std::basic_stringbuf
Synopsis
Defined in header <sstream>
template<
class CharT,
class Traits = std::char_traits<CharT>,
class Allocator = std::allocator<CharT>
> class basic_stringbuf : public std::basic_streambuf<CharT, Traits>
std::basic_stringbuf is a std::basic_streambuf whose associated character sequence is a memory-resident sequence of arbitrary characters, which can be initialized from or made available as an instance of std::basic_string.
Typical implementations of std::basic_stringbuf hold an object of type std::basic_string or equivalent resizeable sequence container directly as a data member and use it as both the controlled character sequence (the array where the six pointers of std::basic_streambuf are pointing to) and as the associated character sequence (the source of characters for all input operations and the target for the output).
In addition, a typical implementation holds a data member of type std::ios_base::openmode to indicate the status of the stream (input-only, output-only, input/output, at-end, etc).
if over-allocation strategy is used by overflow(), an additional high-watermark pointer may be stored to track the last initialized character (since C++11)
Two specializations for common character types are also defined:
Defined in header <sstream>
Type Definition
stringbuf basic_stringbuf<char>
wstringbuf basic_stringbuf<wchar_t>
Member types
Member type Definition
char_type CharT
traits_type Traits; the program is ill-formed if Traits::char_type is not CharT.
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type
allocator_type Allocator (since C++11)
Member functions
Public member functions
constructor (public member function)
operator= assigns a basic_stringbuf object
(C++11)
swap swaps two basic_stringbuf objects
(C++11)
destructor destructs a basic_stringbuf object and the string it holds
[virtual] (implicitly declared)
str (public member function)
Protected member functions
underflow returns the next character available in the input sequence
[virtual]
pbackfail puts a character back into the input sequence
[virtual]
overflow appends a character to the output sequence
[virtual]
setbuf attempts to replace the controlled character sequence with an array
[virtual]
seekoff repositions the next pointer in the input sequence, output sequence, or both, using relative addressing
[virtual]
seekpos repositions the next pointer in the input sequence, output sequence, or both using absolute addressing
[virtual]
Non-member functions
std::swap(std::basic_stringbuf) specializes the std::swap algorithm
(C++11)
Inherited from std::basic_streambuf
Member types
Member type Definition
char_type CharT
traits_type Traits; the program is ill-formed if Traits::char_type is not CharT.
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type
Member functions
destructor destructs the basic_streambuf object
[virtual]
Locales
pubimbue (public member function of std::basic_streambuf<CharT,Traits>)
getloc (public member function of std::basic_streambuf<CharT,Traits>)
Positioning
pubsetbuf (public member function of std::basic_streambuf<CharT,Traits>)
pubseekoff (public member function of std::basic_streambuf<CharT,Traits>)
pubseekpos (public member function of std::basic_streambuf<CharT,Traits>)
pubsync (public member function of std::basic_streambuf<CharT,Traits>)
Get area
in_avail (public member function of std::basic_streambuf<CharT,Traits>)
snextc (public member function of std::basic_streambuf<CharT,Traits>)
sbumpc (public member function of std::basic_streambuf<CharT,Traits>)
stossc advances the input sequence as if by calling sbumpc() and discarding the result
(deprecated in C++98)
(removed in C++17)
sgetc (public member function of std::basic_streambuf<CharT,Traits>)
sgetn (public member function of std::basic_streambuf<CharT,Traits>)
Put area
sputc (public member function of std::basic_streambuf<CharT,Traits>)
sputn (public member function of std::basic_streambuf<CharT,Traits>)
Putback
sputbackc (public member function of std::basic_streambuf<CharT,Traits>)
sungetc (public member function of std::basic_streambuf<CharT,Traits>)
Protected member functions
constructor (protected member function)
operator= replaces a basic_streambuf object
(C++11)
swap swaps two basic_streambuf objects
(C++11)
Locales
imbue changes the associated locale
[virtual]
Positioning
setbuf replaces the buffer with user-defined array, if permitted
[virtual]
seekoff repositions the next pointer in the input sequence, output sequence, or both, using relative addressing
[virtual]
seekpos repositions the next pointer in the input sequence, output sequence, or both using absolute addressing
[virtual]
sync synchronizes the buffers with the associated character sequence
[virtual]
Get area
showmanyc obtains the number of characters available for input in the associated input sequence, if known
[virtual]
underflow reads characters from the associated input sequence to the get area
[virtual]
uflow reads characters from the associated input sequence to the get area and advances the next pointer
[virtual]
xsgetn reads multiple characters from the input sequence
[virtual]
eback returns a pointer to the beginning, current character and the end of the get area
gptr (protected member function)
egptr
gbump (protected member function)
setg (protected member function)
Put area
xsputn writes multiple characters to the output sequence
[virtual]
overflow writes characters to the associated output sequence from the put area
[virtual]
pbase returns a pointer to the beginning, current character and the end of the put area
pptr (protected member function)
epptr
pbump (protected member function)
setp (protected member function)
Putback
pbackfail puts a character back into the input sequence, possibly modifying the input sequence
[virtual]