std::basic_stringstream< _CharT, _Traits, _Alloc > Class Template Reference

Controlling input and output for std::string. More...

Inheritance diagram for std::basic_stringstream< _CharT, _Traits, _Alloc >:

std::basic_iostream< _CharT, _Traits > std::basic_istream< _CharT, _Traits > std::basic_ostream< _CharT, _Traits > std::basic_ios< _CharT, _Traits > std::basic_ios< _CharT, _Traits > std::ios_base std::ios_base List of all members.

Public Types

typedef _CharT char_type
typedef _Traits traits_type
typedef _Alloc allocator_type
typedef traits_type::int_type int_type
typedef traits_type::pos_type pos_type
typedef traits_type::off_type off_type
typedef basic_string< _CharT,
_Traits, _Alloc > 
__string_type
typedef basic_stringbuf< _CharT,
_Traits, _Alloc > 
__stringbuf_type
typedef basic_iostream< char_type,
traits_type
__iostream_type

Public Member Functions

 basic_stringstream (ios_base::openmode __m=ios_base::out|ios_base::in)
 Default constructor starts with an empty string buffer.
 basic_stringstream (const __string_type &__str, ios_base::openmode __m=ios_base::out|ios_base::in)
 Starts with an existing string buffer.
 ~basic_stringstream ()
 The destructor does nothing.
__stringbuf_typerdbuf () const
 Accessing the underlying buffer.
__string_type str () const
 Copying out the string buffer.
void str (const __string_type &__s)
 Setting a new buffer.

Private Attributes

__stringbuf_type _M_stringbuf

Detailed Description

template<typename _CharT, typename _Traits, typename _Alloc>
class std::basic_stringstream< _CharT, _Traits, _Alloc >

Controlling input and output for std::string.

This class supports reading from and writing to objects of type std::basic_string, using the inherited functions from std::basic_iostream. To control the associated sequence, an instance of std::basic_stringbuf is used, which this page refers to as sb.

Definition at line 487 of file sstream.


Member Typedef Documentation

template<typename _CharT, typename _Traits, typename _Alloc>
typedef basic_iostream<char_type, traits_type> std::basic_stringstream< _CharT, _Traits, _Alloc >::__iostream_type

Definition at line 503 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef basic_string<_CharT, _Traits, _Alloc> std::basic_stringstream< _CharT, _Traits, _Alloc >::__string_type

Definition at line 501 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef basic_stringbuf<_CharT, _Traits, _Alloc> std::basic_stringstream< _CharT, _Traits, _Alloc >::__stringbuf_type

Definition at line 502 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef _Alloc std::basic_stringstream< _CharT, _Traits, _Alloc >::allocator_type

Definition at line 495 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef _CharT std::basic_stringstream< _CharT, _Traits, _Alloc >::char_type

These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation.

Reimplemented from std::basic_iostream< _CharT, _Traits >.

Definition at line 491 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef traits_type::int_type std::basic_stringstream< _CharT, _Traits, _Alloc >::int_type

Reimplemented from std::basic_iostream< _CharT, _Traits >.

Definition at line 496 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef traits_type::off_type std::basic_stringstream< _CharT, _Traits, _Alloc >::off_type

Reimplemented from std::basic_iostream< _CharT, _Traits >.

Definition at line 498 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef traits_type::pos_type std::basic_stringstream< _CharT, _Traits, _Alloc >::pos_type

Reimplemented from std::basic_iostream< _CharT, _Traits >.

Definition at line 497 of file sstream.

template<typename _CharT, typename _Traits, typename _Alloc>
typedef _Traits std::basic_stringstream< _CharT, _Traits, _Alloc >::traits_type

Reimplemented from std::basic_iostream< _CharT, _Traits >.

Definition at line 492 of file sstream.


Constructor & Destructor Documentation

template<typename _CharT, typename _Traits, typename _Alloc>
std::basic_stringstream< _CharT, _Traits, _Alloc >::basic_stringstream ( ios_base::openmode  __m = ios_base::out | ios_base::in  )  [inline, explicit]

Default constructor starts with an empty string buffer.

Parameters:
mode Whether the buffer can read, or write, or both.
Initializes sb using mode, and passes &sb to the base class initializer. Does not allocate any buffer.

Definition at line 523 of file sstream.

References std::basic_stringstream< _CharT, _Traits, _Alloc >::_M_stringbuf, and std::basic_ios< _CharT, _Traits >::init().

template<typename _CharT, typename _Traits, typename _Alloc>
std::basic_stringstream< _CharT, _Traits, _Alloc >::basic_stringstream ( const __string_type __str,
ios_base::openmode  __m = ios_base::out | ios_base::in 
) [inline, explicit]

Starts with an existing string buffer.

Parameters:
str A string to copy as a starting buffer.
mode Whether the buffer can read, or write, or both.
Initializes sb using str and mode, and passes &sb to the base class initializer.

Definition at line 541 of file sstream.

References std::basic_stringstream< _CharT, _Traits, _Alloc >::_M_stringbuf, and std::basic_ios< _CharT, _Traits >::init().

template<typename _CharT, typename _Traits, typename _Alloc>
std::basic_stringstream< _CharT, _Traits, _Alloc >::~basic_stringstream (  )  [inline]

The destructor does nothing.

The buffer is deallocated by the stringbuf object, not the formatting stream.

Definition at line 552 of file sstream.


Member Function Documentation

template<typename _CharT, typename _Traits, typename _Alloc>
__stringbuf_type* std::basic_stringstream< _CharT, _Traits, _Alloc >::rdbuf (  )  const [inline]

Accessing the underlying buffer.

Returns:
The current basic_stringbuf buffer.
This hides both signatures of std::basic_ios::rdbuf().

Reimplemented from std::basic_ios< _CharT, _Traits >.

Definition at line 563 of file sstream.

References std::basic_stringstream< _CharT, _Traits, _Alloc >::_M_stringbuf.

template<typename _CharT, typename _Traits, typename _Alloc>
void std::basic_stringstream< _CharT, _Traits, _Alloc >::str ( const __string_type __s  )  [inline]

Setting a new buffer.

Parameters:
s The string to use as a new sequence.
Calls rdbuf()->str(s).

Definition at line 581 of file sstream.

References std::basic_stringstream< _CharT, _Traits, _Alloc >::_M_stringbuf, and std::basic_stringbuf< _CharT, _Traits, _Alloc >::str().

template<typename _CharT, typename _Traits, typename _Alloc>
__string_type std::basic_stringstream< _CharT, _Traits, _Alloc >::str (  )  const [inline]

Copying out the string buffer.

Returns:
rdbuf()->str()

Definition at line 571 of file sstream.

References std::basic_stringstream< _CharT, _Traits, _Alloc >::_M_stringbuf, and std::basic_stringbuf< _CharT, _Traits, _Alloc >::str().


Member Data Documentation

template<typename _CharT, typename _Traits, typename _Alloc>
__stringbuf_type std::basic_stringstream< _CharT, _Traits, _Alloc >::_M_stringbuf [private]

Definition at line 506 of file sstream.

Referenced by std::basic_stringstream< _CharT, _Traits, _Alloc >::basic_stringstream(), std::basic_stringstream< _CharT, _Traits, _Alloc >::rdbuf(), and std::basic_stringstream< _CharT, _Traits, _Alloc >::str().


The documentation for this class was generated from the following file:
Generated on Tue Feb 2 16:59:31 2010 for GNU C++ STL by  doxygen 1.4.7