class
std::stringbuf
<sstream>
String stream buffer
Class hierarchy:
|  |
stringbuf |
This class applies the functionality of the
streambuf class to read and write from/to standard
string objects.
Either on construction or by calling member
str, the content of a
string object is copied into the
associated character sequence. Input/Output operations are conducted with a
streambuf-compatible interface on this internal copy of the string, not on the original string object with which the object was initialized (if any).
The content of the internal string can be retrieved by calling member
str.
Internally,
stringbuf objects operate as defined in the
streambuf class (see
streambuf), with the particularity that the entire content of the string is used as both the
controlled input sequence and the
controlled output sequence, and made available on its entirety through the internal pointers.
The class overrides some virtual members inherited from
streambuf to provide this specific functionality for strings.
Public members
- (constructor)
- Construct a string stream buffer object (public member function)
- str
- Get/set the string content (public member function)
Public members inherited from
streambuf:
- getloc
- Get current locale (public member function)
- in_avail
- Get number of characters available to read (public member function)
- pubimbue
- Imbue locale (public member function)
- pubseekoff
- Set internal position pointer to relative position (public member function)
- pubseekpos
- Set internal position pointer to absolute position (public member function)
- pubsetbuf
- Set buffer array (public member function)
- pubsync
- Synchronize stream buffer (public member function)
- sbumpc
- Get current character and increase get pointer (public member function)
- sgetc
- Get current character (public member function)
- sgetn
- Get sequence of characters (public member function)
- snextc
- Increase get pointer and return next character (public member function)
- sputbackc
- Put character back (public member function)
- sputc
- Store character at current put position and increase put pointer (public member function)
- sputn
- Write a sequence of characters (public member function)
Virtual protected members
The parent class
streambuf defines several protected virtual functions that are called by the other member functions to perform the operations on the
associated character sequence. Derived classes override these virtual member functions as necessary to provide the functionality for their specific types of buffer.
stringbuf overrides the following:
- setbuf
- Set buffer (protected virtual member function)
- seekoff
- Set internal position pointer to relative position (protected virtual member function)
- seekpos
- Set internal position pointer to absolute position (protected virtual member function)
- underflow
- Get character (protected virtual member function)
- pbackfail
- Put character back (protected virtual member function)
- overflow
- Write character (protected virtual member function)
The remaining virtual protectected members are left with their by-default behavior defined in
streambuf.
Protected members
The class also inherits several non-virtual protected members used by the public functions to access the internal pointers. See
streambuf for more info.