ReactOS 0.4.16-dev-340-g0540c21
_List_base< _Tp, _Alloc > Class Template Reference

#include <_list.h>

Collaboration diagram for _List_base< _Tp, _Alloc >:

Public Types

typedef _STLP_alloc_proxy< _Node_base, _Node, _Node_allocator_type_AllocProxy
 
typedef _Alloc allocator_type
 

Public Member Functions

allocator_type get_allocator () const
 
 _List_base (const allocator_type &__a)
 
 _List_base (__move_source< _Self > src)
 
 ~_List_base ()
 
void clear ()
 
bool empty () const
 
void _M_empty_initialize ()
 

Public Attributes

_AllocProxy _M_node
 

Protected Types

typedef _List_node_base _Node_base
 
typedef _List_node< _Tp > _Node
 
typedef _List_base< _Tp, _Alloc_Self
 
typedef _Alloc_traits< _Node, _Alloc >::allocator_type _Node_allocator_type
 

Detailed Description

template<class _Tp, class _Alloc>
class _List_base< _Tp, _Alloc >

Definition at line 174 of file _list.h.

Member Typedef Documentation

◆ _AllocProxy

template<class _Tp , class _Alloc >
typedef _STLP_alloc_proxy<_Node_base, _Node, _Node_allocator_type> _List_base< _Tp, _Alloc >::_AllocProxy

Definition at line 182 of file _list.h.

◆ _Node

template<class _Tp , class _Alloc >
typedef _List_node<_Tp> _List_base< _Tp, _Alloc >::_Node
protected

Definition at line 178 of file _list.h.

◆ _Node_allocator_type

template<class _Tp , class _Alloc >
typedef _Alloc_traits<_Node,_Alloc>::allocator_type _List_base< _Tp, _Alloc >::_Node_allocator_type
protected

Definition at line 180 of file _list.h.

◆ _Node_base

template<class _Tp , class _Alloc >
typedef _List_node_base _List_base< _Tp, _Alloc >::_Node_base
protected

Definition at line 177 of file _list.h.

◆ _Self

template<class _Tp , class _Alloc >
typedef _List_base<_Tp, _Alloc> _List_base< _Tp, _Alloc >::_Self
protected

Definition at line 179 of file _list.h.

◆ allocator_type

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

Definition at line 183 of file _list.h.

Constructor & Destructor Documentation

◆ _List_base() [1/2]

template<class _Tp , class _Alloc >
_List_base< _Tp, _Alloc >::_List_base ( const allocator_type __a)
inline

Definition at line 188 of file _list.h.

#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
void _M_empty_initialize()
Definition: _list.h:210
_List_node< _Tp > _Node
Definition: _list.h:178
_AllocProxy _M_node
Definition: _list.h:216
_List_node_base _Node_base
Definition: _list.h:177

◆ _List_base() [2/2]

template<class _Tp , class _Alloc >
_List_base< _Tp, _Alloc >::_List_base ( __move_source< _Self src)
inline

Definition at line 192 of file _list.h.

192 :
193 _M_node(__move_source<_AllocProxy>(src.get()._M_node)) {
194 if (src.get().empty())
195 //We force this to empty.
197 else {
198 src.get()._M_empty_initialize();
200 }
201 }
_Value _M_data
Definition: _alloc.h:478
GLenum src
Definition: glext.h:6340
_List_node_base * _M_prev
Definition: _list.h:59
_List_node_base * _M_next
Definition: _list.h:58

◆ ~_List_base()

template<class _Tp , class _Alloc >
_List_base< _Tp, _Alloc >::~_List_base ( )
inline

Definition at line 204 of file _list.h.

205 { clear(); }
void clear()
Definition: _list.c:66

Member Function Documentation

◆ _M_empty_initialize()

template<class _Tp , class _Alloc >
void _List_base< _Tp, _Alloc >::_M_empty_initialize ( )
inline

Definition at line 210 of file _list.h.

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

◆ clear()

Definition at line 66 of file _list.c.

66 {
68 while (
69#if defined (__BORLANDC__) // runtime error
70 __cur &&
71#endif
72 __cur != &(_M_node._M_data)) {
73 _Node* __tmp = __cur;
74 __cur = __STATIC_CAST(_Node*, __cur->_M_next);
75 _STLP_STD::_Destroy(&__tmp->_M_data);
76 this->_M_node.deallocate(__tmp, 1);
77 }
80}
#define __STATIC_CAST(__x, __y)
Definition: features.h:585

Referenced by _List_base< _Tp, _Alloc >::~_List_base().

◆ empty()

template<class _Tp , class _Alloc >
bool _List_base< _Tp, _Alloc >::empty ( ) const
inline

Definition at line 208 of file _list.h.

208{ return _M_node._M_data._M_next == &_M_node._M_data; }

◆ get_allocator()

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

Definition at line 185 of file _list.h.

_Alloc_traits< _Node, _Alloc >::allocator_type _Node_allocator_type
Definition: _list.h:180

Member Data Documentation

◆ _M_node


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