__gnu_cxx::rope< _CharT, _Alloc > Class Template Reference
SGI

Inherits __gnu_cxx::_Rope_base< _CharT, _Alloc >.

## Public Types

typedef _Rope_RopeConcatenation < _CharT, _Alloc > | __C
typedef _Rope_RopeFunction < _CharT, _Alloc > | __F
typedef _Rope_RopeLeaf< _CharT, _Alloc > | __L
typedef _Rope_RopeSubstring < _CharT, _Alloc > | __S
typedef _Alloc::template rebind< __C >::other | _CAlloc
typedef _Alloc::template rebind< _CharT >::other | _DataAlloc
typedef _Alloc::template rebind< __F >::other | _FAlloc
typedef _Alloc::template rebind< __L >::other | _LAlloc
typedef _Alloc::template rebind< __S >::other | _SAlloc
typedef _Rope_const_iterator < _CharT, _Alloc > | const_iterator
typedef const _CharT * | const_pointer
typedef _CharT | const_reference
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator
typedef ptrdiff_t | difference_type
typedef _Rope_iterator< _CharT, _Alloc > | iterator
typedef _Rope_char_ptr_proxy < _CharT, _Alloc > | pointer
typedef _Rope_char_ref_proxy < _CharT, _Alloc > | reference
typedef std::reverse_iterator < iterator > | reverse_iterator
typedef size_t | size_type
typedef _CharT | value_type

## Public Member Functions

| rope (const _CharT *__s, size_t __len, const allocator_type &__a=allocator_type())
| rope (const _CharT *__s, const _CharT *__e, const allocator_type &__a=allocator_type())
| rope (const const_iterator &__s, const const_iterator &__e, const allocator_type &__a=allocator_type())
| rope (const iterator &__s, const iterator &__e, const allocator_type &__a=allocator_type())
| rope (size_t __n, _CharT __c, const allocator_type &__a=allocator_type())
const allocator_type & | _M_get_allocator () const
| _M_get_allocator ())
| _M_get_allocator ().construct(__buf
| _S_char_ptr_len (__s)
rope & | append (const _CharT *__iter, size_t __n)
rope & | append (const _CharT *__c_string)
rope & | append (const _CharT *__s, const _CharT *__e)
rope & | append (const_iterator __s, const_iterator __e)
rope & | append (_CharT __c)
rope & | append ()
rope & | append (const rope &__y)
rope & | append (size_t __n, _CharT __c)
void | apply_to_pieces (size_t __begin, size_t __end, _Rope_char_consumer< _CharT > &__c) const
_CharT | at (size_type __pos) const
const_iterator | begin () const
const_iterator | begin ()
| catch (...)
int | compare (const rope &__y) const
const_iterator | const_begin () const
const_iterator | const_end () const
const_reverse_iterator | const_rbegin () const
const_reverse_iterator | const_rend () const
void | delete_c_str ()
bool | empty () const
const_iterator | end () const
const_iterator | end ()
void | erase (size_t __p, size_t __n)
void | erase (size_t __p)
iterator | erase (const iterator &__p, const iterator &__q)
iterator | erase (const iterator &__p)
size_type | find (_CharT __c, size_type __pos=0) const
size_type | find (const _CharT *__s, size_type __pos=0) const
allocator_type | get_allocator () const
void | insert (size_t __p, const rope &__r)
void | insert (size_t __p, size_t __n, _CharT __c)
void | insert (size_t __p, const _CharT *__i, size_t __n)
void | insert (size_t __p, const _CharT *__c_string)
void | insert (size_t __p, _CharT __c)
void | insert (size_t __p)
void | insert (size_t __p, const _CharT *__i, const _CharT *__j)
void | insert (size_t __p, const const_iterator &__i, const const_iterator &__j)
void | insert (size_t __p, const iterator &__i, const iterator &__j)
iterator | insert (const iterator &__p, const rope &__r)
iterator | insert (const iterator &__p, size_t __n, _CharT __c)
iterator | insert (const iterator &__p, _CharT __c)
iterator | insert (const iterator &__p)
iterator | insert (const iterator &__p, const _CharT *c_string)
iterator | insert (const iterator &__p, const _CharT *__i, size_t __n)
iterator | insert (const iterator &__p, const _CharT *__i, const _CharT *__j)
iterator | insert (const iterator &__p, const const_iterator &__i, const const_iterator &__j)
iterator | insert (const iterator &__p, const iterator &__i, const iterator &__j)
size_type | length () const
size_type | max_size () const
iterator | mutable_begin ()
iterator | mutable_end ()
reverse_iterator | mutable_rbegin ()
reference | mutable_reference_at (size_type __pos)
reverse_iterator | mutable_rend ()
_CharT | operator[] (size_type __pos) const
const_reverse_iterator | rbegin () const
const_reverse_iterator | rbegin ()
const_reverse_iterator | rend () const
const_reverse_iterator | rend ()
void | replace (size_t __p, size_t __n, const rope &__r)
void | replace (size_t __p, size_t __n, const _CharT *__i, size_t __i_len)
void | replace (size_t __p, size_t __n, _CharT __c)
void | replace (size_t __p, size_t __n, const _CharT *__c_string)
void | replace (size_t __p, size_t __n, const _CharT *__i, const _CharT *__j)
void | replace (size_t __p, size_t __n, const const_iterator &__i, const const_iterator &__j)
void | replace (size_t __p, size_t __n, const iterator &__i, const iterator &__j)
void | replace (size_t __p, _CharT __c)
void | replace (size_t __p, const rope &__r)
void | replace (size_t __p, const _CharT *__i, size_t __i_len)
void | replace (size_t __p, const _CharT *__c_string)
void | replace (size_t __p, const _CharT *__i, const _CharT *__j)
void | replace (size_t __p, const const_iterator &__i, const const_iterator &__j)
void | replace (size_t __p, const iterator &__i, const iterator &__j)
void | replace (const iterator &__p, const iterator &__q, const rope &__r)
void | replace (const iterator &__p, const iterator &__q, _CharT __c)
void | replace (const iterator &__p, const iterator &__q, const _CharT *__c_string)
void | replace (const iterator &__p, const iterator &__q, const _CharT *__i, size_t __n)
void | replace (const iterator &__p, const iterator &__q, const _CharT *__i, const _CharT *__j)
void | replace (const iterator &__p, const iterator &__q, const const_iterator &__i, const const_iterator &__j)
void | replace (const iterator &__p, const iterator &__q, const iterator &__i, const iterator &__j)
void | replace (const iterator &__p, const rope &__r)
void | replace (const iterator &__p, _CharT __c)
void | replace (const iterator &__p, const _CharT *__c_string)
void | replace (const iterator &__p, const _CharT *__i, size_t __n)
void | replace (const iterator &__p, const _CharT *__i, const _CharT *__j)
void | replace (const iterator &__p, const_iterator __i, const_iterator __j)
void | replace (const iterator &__p, iterator __i, iterator __j)
const _CharT * | replace_with_c_str ()
size_type | size () const
rope | substr (size_t __start, size_t __len=1) const
rope | substr (iterator __start, iterator __end) const
rope | substr (iterator __start) const
rope | substr (const_iterator __start, const_iterator __end) const
rope< _CharT, _Alloc > | substr (const_iterator __start)
void | swap (rope &__b)

## Static Public Member Functions

static __C * | _C_allocate (size_t __n)
static void | _C_deallocate (__C *__p, size_t __n)
static _CharT * | _Data_allocate (size_t __n)
static void | _Data_deallocate (_CharT *__p, size_t __n)
static __F * | _F_allocate (size_t __n)
static void | _F_deallocate (__F *__p, size_t __n)
static __L * | _L_allocate (size_t __n)
static void | _L_deallocate (__L *__p, size_t __n)
static __S * | _S_allocate (size_t __n)
static void | _S_deallocate (__S *__p, size_t __n)

## Public Attributes

| __c
| __pad1__: _Base(__a) { this->_M_tree_ptr = _S_RopeLeaf_from_unowned_char_ptr( __s
| __pad2__: _Base(__a) { _CharT* __buf = this->_Data_allocate(_S_rounded_up_size(1))
| __pad3__: _Base(0
_RopeRep * | _M_tree_ptr
| try

## Static Public Attributes

static const size_type | npos

## Protected Types

enum | { _S_copy_max }
typedef _Rope_base< _CharT, _Alloc > | _Base
typedef _CharT * | _Cstrptr
typedef _Rope_RopeConcatenation < _CharT, _Alloc > | _RopeConcatenation
typedef _Rope_RopeFunction < _CharT, _Alloc > | _RopeFunction
typedef _Rope_RopeLeaf< _CharT, _Alloc > | _RopeLeaf
typedef _Rope_RopeRep< _CharT, _Alloc > | _RopeRep
typedef _Rope_RopeSubstring < _CharT, _Alloc > | _RopeSubstring
typedef _Rope_self_destruct_ptr < _CharT, _Alloc > | _Self_destruct_ptr
typedef _Base::allocator_type | allocator_type

## Static Protected Member Functions

static size_t | _S_allocated_capacity (size_t __n)
static bool | _S_apply_to_pieces (_Rope_char_consumer< _CharT > &__c, const _RopeRep *__r, size_t __begin, size_t __end)
static _RopeRep * | _S_concat (_RopeRep *__left, _RopeRep *__right)
static _RopeRep * | _S_concat_char_iter (_RopeRep *__r, const _CharT *__iter, size_t __slen)
static _RopeRep * | _S_destr_concat_char_iter (_RopeRep *__r, const _CharT *__iter, size_t __slen)
static _RopeLeaf * | _S_destr_leaf_concat_char_iter (_RopeLeaf *__r, const _CharT *__iter, size_t __slen)
static _CharT | _S_fetch (_RopeRep *__r, size_type __pos)
static _CharT * | _S_fetch_ptr (_RopeRep *__r, size_type __pos)
static bool | _S_is0 (_CharT __c)
static _RopeLeaf * | _S_leaf_concat_char_iter (_RopeLeaf *__r, const _CharT *__iter, size_t __slen)
static _RopeConcatenation * | _S_new_RopeConcatenation (_RopeRep *__left, _RopeRep *__right, allocator_type &__a)
static _RopeFunction * | _S_new_RopeFunction (char_producer< _CharT > *__f, size_t __size, bool __d, allocator_type &__a)
static _RopeLeaf * | _S_new_RopeLeaf (_CharT *__s, size_t __size, allocator_type &__a)
static _RopeSubstring * | _S_new_RopeSubstring (_Rope_RopeRep< _CharT, _Alloc > *__b, size_t __s, size_t __l, allocator_type &__a)
static void | _S_ref (_RopeRep *__t)
static _RopeLeaf * | _S_RopeLeaf_from_unowned_char_ptr (const _CharT *__s, size_t __size, allocator_type &__a)
static size_t | _S_rounded_up_size (size_t __n)
static _RopeRep * | _S_substring (_RopeRep *__base, size_t __start, size_t __endp1)
static _RopeRep * | _S_tree_concat (_RopeRep *__left, _RopeRep *__right)
static void | _S_unref (_RopeRep *__t)
static _RopeRep * | replace (_RopeRep *__old, size_t __pos1, size_t __pos2, _RopeRep *__r)

## Static Protected Attributes

static _CharT | _S_empty_c_str [1]

## Friends

class | _Rope_char_ptr_proxy< _CharT, _Alloc >
class | _Rope_char_ref_proxy< _CharT, _Alloc >
class | _Rope_const_iterator< _CharT, _Alloc >
class | _Rope_iterator< _CharT, _Alloc >
class | _Rope_iterator_base< _CharT, _Alloc >
struct | _Rope_RopeRep< _CharT, _Alloc >
struct | _Rope_RopeSubstring< _CharT, _Alloc >
template<class _CharT2 , class _Alloc2 >
rope< _CharT2, _Alloc2 > | operator+ (const rope< _CharT2, _Alloc2 > &__left, const rope< _CharT2, _Alloc2 > &__right)
template<class _CharT2 , class _Alloc2 >
rope< _CharT2, _Alloc2 > | operator+ (const rope< _CharT2, _Alloc2 > &__left, const _CharT2 *__right)
template<class _CharT2 , class _Alloc2 >
rope< _CharT2, _Alloc2 > | operator+ (const rope< _CharT2, _Alloc2 > &__left, _CharT2 __right)

## Detailed Description

### template<class _CharT, class _Alloc = allocator<_CharT>>
class __gnu_cxx::rope< _CharT, _Alloc >

This is an SGI extension.

Todo:
  Needs documentation! See http://gcc.gnu.org/onlinedocs/libstdc++/manual/documentation_style.html

Definition at line 327 of file rope.

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

- rope
- ropeimpl.h