libstdc++
__gnu_cxx::rope< _CharT, _Alloc > Class Template Reference

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)
 
ropeappend (const _CharT *__iter, size_t __n)
 
ropeappend (const _CharT *__c_string)
 
ropeappend (const _CharT *__s, const _CharT *__e)
 
ropeappend (const_iterator __s, const_iterator __e)
 
ropeappend (_CharT __c)
 
ropeappend ()
 
ropeappend (const rope &__y)
 
ropeappend (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: