_Tree< _K, _Ty, _Kfn, _Pr, _A > Class Template Reference

#include <xtree_fix.h>

List of all members.

Classes

struct  _Node
class  const_iterator
class  iterator

Public Types

typedef _Tree< _K, _Ty, _Kfn,
_Pr, _A > 
_Myt
typedef pair< const_iterator,
const_iterator
_Paircc
typedef pair< iterator, bool > _Pairib
typedef pair< iterator, iterator_Pairii
typedef
reverse_bidirectional_iterator
< const_iterator, value_type,
const_reference, _Ctptr,
difference_type
const_reverse_iterator
typedef _A::difference_type difference_type
typedef _K key_type
typedef
reverse_bidirectional_iterator
< iterator, value_type,
reference, _Tptr,
difference_type
reverse_iterator
typedef _A::size_type size_type
typedef _Ty value_type

Public Member Functions

typedef _POINTER_X (const _Ty, _A) _Ctptr
typedef _POINTER_X (_Ty, _A) _Tptr
typedef _REFERENCE_X (const _Ty, _A) const _reference
typedef _REFERENCE_X (_Ty, _A) reference
 _Tree (const _Myt &_X)
 _Tree (const _Ty *_F, const _Ty *_L, const _Pr &_Parg, bool _Marg=true, const _A &_Al=_A())
 _Tree (const _Pr &_Parg, bool _Marg=true, const _A &_Al=_A())
const_iterator begin () const
iterator begin ()
void clear ()
size_type count (const _K &_Kv) const
bool empty () const
const_iterator end () const
iterator end ()
_Paircc equal_range (const _K &_Kv) const
_Pairii equal_range (const _K &_Kv)
void erase (const _K *_F, const _K *_L)
size_type erase (const _K &_X)
iterator erase (iterator _F, iterator _L)
iterator erase (iterator _P)
const_iterator find (const _K &_Kv) const
iterator find (const _K &_Kv)
_A get_allocator () const
void insert (const value_type *_F, const value_type *_L)
void insert (iterator _F, iterator _L)
iterator insert (iterator _P, const value_type &_V)
_Pairib insert (const value_type &_V)
_Pr key_comp () const
const_iterator lower_bound (const _K &_Kv) const
iterator lower_bound (const _K &_Kv)
size_type max_size () const
_Mytoperator= (const _Myt &_X)
const_reverse_iterator rbegin () const
reverse_iterator rbegin ()
const_reverse_iterator rend () const
reverse_iterator rend ()
size_type size () const
void swap (_Myt &_X)
const_iterator upper_bound (const _K &_Kv) const
iterator upper_bound (const _K &_Kv)
 ~_Tree ()

Protected Types


Protected Member Functions

_Nodeptr _Buynode (_Nodeptr _Parg, _Redbl _Carg)
void _Consval (_Tptr _P, const _Ty &_V)
_Nodeptr _Copy (_Nodeptr _X, _Nodeptr _P)
void _Copy (const _Myt &_X)
void _Destval (_Tptr _P)
void _Erase (_Nodeptr _X)
void _Freenode (_Nodeptr _S)
void _Init ()
iterator _Insert (_Nodeptr _X, _Nodeptr _Y, const _Ty &_V)
_Nodeptr _Lbound (const _K &_Kv) const
_Nodeptr & _Lmost () const
_Nodeptr & _Lmost ()
void _Lrotate (_Nodeptr _X)
typedef _POINTER_X (_Node, _A) _Nodeptr
typedef _REFERENCE_X (_Ty, _A) _Vref
typedef _REFERENCE_X (_Redbl, _A) _Rbref
typedef _REFERENCE_X (const _K, _A) _Keyref
typedef _REFERENCE_X (_Nodeptr, _A) _Nodepref
_Nodeptr & _Rmost () const
_Nodeptr & _Rmost ()
_Nodeptr & _Root () const
_Nodeptr & _Root ()
void _Rrotate (_Nodeptr _X)
_Nodeptr _Ubound (const _K &_Kv) const

Static Protected Member Functions

static _Rbref _Color (_Nodeptr _P)
static _Keyref _Key (_Nodeptr _P)
static _Nodepref _Left (_Nodeptr _P)
static _Nodeptr _Max (_Nodeptr _P)
static _Nodeptr _Min (_Nodeptr _P)
static _Nodepref _Parent (_Nodeptr _P)
static _Nodepref _Right (_Nodeptr _P)
static _Vref _Value (_Nodeptr _P)

Protected Attributes

_Nodeptr _Head
bool _Multi
size_type _Size
_A allocator
_Pr key_compare

Static Protected Attributes

static _Nodeptr _Nil = 0
static size_t _Nilrefs = 0

Friends

struct _Node
class const_iterator
class iterator
void swap (_Myt &_X, _Myt &_Y)

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
class _Tree< _K, _Ty, _Kfn, _Pr, _A >


Member Typedef Documentation

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree<_K, _Ty, _Kfn, _Pr, _A> _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Myt

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef pair<const_iterator, const_iterator> _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Paircc

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef pair<iterator, bool> _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Pairib

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef pair<iterator, iterator> _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Pairii

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef reverse_bidirectional_iterator<const_iterator, value_type, const_reference, _Ctptr, difference_type> _Tree< _K, _Ty, _Kfn, _Pr, _A >::const_reverse_iterator

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _A::difference_type _Tree< _K, _Ty, _Kfn, _Pr, _A >::difference_type

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _K _Tree< _K, _Ty, _Kfn, _Pr, _A >::key_type

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef reverse_bidirectional_iterator<iterator, value_type, reference, _Tptr, difference_type> _Tree< _K, _Ty, _Kfn, _Pr, _A >::reverse_iterator

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _A::size_type _Tree< _K, _Ty, _Kfn, _Pr, _A >::size_type

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Ty _Tree< _K, _Ty, _Kfn, _Pr, _A >::value_type


Member Enumeration Documentation

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
enum _Tree::_Redbl [protected]

Enumerator:
_Red 
_Black 


Constructor & Destructor Documentation

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Tree< _K, _Ty, _Kfn, _Pr, _A >::_Tree ( const _Pr &  _Parg,
bool  _Marg = true,
const _A &  _Al = _A() 
) [inline, explicit]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Tree< _K, _Ty, _Kfn, _Pr, _A >::_Tree ( const _Ty *  _F,
const _Ty *  _L,
const _Pr &  _Parg,
bool  _Marg = true,
const _A &  _Al = _A() 
) [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Tree< _K, _Ty, _Kfn, _Pr, _A >::_Tree ( const _Myt _X  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Tree< _K, _Ty, _Kfn, _Pr, _A >::~_Tree (  )  [inline]


Member Function Documentation

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Buynode ( _Nodeptr  _Parg,
_Redbl  _Carg 
) [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Rbref _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Color ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Consval ( _Tptr  _P,
const _Ty &  _V 
) [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Copy ( _Nodeptr  _X,
_Nodeptr  _P 
) [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Copy ( const _Myt _X  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Destval ( _Tptr  _P  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Erase ( _Nodeptr  _X  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Freenode ( _Nodeptr  _S  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Init (  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Insert ( _Nodeptr  _X,
_Nodeptr  _Y,
const _Ty &  _V 
) [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Keyref _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Key ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Lbound ( const _K &  _Kv  )  const [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Nodepref _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Left ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr& _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Lmost (  )  const [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr& _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Lmost (  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Lrotate ( _Nodeptr  _X  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Max ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Min ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Nodepref _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Parent ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_POINTER_X ( const   _Ty,
_A   
)

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_POINTER_X ( _Ty  ,
_A   
)

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_POINTER_X ( _Node  ,
_A   
) [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_REFERENCE_X ( const   _Ty,
_A   
) const

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_REFERENCE_X ( _Ty  ,
_A   
)

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_REFERENCE_X ( _Ty  ,
_A   
) [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_REFERENCE_X ( _Redbl  ,
_A   
) [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_REFERENCE_X ( const   _K,
_A   
) [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
typedef _Tree< _K, _Ty, _Kfn, _Pr, _A >::_REFERENCE_X ( _Nodeptr  ,
_A   
) [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Nodepref _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Right ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr& _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Rmost (  )  const [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr& _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Rmost (  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr& _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Root (  )  const [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr& _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Root (  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Rrotate ( _Nodeptr  _X  )  [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Ubound ( const _K &  _Kv  )  const [inline, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
static _Vref _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Value ( _Nodeptr  _P  )  [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
const_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::begin (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::begin (  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::clear (  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
size_type _Tree< _K, _Ty, _Kfn, _Pr, _A >::count ( const _K &  _Kv  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
bool _Tree< _K, _Ty, _Kfn, _Pr, _A >::empty (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
const_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::end (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::end (  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Paircc _Tree< _K, _Ty, _Kfn, _Pr, _A >::equal_range ( const _K &  _Kv  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Pairii _Tree< _K, _Ty, _Kfn, _Pr, _A >::equal_range ( const _K &  _Kv  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::erase ( const _K *  _F,
const _K *  _L 
) [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
size_type _Tree< _K, _Ty, _Kfn, _Pr, _A >::erase ( const _K &  _X  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::erase ( iterator  _F,
iterator  _L 
) [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::erase ( iterator  _P  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
const_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::find ( const _K &  _Kv  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::find ( const _K &  _Kv  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_A _Tree< _K, _Ty, _Kfn, _Pr, _A >::get_allocator (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::insert ( const value_type _F,
const value_type _L 
) [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::insert ( iterator  _F,
iterator  _L 
) [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::insert ( iterator  _P,
const value_type _V 
) [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Pairib _Tree< _K, _Ty, _Kfn, _Pr, _A >::insert ( const value_type _V  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Pr _Tree< _K, _Ty, _Kfn, _Pr, _A >::key_comp (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
const_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::lower_bound ( const _K &  _Kv  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::lower_bound ( const _K &  _Kv  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
size_type _Tree< _K, _Ty, _Kfn, _Pr, _A >::max_size (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Myt& _Tree< _K, _Ty, _Kfn, _Pr, _A >::operator= ( const _Myt _X  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
const_reverse_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::rbegin (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
reverse_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::rbegin (  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
const_reverse_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::rend (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
reverse_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::rend (  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
size_type _Tree< _K, _Ty, _Kfn, _Pr, _A >::size (  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void _Tree< _K, _Ty, _Kfn, _Pr, _A >::swap ( _Myt _X  )  [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
const_iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::upper_bound ( const _K &  _Kv  )  const [inline]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
iterator _Tree< _K, _Ty, _Kfn, _Pr, _A >::upper_bound ( const _K &  _Kv  )  [inline]


Friends And Related Function Documentation

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
friend struct _Node [friend]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
friend class const_iterator [friend]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
friend class iterator [friend]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
void swap ( _Myt _X,
_Myt _Y 
) [friend]


Member Data Documentation

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Head [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
bool _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Multi [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Tree< _K, _Ty, _Kfn, _Pr, _A >::_Nodeptr _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Nil = 0 [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
size_t _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Nilrefs = 0 [inline, static, protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
size_type _Tree< _K, _Ty, _Kfn, _Pr, _A >::_Size [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_A _Tree< _K, _Ty, _Kfn, _Pr, _A >::allocator [protected]

template<class _K, class _Ty, class _Kfn, class _Pr, class _A>
_Pr _Tree< _K, _Ty, _Kfn, _Pr, _A >::key_compare [protected]


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

Generated on Mon Oct 19 10:11:28 2009 for Falcon_Core by  doxygen 1.5.8