ReactOS 0.4.15-dev-7942-gd23573b
_Slist_base< _Tp, _Alloc > Class Template Reference

#include <_slist.h>

Collaboration diagram for _Slist_base< _Tp, _Alloc >:

Public Types

typedef _STLP_alloc_proxy< _Slist_node_base, _Node, _M_node_allocator_type_AllocProxy
 
typedef _Alloc allocator_type
 

Public Member Functions

 _Slist_base (const allocator_type &__a)
 
 _Slist_base (__move_source< _Self > src)
 
 ~_Slist_base ()
 
allocator_type get_allocator () const
 

Public Attributes

_AllocProxy _M_head
 

Protected Types

typedef _Slist_node< _Tp > _Node
 
typedef _Alloc_traits< _Node, _Alloc >::allocator_type _M_node_allocator_type
 
typedef _Slist_base< _Tp, _Alloc_Self
 

Protected Member Functions

_Slist_node_base_M_erase_after (_Slist_node_base *__pos)
 
_Slist_node_base_M_erase_after (_Slist_node_base *, _Slist_node_base *)
 

Detailed Description

template<class _Tp, class _Alloc>
class _Slist_base< _Tp, _Alloc >

Definition at line 148 of file _slist.h.

Member Typedef Documentation

◆ _AllocProxy

Definition at line 155 of file _slist.h.

◆ _M_node_allocator_type

template<class _Tp , class _Alloc >
typedef _Alloc_traits<_Node,_Alloc>::allocator_type _Slist_base< _Tp, _Alloc >::_M_node_allocator_type
protected

Definition at line 151 of file _slist.h.

◆ _Node

template<class _Tp , class _Alloc >
typedef _Slist_node<_Tp> _Slist_base< _Tp, _Alloc >::_Node
protected

Definition at line 150 of file _slist.h.

◆ _Self

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

Definition at line 152 of file _slist.h.

◆ allocator_type

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

Definition at line 158 of file _slist.h.

Constructor & Destructor Documentation

◆ _Slist_base() [1/2]

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

Definition at line 160 of file _slist.h.

160 :
162 { _M_head._M_data._M_next = 0; }
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Value _M_data
Definition: _alloc.h:478
_Slist_node< _Tp > _Node
Definition: _slist.h:150
_AllocProxy _M_head
Definition: _slist.h:186
_Slist_node_base * _M_next
Definition: _slist_base.h:39

◆ _Slist_base() [2/2]

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

Definition at line 165 of file _slist.h.

165 :
167 { src.get()._M_head._M_data._M_next = 0; }
GLenum src
Definition: glext.h:6340

◆ ~_Slist_base()

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

Definition at line 170 of file _slist.h.

_Slist_node_base * _M_erase_after(_Slist_node_base *__pos)
Definition: _slist.h:173

Member Function Documentation

◆ _M_erase_after() [1/2]

template<class _Tp , class _Alloc >
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _Slist_node_base * _Slist_base< _Tp, _Alloc >::_M_erase_after ( _Slist_node_base __before_first,
_Slist_node_base __last_node 
)
protected

Definition at line 44 of file _slist.c.

45 {
46 _Slist_node_base* __cur = __before_first->_M_next;
47 while (__cur != __last_node) {
48 _Node* __tmp = __STATIC_CAST(_Node*, __cur);
49 __cur = __cur->_M_next;
50 _STLP_STD::_Destroy(&__tmp->_M_data);
51 _M_head.deallocate(__tmp,1);
52 }
53 __before_first->_M_next = __last_node;
54 return __last_node;
55}
#define __STATIC_CAST(__x, __y)
Definition: features.h:585

◆ _M_erase_after() [2/2]

template<class _Tp , class _Alloc >
_Slist_node_base * _Slist_base< _Tp, _Alloc >::_M_erase_after ( _Slist_node_base __pos)
inlineprotected

Definition at line 173 of file _slist.h.

173 {
174 _Node* __next = __STATIC_CAST(_Node*, __pos->_M_next);
175 _Slist_node_base* __next_next = __next->_M_next;
176 __pos->_M_next = __next_next;
177 _STLP_STD::_Destroy(&__next->_M_data);
178 _M_head.deallocate(__next,1);
179 return __next_next;
180 }

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

◆ get_allocator()

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

Definition at line 184 of file _slist.h.

_Alloc_traits< _Node, _Alloc >::allocator_type _M_node_allocator_type
Definition: _slist.h:151

Member Data Documentation

◆ _M_head


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