BDE 4.14.0 Production release
|
#include <bslstl_stringbuf.h>
Public Member Functions | |
StringBufContainer (const ALLOCATOR &allocator) | |
StringBufContainer (ios_base::openmode modeBitMask, const ALLOCATOR &allocator) | |
StringBufContainer (const StringType &initialString, const ALLOCATOR &allocator) | |
StringBufContainer (const StringType &initialString, ios_base::openmode modeBitMask, const ALLOCATOR &allocator) | |
StringBufContainer (BloombergLP::bslmf::MovableRef< StringType > initialString, ios_base::openmode modeBitMask, const ALLOCATOR &allocator) | |
StringBufContainer (BloombergLP::bslmf::MovableRef< StringType > initialString, ios_base::openmode modeBitMask) | |
template<class STRING_ITER > | |
StringBufContainer (STRING_ITER first, STRING_ITER last, ios_base::openmode modeBitMask, const ALLOCATOR &allocator) | |
~StringBufContainer ()=default | |
void | swap (StringBufContainer &other) |
StreamBufType * | rdbuf () const |
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.
See bslstl_stringbuf
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
default |
|
inline |
|
inline |
Efficiently exchange the value of this object with the value of the specified other
object.