ReactOS  0.4.14-dev-608-gd495a4f
_Sl_global< _Dummy > Class Template Reference

#include <_slist_base.h>

Static Public Member Functions

static size_t _STLP_CALL size (_Slist_node_base *__node)
 
static _Slist_node_base *_STLP_CALL __reverse (_Slist_node_base *__node)
 
static void _STLP_CALL __splice_after (_Slist_node_base *__pos, _Slist_node_base *__before_first, _Slist_node_base *__before_last)
 
static void _STLP_CALL __splice_after (_Slist_node_base *__pos, _Slist_node_base *__head)
 
static _Slist_node_base *_STLP_CALL __previous (_Slist_node_base *__head, const _Slist_node_base *__node)
 
static const _Slist_node_base *_STLP_CALL __previous (const _Slist_node_base *__head, const _Slist_node_base *__node)
 

Detailed Description

template<class _Dummy>
class _Sl_global< _Dummy >

Definition at line 52 of file _slist_base.h.

Member Function Documentation

◆ __previous() [1/2]

template<class _Dummy >
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE _Slist_node_base *_STLP_CALL _Sl_global< _Dummy >::__previous ( _Slist_node_base __head,
const _Slist_node_base __node 
)
static

Definition at line 39 of file _slist_base.c.

40  {
41  while (__head && __head->_M_next != __node)
42  __head = __head->_M_next;
43  return __head;
44 }
_Slist_node_base * _M_next
Definition: _slist_base.h:39

Referenced by _Sl_global< _Dummy >::__previous(), slist< value_type, _All >::erase(), slist< value_type, _All >::insert(), slist< value_type, _All >::previous(), and slist< value_type, _All >::splice().

◆ __previous() [2/2]

template<class _Dummy >
static const _Slist_node_base* _STLP_CALL _Sl_global< _Dummy >::__previous ( const _Slist_node_base __head,
const _Slist_node_base __node 
)
inlinestatic

Definition at line 66 of file _slist_base.h.

67  {
69  }
static _Slist_node_base *_STLP_CALL __previous(_Slist_node_base *__head, const _Slist_node_base *__node)
Definition: _slist_base.c:39
#define __CONST_CAST(__x, __y)
Definition: features.h:584

◆ __reverse()

template<class _Dummy >
_Slist_node_base *_STLP_CALL _Sl_global< _Dummy >::__reverse ( _Slist_node_base __node)
static

Definition at line 74 of file _slist_base.c.

74  {
75  _Slist_node_base* __result = __node;
76  __node = __node->_M_next;
77  __result->_M_next = 0;
78  while(__node) {
79  _Slist_node_base* __next = __node->_M_next;
80  __node->_M_next = __result;
81  __result = __node;
82  __node = __next;
83  }
84  return __result;
85 }
_Slist_node_base * _M_next
Definition: _slist_base.h:39

Referenced by slist< value_type, _All >::reverse().

◆ __splice_after() [1/2]

template<class _Dummy >
void _STLP_CALL _Sl_global< _Dummy >::__splice_after ( _Slist_node_base __pos,
_Slist_node_base __before_first,
_Slist_node_base __before_last 
)
static

Definition at line 60 of file _slist_base.c.

62  {
63  if (__pos != __before_first && __pos != __before_last) {
64  _Slist_node_base* __first = __before_first->_M_next;
65  _Slist_node_base* __after = __pos->_M_next;
66  __before_first->_M_next = __before_last->_M_next;
67  __pos->_M_next = __first;
68  __before_last->_M_next = __after;
69  }
70 }
_Slist_node_base * _M_next
Definition: _slist_base.h:39

Referenced by slist< value_type, _All >::splice(), and slist< value_type, _All >::splice_after().

◆ __splice_after() [2/2]

template<class _Dummy >
void _STLP_CALL _Sl_global< _Dummy >::__splice_after ( _Slist_node_base __pos,
_Slist_node_base __head 
)
static

Definition at line 48 of file _slist_base.c.

48  {
49  _Slist_node_base* __before_last = __previous(__head, 0);
50  if (__before_last != __head) {
51  _Slist_node_base* __after = __pos->_M_next;
52  __pos->_M_next = __head->_M_next;
53  __head->_M_next = 0;
54  __before_last->_M_next = __after;
55  }
56 }
static _Slist_node_base *_STLP_CALL __previous(_Slist_node_base *__head, const _Slist_node_base *__node)
Definition: _slist_base.c:39
_Slist_node_base * _M_next
Definition: _slist_base.h:39

◆ size()

template<class _Dummy >
size_t _STLP_CALL _Sl_global< _Dummy >::size ( _Slist_node_base __node)
static

Definition at line 89 of file _slist_base.c.

89  {
90  size_t __result = 0;
91  for ( ; __node != 0; __node = __node->_M_next)
92  ++__result;
93  return __result;
94 }
_Slist_node_base * _M_next
Definition: _slist_base.h:39

Referenced by slist< value_type, _All >::size().


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