Quick Links:

bal | bbl | bdl | bsl

Public Member Functions

bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR > Class Template Reference

#include <bslstl_stringbuf.h>

Inheritance diagram for bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >:
bsl::basic_istringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR > bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR > bsl::basic_stringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >

List of all members.

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 ()
void swap (StringBufContainer &other)
StreamBufTyperdbuf () const

Detailed Description

template<class CHAR_TYPE, class CHAR_TRAITS, class ALLOCATOR>
class bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >

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 Component bslstl_stringbuf


Constructor & Destructor Documentation

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringBufContainer ( const ALLOCATOR &  allocator  )  [inline, explicit]
template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringBufContainer ( ios_base::openmode  modeBitMask,
const ALLOCATOR &  allocator 
) [inline]
template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringBufContainer ( const StringType initialString,
const ALLOCATOR &  allocator 
) [inline]
template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringBufContainer ( const StringType initialString,
ios_base::openmode  modeBitMask,
const ALLOCATOR &  allocator 
) [inline]
template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringBufContainer ( BloombergLP::bslmf::MovableRef< StringType initialString,
ios_base::openmode  modeBitMask,
const ALLOCATOR &  allocator 
) [inline]
template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringBufContainer ( BloombergLP::bslmf::MovableRef< StringType initialString,
ios_base::openmode  modeBitMask 
) [inline]
template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
template<class STRING_ITER >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringBufContainer ( STRING_ITER  first,
STRING_ITER  last,
ios_base::openmode  modeBitMask,
const ALLOCATOR &  allocator 
) [inline]
template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::~StringBufContainer (  ) 

Member Function Documentation

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
void bsl::StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::swap ( StringBufContainer< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR > &  other  )  [inline]
Parameters:
other Efficiently exchange the value of this object with the value of the specified other object.

Referenced by bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::swap().


The documentation for this class was generated from the following file: