Trivial holder of a basic_stringbuf for use as a private base.
Synopsis
Declared in <bslstl_stringbuf.h>
template<
class CHAR_TYPE,
class CHAR_TRAITS,
class ALLOCATOR>
class StringBufContainer;
Description
This class enables the implementation of string‐stream types by providing a trivial type containing a basic_stringbuf that is suitable as a (private) base class for a string‐stream. Inheriting from StringBufContainer allows the string‐stream to ensure that the contained basic_stringbuf is initialized before initializing other base classes or data members without potentially overriding virtual methods in the basic_stringbuf type. Note that implementations of string‐stream types must pass the address of a string‐buffer to their public base class (e.g., basic_stream), so the string‐stream must ensure (using private inheritance) that the string‐buffer is initialized before constructing the public base class. If a string‐stream implementation were to directly inherit from basic_streambuf, then virtual methods defined in that string‐stream (e.g., underflow) might incorrectly override those in the basic_stringbuf implementation.
Member Functions
Name |
Description |
|
Constructors |
Move‐assign from the specified |
|
Return an address providing modifiable access to the contained |
|
Efficiently exchange the value of this object with |
Created with MrDocs