BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR > Class Template Reference

#include <bslstl_ostringstream.h>

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

Public Types

typedef CHAR_TYPE char_type
 
typedef CHAR_TRAITS traits_type
 
typedef ALLOCATOR allocator_type
 
typedef traits_type::int_type int_type
 
typedef traits_type::off_type off_type
 
typedef traits_type::pos_type pos_type
 

Public Member Functions

 basic_ostringstream (const allocator_type &allocator=allocator_type())
 
 basic_ostringstream (ios_base::openmode modeBitMask, const allocator_type &allocator=allocator_type())
 
 basic_ostringstream (const StringType &initialString, const allocator_type &allocator=allocator_type())
 
 basic_ostringstream (const StringType &initialString, ios_base::openmode modeBitMask, const allocator_type &allocator=allocator_type())
 
 basic_ostringstream (BloombergLP::bslmf::MovableRef< StringType > initialString)
 
 basic_ostringstream (BloombergLP::bslmf::MovableRef< StringType > initialString, const allocator_type &allocator)
 
 basic_ostringstream (BloombergLP::bslmf::MovableRef< StringType > initialString, ios_base::openmode modeBitMask)
 
 basic_ostringstream (BloombergLP::bslmf::MovableRef< StringType > initialString, ios_base::openmode modeBitMask, const allocator_type &allocator)
 
template<class SALLOC >
 basic_ostringstream (const bsl::basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > &initialString, const allocator_type &allocator=allocator_type(), typename bsl::enable_if< !bsl::is_same< ALLOCATOR, SALLOC >::value, void * >::type=0)
 
template<class SALLOC >
 basic_ostringstream (const bsl::basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > &initialString, ios_base::openmode modeBitMask, const allocator_type &allocator=allocator_type(), typename bsl::enable_if< !bsl::is_same< ALLOCATOR, SALLOC >::value, void * >::type=0)
 
 ~basic_ostringstream ()=default
 
void str (const StringType &value)
 
void str (BloombergLP::bslmf::MovableRef< StringType > value)
 Note: implemented inline due to Sun CC compilation error.
 
template<class SALLOC >
bsl::enable_if<!bsl::is_same< ALLOCATOR, SALLOC >::value, void >::type str (const basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > &value)
 
void swap (basic_ostringstream &other)
 
allocator_type get_allocator () const BSLS_KEYWORD_NOEXCEPT
 Return the allocator used by the underlying buffer to supply memory.
 
StreamBufTyperdbuf () const
 
StringType str () const
 
template<class SALLOC >
bsl::enable_if< bsl::IsStdAllocator< SALLOC >::value, basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > >::type str (const SALLOC &allocator) const
 
ViewType view () const BSLS_KEYWORD_NOEXCEPT
 

Detailed Description

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

This class implements a standard output stream that provides an accessor for obtaining a bsl::basic_string containing the sequence of characters that have been written to the stream.

Member Typedef Documentation

◆ allocator_type

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
typedef ALLOCATOR bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::allocator_type

◆ char_type

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
typedef CHAR_TYPE bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::char_type

◆ int_type

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
typedef traits_type::int_type bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::int_type

◆ off_type

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
typedef traits_type::off_type bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::off_type

◆ pos_type

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
typedef traits_type::pos_type bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::pos_type

◆ traits_type

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
typedef CHAR_TRAITS bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::traits_type

Constructor & Destructor Documentation

◆ basic_ostringstream() [1/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( const allocator_type allocator = allocator_type())
inlineexplicit

◆ basic_ostringstream() [2/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( ios_base::openmode  modeBitMask,
const allocator_type allocator = allocator_type() 
)
inlineexplicit

◆ basic_ostringstream() [3/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( const StringType initialString,
const allocator_type allocator = allocator_type() 
)
inlineexplicit

◆ basic_ostringstream() [4/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( const StringType initialString,
ios_base::openmode  modeBitMask,
const allocator_type allocator = allocator_type() 
)
inline

Create a basic_ostringstream object. Optionally specify a modeBitMask indicating whether the underlying stream-buffer may also be read from (rdbuf is created using modeBitMask | ios_base::out). If modeBitMask is not supplied, rdbuf will be created using ios_base::out. Optionally specify an initialString indicating the value that will be returned by a call to str prior to any streaming operations performed on this object. If initialString is not supplied, str will initially return an empty string. Optionally specify the allocator used to supply memory. If allocator is not supplied, a default-constructed object of the (template parameter) ALLOCATOR type is used. If the ALLOCATOR argument is of type bsl::allocator (the default), then allocator, if supplied, shall be convertible to bslma::Allocator *. If the ALLOCATOR argument is of type bsl::allocator and allocator is not supplied, the currently installed default allocator will be used to supply memory.

◆ basic_ostringstream() [5/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( BloombergLP::bslmf::MovableRef< StringType initialString)
inlineexplicit

◆ basic_ostringstream() [6/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( BloombergLP::bslmf::MovableRef< StringType initialString,
const allocator_type allocator 
)
inline

◆ basic_ostringstream() [7/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( BloombergLP::bslmf::MovableRef< StringType initialString,
ios_base::openmode  modeBitMask 
)
inline

◆ basic_ostringstream() [8/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( BloombergLP::bslmf::MovableRef< StringType initialString,
ios_base::openmode  modeBitMask,
const allocator_type allocator 
)
inline

Create a basic_ostringstream object. Use the specified initialString indicating the value that will be returned by a call to str prior to any streaming operations performed on this object. Optionally specify a modeBitMask indicating whether the underlying stream-buffer may also be read from (rdbuf is created using modeBitMask | ios_base::out). If modeBitMask is not supplied, rdbuf will be created using ios_base::out. Optionally specify the allocator used to supply memory. If allocator is not supplied, the allocator in initialString is used. initialString is left in a valid but unspecified state.

◆ basic_ostringstream() [9/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
template<class SALLOC >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( const bsl::basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > &  initialString,
const allocator_type allocator = allocator_type(),
typename bsl::enable_if< !bsl::is_same< ALLOCATOR, SALLOC >::value, void * >::type  = 0 
)
inline

Create a basic_ostringstream object. Use the specified initialString as the value that will be returned by a call to str prior to any streaming operations performed on this object. rdbuf is created using ios_base::out. Optionally specify the allocator used to supply memory. If allocator is not supplied, a default-constructed object of the (template parameter) ALLOCATOR type is used. If the ALLOCATOR argument is of type bsl::allocator (the default), then allocator, if supplied, shall be convertible to bslma::Allocator *. If the ALLOCATOR argument is of type bsl::allocator and allocator is not supplied, the currently installed default allocator will be used to supply memory.

Note: implemented inline due to Sun CC compilation error.

◆ basic_ostringstream() [10/10]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
template<class SALLOC >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::basic_ostringstream ( const bsl::basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > &  initialString,
ios_base::openmode  modeBitMask,
const allocator_type allocator = allocator_type(),
typename bsl::enable_if< !bsl::is_same< ALLOCATOR, SALLOC >::value, void * >::type  = 0 
)
inline

Create a basic_ostringstream object. Use the specified initialString as the value that will be returned by a call to str prior to any streaming operations performed on this object. Use the specified modeBitMask to indicate whether the underlying stream-buffer may also be read from (rdbuf is created using modeBitMask | ios_base::out). Optionally specify the allocator used to supply memory. If allocator is not supplied, a default-constructed object of the (template parameter) ALLOCATOR type is used. If the ALLOCATOR argument is of type bsl::allocator (the default), then allocator, if supplied, shall be convertible to bslma::Allocator *. If the ALLOCATOR argument is of type bsl::allocator and allocator is not supplied, the currently installed default allocator will be used to supply memory.

Note: implemented inline due to Sun CC compilation error.

◆ ~basic_ostringstream()

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::~basic_ostringstream ( )
default

Member Function Documentation

◆ get_allocator()

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::allocator_type bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::get_allocator ( ) const
inline

◆ rdbuf()

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StreamBufType * bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::rdbuf ( ) const
inline

Return an address providing modifiable access to the basic_stringbuf object that is internally used by this string stream to buffer unformatted characters.

◆ str() [1/5]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::StringType bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::str ( ) const
inline

◆ str() [2/5]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
void bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::str ( BloombergLP::bslmf::MovableRef< StringType value)
inline

◆ str() [3/5]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
template<class SALLOC >
bsl::enable_if<!bsl::is_same< ALLOCATOR, SALLOC >::value, void >::type bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::str ( const basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > &  value)
inline

◆ str() [4/5]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
template<class SALLOC >
bsl::enable_if< bsl::IsStdAllocator< SALLOC >::value, basic_string< CHAR_TYPE, CHAR_TRAITS, SALLOC > >::type bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::str ( const SALLOC &  allocator) const
inline

Return a copy of the internally buffered sequence of characters maintained by this stream object in a basic_string that uses the specified allocator.

Note: implemented inline due to Sun CC compilation error.

◆ str() [5/5]

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
void bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::str ( const StringType value)
inline

Reset the internally buffered sequence of characters maintained by this stream object to the specified value. If value is passed by MovableRef, it is left in a valid but unspecified state.

◆ swap()

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
void bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::swap ( basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR > &  other)
inline

Efficiently exchange the value of this object with the value of the specified other object. This method provides the no-throw exception-safety guarantee if *this and other allocators compare equal. The behavior is undefined unless either *this and other allocators compare equal or propagate_on_container_swap is true. Note that this function is only available for C++11 (and later) language standards because it requires that swap be provided on the (platform supplied) base class for this type.

◆ view()

template<class CHAR_TYPE , class CHAR_TRAITS , class ALLOCATOR >
basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::ViewType bsl::basic_ostringstream< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::view ( ) const
inline

Return a view of the internally buffered sequence of characters maintained by this stream object.


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