std::basic_string< _CharT, _Traits, _Alloc >::_Rep Struct Reference

Inheritance diagram for std::basic_string< _CharT, _Traits, _Alloc >::_Rep:

std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base List of all members.

Public Types

typedef _Alloc::template rebind<
char >::other 
_Raw_bytes_alloc

Public Member Functions

bool _M_is_leaked () const
bool _M_is_shared () const
void _M_set_leaked ()
void _M_set_sharable ()
void _M_set_length_and_sharable (size_type __n)
_CharT * _M_refdata () throw ()
_CharT * _M_grab (const _Alloc &__alloc1, const _Alloc &__alloc2)
void _M_dispose (const _Alloc &__a)
void _M_destroy (const _Alloc &) throw ()
_CharT * _M_refcopy () throw ()
_CharT * _M_clone (const _Alloc &, size_type __res=0)

Static Public Member Functions

static _Rep_S_empty_rep ()
static _Rep_S_create (size_type, size_type, const _Alloc &)

Static Public Attributes

static const size_type _S_max_size
static const _CharT _S_terminal
static size_type _S_empty_rep_storage []

Detailed Description

template<typename _CharT, typename _Traits, typename _Alloc>
struct std::basic_string< _CharT, _Traits, _Alloc >::_Rep

Definition at line 153 of file basic_string.h.


Member Typedef Documentation

template<typename _CharT, typename _Traits, typename _Alloc>
typedef _Alloc::template rebind<char>::other std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_Raw_bytes_alloc

Definition at line 156 of file basic_string.h.


Member Function Documentation

template<typename _CharT, typename _Traits, typename _Alloc>
_CharT * std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_clone ( const _Alloc &  ,
size_type  __res = 0 
)

Definition at line 605 of file basic_string.tcc.

References std::basic_string< _CharT, _Traits, _Alloc >::_M_copy(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base::_M_length, std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_refdata(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_length_and_sharable(), and std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_create().

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_grab(), and std::basic_string< _CharT, _Traits, _Alloc >::reserve().

template<typename _CharT, typename _Traits, typename _Alloc>
void std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_destroy ( const _Alloc &   )  throw ()

Definition at line 426 of file basic_string.tcc.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_dispose(), and std::basic_string< _CharT, _Traits, _Alloc >::_S_construct().

template<typename _CharT, typename _Traits, typename _Alloc>
void std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_dispose ( const _Alloc &  __a  )  [inline]

Definition at line 227 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_destroy(), and std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_empty_rep().

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_M_mutate(), std::basic_string< _CharT, _Traits, _Alloc >::assign(), std::basic_string< _CharT, _Traits, _Alloc >::reserve(), and std::basic_string< _CharT, _Traits, _Allocator >::~basic_string().

template<typename _CharT, typename _Traits, typename _Alloc>
_CharT* std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_grab ( const _Alloc &  __alloc1,
const _Alloc &  __alloc2 
) [inline]

Definition at line 216 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_clone(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_is_leaked(), and std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_refcopy().

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::assign().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_is_leaked (  )  const [inline]

Definition at line 186 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base::_M_refcount.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_grab(), and std::basic_string< _CharT, _Traits, _Alloc >::swap().

template<typename _CharT, typename _Traits, typename _Alloc>
bool std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_is_shared (  )  const [inline]

Definition at line 190 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base::_M_refcount.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_M_mutate(), std::basic_string< _CharT, _Traits, _Alloc >::append(), std::basic_string< _CharT, _Traits, _Allocator >::push_back(), and std::basic_string< _CharT, _Traits, _Alloc >::reserve().

template<typename _CharT, typename _Traits, typename _Alloc>
_CharT* std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_refcopy (  )  throw () [inline]

Definition at line 240 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_refdata(), and std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_empty_rep().

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_grab().

template<typename _CharT, typename _Traits, typename _Alloc>
_CharT* std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_refdata (  )  throw () [inline]

Definition at line 212 of file basic_string.h.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_clone(), std::basic_string< _CharT, _Traits, _Alloc >::_M_mutate(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_refcopy(), and std::basic_string< _CharT, _Traits, _Alloc >::_S_construct().

template<typename _CharT, typename _Traits, typename _Alloc>
void std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_leaked (  )  [inline]

Definition at line 194 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base::_M_refcount.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_M_leak_hard(), std::basic_string< _CharT, _Traits, _Allocator >::erase(), and std::basic_string< _CharT, _Traits, _Allocator >::insert().

template<typename _CharT, typename _Traits, typename _Alloc>
void std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_length_and_sharable ( size_type  __n  )  [inline]

Definition at line 202 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base::_M_length, std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_sharable(), and std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_terminal.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_clone(), std::basic_string< _CharT, _Traits, _Alloc >::_M_mutate(), std::basic_string< _CharT, _Traits, _Alloc >::_S_construct(), std::basic_string< _CharT, _Traits, _Alloc >::append(), std::basic_string< _CharT, _Traits, _Alloc >::assign(), and std::basic_string< _CharT, _Traits, _Allocator >::push_back().

template<typename _CharT, typename _Traits, typename _Alloc>
void std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_sharable (  )  [inline]

Definition at line 198 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base::_M_refcount.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_length_and_sharable(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_create(), and std::basic_string< _CharT, _Traits, _Alloc >::swap().

template<typename _CharT, typename _Traits, typename _Alloc>
basic_string< _CharT, _Traits, _Alloc >::_Rep * std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_create ( size_type  ,
size_type  ,
const _Alloc &   
) [static]

Definition at line 527 of file basic_string.tcc.

References __N, std::__throw_length_error(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep_base::_M_capacity, std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_sharable(), and std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_max_size.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_clone(), std::basic_string< _CharT, _Traits, _Alloc >::_M_mutate(), and std::basic_string< _CharT, _Traits, _Alloc >::_S_construct().

template<typename _CharT, typename _Traits, typename _Alloc>
static _Rep& std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_empty_rep (  )  [inline, static]

Definition at line 179 of file basic_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_empty_rep_storage.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_dispose(), std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_refcopy(), and std::basic_string< _CharT, _Traits, _Allocator >::_S_empty_rep().


Member Data Documentation

template<typename _CharT, typename _Traits, typename _Alloc>
basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_empty_rep_storage [static]

Definition at line 176 of file basic_string.h.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_empty_rep().

template<typename _CharT, typename _Traits, typename _Alloc>
const size_type std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_max_size [static]

Definition at line 171 of file basic_string.h.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_create(), and std::basic_string< _CharT, _Traits, _Allocator >::max_size().

template<typename _CharT, typename _Traits, typename _Alloc>
const _CharT std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_S_terminal [static]

Definition at line 172 of file basic_string.h.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::_Rep::_M_set_length_and_sharable().


The documentation for this struct was generated from the following files:
Generated on Tue Feb 2 16:58:53 2010 for GNU C++ STL by  doxygen 1.4.7