# __gnu_cxx::rope< _CharT, _Alloc > Class Template Reference
[STL extensions from SGI]

Inheritance diagram for __gnu_cxx::rope< _CharT, _Alloc >:

List of all members.

## Detailed Description

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

This is an SGI extension.

Todo:
  Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 1482 of file rope.

## 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 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 reverse_iterator<
  iterator > reverse_iterator
- typedef size_t size_type
- typedef _CharT value_type

## Public Member Functions

- rope & append (size_t __n, _CharT __c)
- rope & append (const rope &__y)
- rope & append ()
- rope & append (_CharT __c)
- rope & append (const_iterator __s, const_iterator __e)
- rope & append (const _CharT *__s, const _CharT *__e)
- rope & append (const _CharT *__c_string)
- rope & append (const _CharT *__iter, size_t __n)
- void apply_to_pieces (size_t __begin, size_t __end, _Rope_char_consumer< _CharT > &__c) const
- _CharT at (size_type __pos) const
- _CharT back () const
- void balance ()
- const_iterator begin ()
- const_iterator begin () const
- const _CharT * c_str () const
- void clear ()
- 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
- size_type copy (size_type __pos, size_type __n, _CharT *__buffer) const
- void copy (_CharT *__buffer) const
- void delete_c_str ()
- void dump ()
- bool empty () const
- const_iterator end ()
- const_iterator end () const
- iterator erase (const iterator &__p)
- iterator erase (const iterator &__p, const iterator &__q)
- void erase (size_t __p)
- void erase (size_t __p, size_t __n)
- size_type find (const _CharT *__s, size_type __pos=0) const
- size_type find (_CharT __c, size_type __pos=0) const
- _CharT front () const
- allocator_type get_allocator () const
- iterator insert (const iterator &__p, const iterator &__i, const iterator &__j)
- iterator insert (const iterator &__p, const const_iterator &__i, const const_iterator &__j)
- iterator insert (const iterator &__p, const _CharT *__i, const _CharT *__j)
- iterator insert (const iterator &__p, const _CharT *__i, size_t __n)
- iterator insert (const iterator &__p, const _CharT *c_string)
- iterator insert (const iterator &__p)
- iterator insert (const iterator &__p, _CharT __c)
- iterator insert (const iterator &__p, size_t __n, _CharT __c)
- iterator insert (const iterator &__p, const rope &__r)
- void insert (size_t __p, const iterator &__i, const iterator &__j)
- void insert (size_t __p, const const_iterator &__i, const const_iterator &__j)
- void insert (size_t __p, const _CharT *__i, const _CharT *__j)
- void insert (size_t __p)
- void insert (size_t __p, _CharT __c)
- void insert (size_t __p, const _CharT *__c_string)
- void insert (size_t __p, const _CharT *__i, size_t __n)
- void insert (size_t __p, size_t __n, _CharT __c)
- void insert (size_t __p, const rope &__r)
- 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 ()
- rope & operator= (const rope &__x)
- _CharT operator[] (size_type __pos) const
- void pop_back ()
- void pop_front ()
- void push_back (_CharT __x)
- void push_front (_CharT __x)
- const_reverse_iterator rbegin ()
- const_reverse_iterator rbegin () const
- const_reverse_iterator rend ()
- const_reverse_iterator rend () const
- void replace (const iterator &__p, iterator __i, iterator __j)
- void replace (const iterator &__p, const_iterator __i, const_iterator __j)
- void replace (const iterator &__p, const _CharT *__i, const _CharT *__j)
- void replace (const iterator &__p, const _CharT *__i, size_t __n)
- void replace (const iterator &__p, const _CharT *__c_string)
- void replace (const iterator &__p, _CharT __c)
- void replace (const iterator &__p, const rope &__r)
- void replace (const iterator &__p, const iterator &__q, const iterator &__i, const iterator &__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 _CharT *__i, const _CharT *__j)
- void replace (const iterator &__p, const iterator &__q, const _CharT *__i, size_t __n)
- void replace (const iterator &__p, const iterator &__q, const _CharT *__c_string)
- void replace (const iterator &__p, const iterator &__q, _CharT __c)
- void replace (const iterator &__p, const iterator &__q, const rope &__r)
- void replace (size_t __p, const iterator &__i, const iterator &__j)
- void replace (size_t __p, const const_iterator &__i, const const_iterator &__j)
- void replace (size_t __p, const _CharT *__i, const _CharT *__j)
- void replace (size_t __p, const _CharT *__c_string)
- void replace (size_t __p, const _CharT *__i, size_t __i_len)
- void replace (size_t __p, const rope &__r)
- void replace (size_t __p, _CharT __c)
- void replace (size_t __p, size_t __n, const iterator &__i, const iterator &__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 _CharT *__i, const _CharT *__j)
- void replace (size_t __p, size_t __n, const _CharT *__c_string)
- void replace (size_t __p, size_t __n, _CharT __c)
- void replace (size_t __p, size_t __n, const _CharT *__i, size_t __i_len)
- void replace (size_t __p, size_t __n, const rope &__r)
- const _CharT * replace_with_c_str ()
- rope (const rope &__x, const allocator_type &__a=allocator_type())
- rope (char_producer< _CharT > *__fn, size_t __len, bool __delete_fn, const allocator_type &__a=allocator_type())
- rope (const allocator_type &__a=allocator_type())
- rope (size_t __n, _CharT __c, const allocator_type &__a=allocator_type())
- rope (_CharT __c, const allocator_type &__a=allocator_type())
- rope (const iterator &__s, const iterator &__e, const allocator_type &__a=allocator_type())
- rope (const const_iterator &__s, const const_iterator &__e, const allocator_type &__a=allocator_type())
- rope (const _CharT *__s, const _CharT *__e, const allocator_type &__a=allocator_type())
- rope (const _CharT *__s, size_t __len, const allocator_type &__a=allocator_type())
- rope (const _CharT *__s, const allocator_type &__a=allocator_type())
- size_type size () const
- rope< _CharT, _Alloc > substr (const_iterator __start)
- rope substr (const_iterator __start, const_iterator __end) const
- rope substr (iterator __start) const
- rope substr (iterator __start, iterator __end) const
- rope substr (size_t __start, size_t __len=1) const
- void swap (rope &__b)
- ~rope () throw ()

## 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

- _RopeRep * _M_tree_ptr

## 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, _CharT2 __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, const rope< _CharT2, _Alloc2 > &__right)

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

- rope
- ropeimpl.h