rope File Reference

#include <bits/stl_algobase.h>
#include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h>
#include <bits/stl_algo.h>
#include <bits/stl_function.h>
#include <bits/stl_numeric.h>
#include <bits/allocator.h>
#include <ext/hash_fun.h>
#include <bits/gthr.h>
#include <ext/memory>
#include <ext/ropeimpl.h>

Go to the source code of this file.

Namespaces

namespace  __gnu_cxx
namespace  __gnu_cxx::_Rope_constants

Classes

class  __gnu_cxx::char_producer< _CharT >
class  __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >
class  __gnu_cxx::_Rope_char_consumer< _CharT >
struct  __gnu_cxx::_Rope_Concat_fn< _CharT, _Alloc >
struct  __gnu_cxx::_Refcount_Base
struct  __gnu_cxx::_Rope_rep_base< _CharT, _Alloc >
struct  __gnu_cxx::_Rope_RopeRep< _CharT, _Alloc >
struct  __gnu_cxx::_Rope_RopeLeaf< _CharT, _Alloc >
struct  __gnu_cxx::_Rope_RopeConcatenation< _CharT, _Alloc >
struct  __gnu_cxx::_Rope_RopeFunction< _CharT, _Alloc >
struct  __gnu_cxx::_Rope_RopeSubstring< _CharT, _Alloc >
struct  __gnu_cxx::_Rope_self_destruct_ptr< _CharT, _Alloc >
class  __gnu_cxx::_Rope_char_ref_proxy< _CharT, _Alloc >
class  __gnu_cxx::_Rope_char_ptr_proxy< _CharT, _Alloc >
class  __gnu_cxx::_Rope_iterator_base< _CharT, _Alloc >
class  __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >
class  __gnu_cxx::_Rope_iterator< _CharT, _Alloc >
struct  __gnu_cxx::_Rope_base< _CharT, _Alloc >
class  __gnu_cxx::rope< _CharT, _Alloc >
struct  __gnu_cxx::hash< crope >
struct  __gnu_cxx::hash< wrope >

Defines

#define _ROPE   1
#define __GC_CONST
#define __ROPE_DEFINE_ALLOCS(__a)
#define __STATIC_IF_SGI_ALLOC
#define __ROPE_DEFINE_ALLOC(_Tp, __name)
#define __STL_FREE_STRING(__s, __l, __a)   _S_free_string(__s, __l, __a);
#define __ROPE_DEFINE_ALLOC(_Tp, __name)
#define __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __size, __a)   _S_RopeLeaf_from_unowned_char_ptr(__s, __size, __a)

Typedefs

typedef rope< char > __gnu_cxx::crope
typedef rope< wchar_t > __gnu_cxx::wrope

Enumerations

enum  { __gnu_cxx::_Rope_constants::_S_max_rope_depth = 45 }
enum  __gnu_cxx::_Rope_constants::_Tag { __gnu_cxx::_Rope_constants::_S_leaf, __gnu_cxx::_Rope_constants::_S_concat, __gnu_cxx::_Rope_constants::_S_substringfn, __gnu_cxx::_Rope_constants::_S_function }

Functions

template<class _CharT>
_CharT __gnu_cxx::_S_eos (_CharT *)
template<class _CharT>
bool __gnu_cxx::_S_is_basic_char_type (_CharT *)
template<class _CharT>
bool __gnu_cxx::_S_is_one_byte_char_type (_CharT *)
bool __gnu_cxx::_S_is_basic_char_type (char *)
bool __gnu_cxx::_S_is_one_byte_char_type (char *)
bool __gnu_cxx::_S_is_basic_char_type (wchar_t *)
template<class _CharT>
void __gnu_cxx::_S_cond_store_eos (_CharT &)
void __gnu_cxx::_S_cond_store_eos (char &__c)
void __gnu_cxx::_S_cond_store_eos (wchar_t &__c)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator== (const _Rope_char_ptr_proxy< _CharT, _Alloc > &__x, const _Rope_char_ptr_proxy< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
_Rope_const_iterator< _CharT,
_Alloc > 
__gnu_cxx::operator- (const _Rope_const_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
template<class _CharT, class _Alloc>
_Rope_const_iterator< _CharT,
_Alloc > 
__gnu_cxx::operator+ (const _Rope_const_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
template<class _CharT, class _Alloc>
_Rope_const_iterator< _CharT,
_Alloc > 
__gnu_cxx::operator+ (ptrdiff_t __n, const _Rope_const_iterator< _CharT, _Alloc > &__x)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator== (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator< (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
ptrdiff_t __gnu_cxx::operator- (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
_Rope_iterator< _CharT, _Alloc > __gnu_cxx::operator- (const _Rope_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
template<class _CharT, class _Alloc>
_Rope_iterator< _CharT, _Alloc > __gnu_cxx::operator+ (const _Rope_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
template<class _CharT, class _Alloc>
_Rope_iterator< _CharT, _Alloc > __gnu_cxx::operator+ (ptrdiff_t __n, const _Rope_iterator< _CharT, _Alloc > &__x)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator== (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator< (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
ptrdiff_t __gnu_cxx::operator- (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
rope< _CharT, _Alloc > __gnu_cxx::operator+ (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
template<class _CharT, class _Alloc>
rope< _CharT, _Alloc > __gnu_cxx::operator+ (const rope< _CharT, _Alloc > &__left, const _CharT *__right)
template<class _CharT, class _Alloc>
rope< _CharT, _Alloc > __gnu_cxx::operator+ (const rope< _CharT, _Alloc > &__left, _CharT __right)
template<class _CharT, class __Alloc>
void __gnu_cxx::swap (_Rope_char_ref_proxy< _CharT, __Alloc > __a, _Rope_char_ref_proxy< _CharT, __Alloc > __b)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator!= (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator> (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator<= (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator>= (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator!= (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator> (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator<= (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator>= (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
rope< _CharT, _Alloc > & __gnu_cxx::operator+= (rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
template<class _CharT, class _Alloc>
rope< _CharT, _Alloc > & __gnu_cxx::operator+= (rope< _CharT, _Alloc > &__left, const _CharT *__right)
template<class _CharT, class _Alloc>
rope< _CharT, _Alloc > & __gnu_cxx::operator+= (rope< _CharT, _Alloc > &__left, _CharT __right)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator< (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator== (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator!= (const rope< _CharT, _Alloc > &__x, const rope< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator> (const rope< _CharT, _Alloc > &__x, const rope< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator<= (const rope< _CharT, _Alloc > &__x, const rope< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator>= (const rope< _CharT, _Alloc > &__x, const rope< _CharT, _Alloc > &__y)
template<class _CharT, class _Alloc>
bool __gnu_cxx::operator!= (const _Rope_char_ptr_proxy< _CharT, _Alloc > &__x, const _Rope_char_ptr_proxy< _CharT, _Alloc > &__y)
template<class _CharT, class _Traits, class _Alloc>
std::basic_ostream< _CharT,
_Traits > & 
__gnu_cxx::operator<< (std::basic_ostream< _CharT, _Traits > &__o, const rope< _CharT, _Alloc > &__r)
crope::reference __gnu_cxx::__mutable_reference_at (crope &__c, size_t __i)
wrope::reference __gnu_cxx::__mutable_reference_at (wrope &__c, size_t __i)
template<class _CharT, class _Alloc>
void __gnu_cxx::swap (rope< _CharT, _Alloc > &__x, rope< _CharT, _Alloc > &__y)

Variables

rope< _CharT, _Alloc > __gnu_cxx::identity_element (_Rope_Concat_fn< _CharT, _Alloc >)


Detailed Description

This file is a GNU extension to the Standard C++ Library (possibly containing extensions from the HP/SGI STL subset).

Definition in file rope.


Define Documentation

#define __GC_CONST

Definition at line 64 of file rope.

Referenced by __gnu_cxx::_Rope_RopeSubstring< _CharT, _Alloc >::operator()(), and __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >::operator++().

#define __ROPE_DEFINE_ALLOC ( _Tp,
__name   ) 

Value:

typedef typename \
          _Alloc::template rebind<_Tp>::other __name##Alloc; \
        static _Tp* __name##_allocate(size_t __n) \
          { return __name##Alloc().allocate(__n); } \
        static void __name##_deallocate(_Tp *__p, size_t __n) \
          { __name##Alloc().deallocate(__p, __n); }

Definition at line 1445 of file rope.

#define __ROPE_DEFINE_ALLOC ( _Tp,
__name   ) 

Value:

typedef typename \
          _Alloc::template rebind<_Tp>::other __name##Alloc; \
        static _Tp* __name##_allocate(size_t __n) \
          { return __name##Alloc().allocate(__n); } \
        static void __name##_deallocate(_Tp *__p, size_t __n) \
          { __name##Alloc().deallocate(__p, __n); }

Definition at line 1445 of file rope.

#define __ROPE_DEFINE_ALLOCS ( __a   ) 

Value:

__ROPE_DEFINE_ALLOC(_CharT,_Data) /* character data */ \
        typedef _Rope_RopeConcatenation<_CharT,__a> __C; \
        __ROPE_DEFINE_ALLOC(__C,_C) \
        typedef _Rope_RopeLeaf<_CharT,__a> __L; \
        __ROPE_DEFINE_ALLOC(__L,_L) \
        typedef _Rope_RopeFunction<_CharT,__a> __F; \
        __ROPE_DEFINE_ALLOC(__F,_F) \
        typedef _Rope_RopeSubstring<_CharT,__a> __S; \
        __ROPE_DEFINE_ALLOC(__S,_S)

Definition at line 500 of file rope.

#define __STATIC_IF_SGI_ALLOC

Definition at line 518 of file rope.

#define __STL_FREE_STRING ( __s,
__l,
__a   )     _S_free_string(__s, __l, __a);

Definition at line 599 of file rope.

Referenced by __gnu_cxx::rope< _CharT, _Alloc >::_S_RopeLeaf_from_unowned_char_ptr(), __gnu_cxx::rope< _CharT, _Alloc >::rope(), and __gnu_cxx::_Rope_RopeLeaf< _CharT, _Alloc >::~_Rope_RopeLeaf().

#define __STL_ROPE_FROM_UNOWNED_CHAR_PTR ( __s,
__size,
__a   )     _S_RopeLeaf_from_unowned_char_ptr(__s, __size, __a)

Referenced by __gnu_cxx::rope< _CharT, _Alloc >::_S_destr_concat_char_iter(), __gnu_cxx::rope< _CharT, _Alloc >::push_front(), and __gnu_cxx::rope< _CharT, _Alloc >::rope().

#define _ROPE   1

Definition at line 49 of file rope.


Generated on Tue Feb 2 16:57:26 2010 for GNU C++ STL by  doxygen 1.4.7