__gnu_cxx::rope< CharT, Alloc > Class Template Reference
[STL extensions from SGI]

Inheritance diagram for __gnu_cxx::rope< CharT, Alloc >:

Inheritance graph
[legend]
Collaboration diagram for __gnu_cxx::rope< CharT, Alloc >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef CharT value_type
typedef ptrdiff_t difference_type
typedef size_t size_type
typedef CharT const_reference
typedef const CharT * const_pointer
typedef Rope_iterator< CharT,
Alloc > 
iterator
typedef Rope_const_iterator<
CharT, Alloc > 
const_iterator
typedef Rope_char_ref_proxy<
CharT, Alloc > 
reference
typedef Rope_char_ptr_proxy<
CharT, Alloc > 
pointer
typedef reverse_iterator<
const_iterator
const_reverse_iterator
typedef reverse_iterator<
iterator
reverse_iterator

Public Member Functions

void apply_to_pieces (size_t __begin, size_t __end, Rope_char_consumer< CharT > &c) const
bool empty () const
int compare (const rope &y) const
 rope (const CharT *s, const allocator_type &a=allocator_type())
 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 (CharT c, const allocator_type &a=allocator_type())
 rope (size_t n, CharT c, const allocator_type &a=allocator_type())
 rope (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 rope &x, const allocator_type &a=allocator_type())
 ~rope () throw ()
ropeoperator= (const rope &x)
void clear ()
void push_back (CharT x)
void pop_back ()
CharT back () const
void push_front (CharT x)
void pop_front ()
CharT front () const
void balance ()
void copy (CharT *__buffer) const
size_type copy (size_type position, size_type n, CharT *__buffer) const
void dump ()
const CharT * c_str () const
const CharT * replace_with_c_str ()
void delete_c_str ()
CharT operator[] (size_type position) const
CharT at (size_type position) const
const_iterator begin () const
const_iterator const_begin () const
const_iterator end () const
const_iterator const_end () const
size_type size () const
size_type length () const
size_type max_size () const
const_reverse_iterator rbegin () const
const_reverse_iterator const_rbegin () const
const_reverse_iterator rend () const
const_reverse_iterator const_rend () const
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 swap (rope &__b)
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)
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 erase (size_t __p, size_t n)
void erase (size_t __p)
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)
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)
iterator erase (const iterator &__p, const iterator &__q)
iterator erase (const iterator &__p)
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)
size_type find (CharT c, size_type position=0) const
size_type find (const CharT *s, size_type position=0) const
iterator mutable_begin ()
iterator mutable_end ()
reverse_iterator mutable_rbegin ()
reverse_iterator mutable_rend ()
reference mutable_reference_at (size_type position)
const_iterator end ()
const_iterator begin ()
const_reverse_iterator rend ()
const_reverse_iterator rbegin ()
allocator_type get_allocator () const

Public Attributes

RopeRepM_tree_ptr

Static Public Attributes

static const size_type npos

Protected Types

typedef Rope_base< CharT,
Alloc > 
Base
typedef Base::allocator_type allocator_type
typedef _GCCONST CharT * Cstrptr
typedef RopeRopeRep< CharT,
Alloc > 
RopeRep
typedef RopeRopeConcatenation<
CharT, Alloc > 
RopeConcatenation
typedef RopeRopeLeaf< CharT,
Alloc > 
RopeLeaf
typedef RopeRopeFunction<
CharT, Alloc > 
RopeFunction
typedef RopeRopeSubstring<
CharT, Alloc > 
RopeSubstring
typedef Rope_self_destruct_ptr<
CharT, Alloc > 
Self_destruct_ptr
enum  

Static Protected Member Functions

static bool S_is0 (CharT c)
static CharT S_fetch (RopeRep *__r, size_type position)
static CharT * S_fetch_ptr (RopeRep *__r, size_type position)
static bool S_apply_to_pieces (Rope_char_consumer< CharT > &c, const RopeRep *__r, size_t __begin, size_t __end)
static void S_unref (RopeRep *__t)
static void S_ref (RopeRep *__t)
static RopeRepS_substring (RopeRep *__base, size_t start, size_t __endp1)
static RopeRepS_concat_char_iter (RopeRep *__r, const CharT *__iter, size_t slen)
static RopeRepS_destr_concat_char_iter (RopeRep *__r, const CharT *__iter, size_t slen)
static RopeRepS_concat (RopeRep *__left, RopeRep *__right)
static size_t S_rounded_up_size (size_t n)
static size_t S_allocated_capacity (size_t n)
static RopeLeafS_newRopeLeaf (_GCCONST CharT *s, size_t size, allocator_type a)
static RopeConcatenationS_newRopeConcatenation (RopeRep *__left, RopeRep *__right, allocator_type a)
static RopeFunctionS_newRopeFunction (char_producer< CharT > *__f, size_t size, bool __d, allocator_type a)
static RopeSubstringS_newRopeSubstring (RopeRopeRep< CharT, Alloc > *__b, size_t s, size_t __l, allocator_type a)
static RopeLeafSRopeLeaf_from_unowned_char_ptr (const CharT *s, size_t size, allocator_type a)
static RopeRepS_tree_concat (RopeRep *__left, RopeRep *__right)
static RopeLeafS_leaf_concat_char_iter (RopeLeaf *__r, const CharT *__iter, size_t slen)
static RopeLeafS_destr_leaf_concat_char_iter (RopeLeaf *__r, const CharT *__iter, size_t slen)
static RopeRepreplace (RopeRep *__old, size_t position1, size_t position2, RopeRep *__r)

Static Protected Attributes

static CharT S_empty_c_str [1]

Private Member Functions

 rope (RopeRep *__t, const allocator_type &a=allocator_type())

Static Private Member Functions

static size_t S_char_ptr_len (const CharT *s)
static CharT * S_flatten (RopeRep *__r, CharT *__buffer)
static CharT * S_flatten (RopeRep *__r, size_t start, size_t __len, CharT *__buffer)
static bool S_is_balanced (RopeRep *__r)
static bool S_is_almost_balanced (RopeRep *__r)
static bool S_is_roughly_balanced (RopeRep *__r)
static RopeRepS_concat_and_set_balanced (RopeRep *__left, RopeRep *__right)
static RopeRepS_balance (RopeRep *__r)
static void S_add_to_forest (RopeRep *__r, RopeRep **__forest)
static void S_add_leaf_to_forest (RopeRep *__r, RopeRep **__forest)
static void S_dump (RopeRep *__r, int indent=0)
static int S_compare (const RopeRep *x, const RopeRep *y)

Static Private Attributes

static const unsigned long S_min_len [Rope_constants::S_max_rope_depth+1]

Friends

class Rope_iterator< CharT, Alloc >
class Rope_const_iterator< CharT, Alloc >
struct RopeRopeRep< CharT, Alloc >
class Rope_iterator_base< CharT, Alloc >
class Rope_char_ptr_proxy< CharT, Alloc >
class Rope_char_ref_proxy< CharT, Alloc >
struct RopeRopeSubstring< CharT, Alloc >

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 1234 of file rope.


The documentation for this class was generated from the following files:
Generated on Mon Mar 6 19:53:30 2006 for libstdc++-v3 Source by  doxygen 1.4.4