ReactOS 0.4.16-dev-338-g34e76ad
_Rb_tree_base< _Tp, _Alloc > Class Template Reference

#include <_tree.h>

Inheritance diagram for _Rb_tree_base< _Tp, _Alloc >:
Collaboration diagram for _Rb_tree_base< _Tp, _Alloc >:

Public Types

typedef _Rb_tree_node_base _Node_base
 
typedef _Rb_tree_node< _Tp > _Node
 
typedef _Alloc allocator_type
 

Public Member Functions

allocator_type get_allocator () const
 

Protected Member Functions

 _Rb_tree_base (const allocator_type &__a)
 
 _Rb_tree_base (__move_source< _Self > src)
 
void _M_empty_initialize ()
 
void _M_rebind (_Node_base *__static_node)
 

Protected Attributes

_AllocProxy _M_header
 

Private Types

typedef _Rb_tree_base< _Tp, _Alloc_Self
 
typedef _Alloc_traits< _Node, _Alloc >::allocator_type _M_node_allocator_type
 
typedef _STLP_alloc_proxy< _Node_base, _Node, _M_node_allocator_type_AllocProxy
 

Detailed Description

template<class _Tp, class _Alloc>
class _Rb_tree_base< _Tp, _Alloc >

Definition at line 232 of file _tree.h.

Member Typedef Documentation

◆ _AllocProxy

template<class _Tp , class _Alloc >
typedef _STLP_alloc_proxy<_Node_base, _Node, _M_node_allocator_type> _Rb_tree_base< _Tp, _Alloc >::_AllocProxy
private

Definition at line 241 of file _tree.h.

◆ _M_node_allocator_type

template<class _Tp , class _Alloc >
typedef _Alloc_traits<_Node,_Alloc>::allocator_type _Rb_tree_base< _Tp, _Alloc >::_M_node_allocator_type
private

Definition at line 240 of file _tree.h.

◆ _Node

template<class _Tp , class _Alloc >
typedef _Rb_tree_node<_Tp> _Rb_tree_base< _Tp, _Alloc >::_Node

Definition at line 235 of file _tree.h.

◆ _Node_base

template<class _Tp , class _Alloc >
typedef _Rb_tree_node_base _Rb_tree_base< _Tp, _Alloc >::_Node_base

Definition at line 234 of file _tree.h.

◆ _Self

template<class _Tp , class _Alloc >
typedef _Rb_tree_base<_Tp, _Alloc> _Rb_tree_base< _Tp, _Alloc >::_Self
private

Definition at line 239 of file _tree.h.

◆ allocator_type

template<class _Tp , class _Alloc >
typedef _Alloc _Rb_tree_base< _Tp, _Alloc >::allocator_type

Definition at line 237 of file _tree.h.

Constructor & Destructor Documentation

◆ _Rb_tree_base() [1/2]

template<class _Tp , class _Alloc >
_Rb_tree_base< _Tp, _Alloc >::_Rb_tree_base ( const allocator_type __a)
inlineprotected

Definition at line 249 of file _tree.h.

249 :
252 }
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
void _M_empty_initialize()
Definition: _tree.h:262
_Rb_tree_node_base _Node_base
Definition: _tree.h:234
_AllocProxy _M_header
Definition: _tree.h:282

◆ _Rb_tree_base() [2/2]

template<class _Tp , class _Alloc >
_Rb_tree_base< _Tp, _Alloc >::_Rb_tree_base ( __move_source< _Self src)
inlineprotected

Definition at line 255 of file _tree.h.

255 :
256 _M_header(__move_source<_AllocProxy>(src.get()._M_header)) {
257 _M_rebind(&src.get()._M_header._M_data);
258 src.get()._M_empty_initialize();
259 }
void _M_rebind(_Node_base *__static_node)
Definition: _tree.h:270
GLenum src
Definition: glext.h:6340

Member Function Documentation

◆ _M_empty_initialize()

template<class _Tp , class _Alloc >
void _Rb_tree_base< _Tp, _Alloc >::_M_empty_initialize ( )
inlineprotected

Definition at line 262 of file _tree.h.

262 {
263 _M_header._M_data._M_color = _S_rb_tree_red; // used to distinguish header from
264 // __root, in iterator.operator++
268 }
#define _S_rb_tree_red
Definition: _tree.h:81
_Value _M_data
Definition: _alloc.h:478
_Base_ptr _M_parent
Definition: _tree.h:89
_Base_ptr _M_right
Definition: _tree.h:91
_Base_ptr _M_left
Definition: _tree.h:90
_Color_type _M_color
Definition: _tree.h:88

Referenced by _Rb_tree_base< _Tp, _Alloc >::_Rb_tree_base().

◆ _M_rebind()

template<class _Tp , class _Alloc >
void _Rb_tree_base< _Tp, _Alloc >::_M_rebind ( _Node_base __static_node)
inlineprotected

◆ get_allocator()

template<class _Tp , class _Alloc >
allocator_type _Rb_tree_base< _Tp, _Alloc >::get_allocator ( ) const
inline

Definition at line 244 of file _tree.h.

244 {
245 return _STLP_CONVERT_ALLOCATOR(_M_header, _Tp);
246 }

Referenced by _Rb_tree< _Key, _Compare, _Value, _KeyOfValue, _Traits, >::get_allocator().

Member Data Documentation

◆ _M_header


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