ReactOS 0.4.15-dev-8096-ga0eec98
list< _Tp, > Struct Template Reference

#include <_list.h>

Inheritance diagram for list< _Tp, >:
Collaboration diagram for list< _Tp, >:

Public Types

typedef _Tp value_type
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef _Base::allocator_type allocator_type
 
typedef bidirectional_iterator_tag _Iterator_category
 
typedef _STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
 
typedef _STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
 
typedef _STLP_PRIV _DBG_iter< _Base, _STLP_PRIV _DbgTraits< _Nonconst_traits< value_type > > > iterator
 
typedef _STLP_PRIV _DBG_iter< _Base, _STLP_PRIV _DbgTraits< _Const_traits< value_type > > > const_iterator
 
typedef _Tp value_type
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef _Alloc_traits< value_type, _Alloc >::allocator_type allocator_type
 
typedef bidirectional_iterator_tag _Iterator_category
 
typedef _STLP_PRIV _List_iterator< value_type, _Nonconst_traits< value_type > > iterator
 
typedef _STLP_PRIV _List_iterator< value_type, _Const_traits< value_type > > const_iterator
 

Public Member Functions

 list (size_type __n, const_reference __val=_STLP_DEFAULT_CONSTRUCTED(value_type), const allocator_type &__a=allocator_type())
 
 list (const value_type *__first, const value_type *__last, const allocator_type &__a=allocator_type())
 
 list (const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
 
 list (const allocator_type &__a=allocator_type())
 
 list (const _Self &__x)
 
 list (__move_source< _Self > src)
 
 ~list ()
 
_Selfoperator= (const _Self &__x)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type max_size () const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void swap (_Self &__x)
 
iterator insert (iterator __pos, const_reference __x=value_type())
 
void insert (iterator __pos, const value_type *__first, const value_type *__last)
 
void insert (iterator __pos, const_iterator __first, const_iterator __last)
 
void insert (iterator __pos, size_type __n, const_reference __x)
 
void push_front (const_reference __x)
 
void push_back (const_reference __x)
 
iterator erase (iterator __pos)
 
iterator erase (iterator __first, iterator __last)
 
void resize (size_type __new_size, const_reference __x=value_type())
 
void pop_front ()
 
void pop_back ()
 
void assign (size_type __n, const_reference __val)
 
void _M_fill_assign (size_type __n, const_reference __val)
 
void assign (const value_type *__first2, const value_type *__last2)
 
void assign (const_iterator __first2, const_iterator __last2)
 
void splice (iterator __pos, _Self &__x)
 
void splice (iterator __pos, _Self &__x, iterator __i)
 
void splice (iterator __pos, _Self &__x, iterator __first, iterator __last)
 
void remove (const_reference __val)
 
void unique ()
 
void merge (_Self &__x)
 
void reverse ()
 
void sort ()
 
 list (const allocator_type &__a=allocator_type())
 
 list (size_type __n, const _Tp &__x=_Tp(), const allocator_type &__a=allocator_type())
 
 list (__move_source< _Self > src)
 
 list (const value_type *__first, const value_type *__last, const allocator_type &__a=allocator_type())
 
 list (const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
 
 list (const _Self &__x)
 
_Selfoperator= (const _Self &__x)
 
allocator_type get_allocator () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type max_size () const
 
bool empty () const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void swap (_Self &__x)
 
iterator insert (iterator __pos, const _Tp &__x=_Tp())
 
void insert (iterator __pos, const _Tp *__first, const _Tp *__last)
 
void insert (iterator __pos, const_iterator __first, const_iterator __last)
 
void insert (iterator __pos, iterator __first, iterator __last)
 
void insert (iterator __pos, size_type __n, const _Tp &__x)
 
void push_back (const_reference __x)
 
void pop_back ()
 
void push_front (const_reference __x)
 
void pop_front ()
 
iterator erase (iterator __pos)
 
iterator erase (iterator __first, iterator __last)
 
void resize (size_type __new_size, const _Tp &__x=_Tp())
 
void assign (const _Tp *__first, const _Tp *__last)
 
void assign (iterator __first, iterator __last)
 
void assign (const_iterator __first, const_iterator __last)
 
void assign (size_type __n, const _Tp &__val)
 
void remove (const _Tp &__x)
 
void clear ()
 
void splice (iterator __pos, _Self &__x)
 
void splice (iterator __pos, _Self &__x, iterator __i)
 
void splice (iterator __pos, _Self &__x, iterator __first, iterator __last)
 
void merge (_Self &__x)
 
void reverse ()
 
void unique ()
 
void sort ()
 
allocator_type get_allocator () const
 
 list (const allocator_type &__a=allocator_type())
 
 list (size_type __n, const value_type &__val=_STLP_DEFAULT_CONSTRUCTED(value_type), const allocator_type &__a=allocator_type())
 
 list (const value_type *__first, const value_type *__last, const allocator_type &__a=allocator_type())
 
 list (const_iterator __first, const_iterator __last, const allocator_type &__a=allocator_type())
 
 list (const _Self &__x)
 
 list (__move_source< _Self > src)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
bool empty () const
 
size_type size () const
 
size_type max_size () const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void swap (_Self &__x)
 
void clear ()
 
iterator insert (iterator __pos, const_reference __x=_STLP_DEFAULT_CONSTRUCTED(value_type))
 
void insert (iterator __pos, const value_type *__first, const value_type *__last)
 
void insert (iterator __pos, const_iterator __first, const_iterator __last)
 
void insert (iterator __pos, size_type __n, const value_type &__x)
 
void push_front (const value_type &__x)
 
void push_back (const value_type &__x)
 
iterator erase (iterator __pos)
 
iterator erase (iterator __first, iterator __last)
 
void resize (size_type __new_size, const value_type &__x=_STLP_DEFAULT_CONSTRUCTED(value_type))
 
void pop_front ()
 
void pop_back ()
 
_Selfoperator= (const _Self &__x)
 
void assign (size_type __n, const value_type &__val)
 
void assign (const value_type *__first, const value_type *__last)
 
void assign (const_iterator __first, const_iterator __last)
 
void splice (iterator __pos, _Self &__x)
 
void splice (iterator __pos, _Self &__x, iterator __i)
 
void splice (iterator __pos, _Self &__x, iterator __first, iterator __last)
 
void remove (const_reference __val)
 
void unique ()
 
void merge (_Self &__x)
 
void reverse ()
 
void sort ()
 

Public Attributes

 _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS
 
struct listnext
 
struct listprev
 

Protected Member Functions

_Node_base_M_create_node (const_reference __x=value_type())
 

Private Types

typedef _STLP_PRIV _List_base< _Tp, _Alloc_Base
 
typedef list< _Tp, _Alloc_Self
 
typedef _STLP_PRIV _List_node< _Tp > _Node
 
typedef _STLP_PRIV _List_node_base _Node_base
 
typedef _STLP_NON_DBG_LIST _Base
 
typedef list< _Tp, _Alloc_Self
 
typedef _STLP_PRIV __construct_checker< _STLP_NON_DBG_LIST_ConstructCheck
 
typedef _Base::iterator _Base_iterator
 
typedef _STLP_TYPENAME _STLP_PRIV _StorageType< _Tp >::_Type _StorageType
 
typedef _Alloc_traits< _StorageType, _Alloc >::allocator_type _StorageTypeAlloc
 
typedef _STLP_PRIV LIST_IMPL< _StorageType, _StorageTypeAlloc_Base
 
typedef _Base::iterator _BaseIte
 
typedef _Base::const_iterator _BaseConstIte
 
typedef _STLP_PRIV _CastTraits< _StorageType, _Tp > cast_traits
 
typedef list< _Tp, _Alloc_Self
 

Private Member Functions

void _M_swap_aux (_Self &__x)
 
void _M_insert (iterator __pos, const value_type *__first, const value_type *__last)
 
void _M_insert (iterator __pos, const_iterator __first, const_iterator __last)
 
void _M_fill_insert (iterator __pos, size_type __n, const_reference __x)
 
void _Invalidate_iterator (const iterator &__it)
 
void _Invalidate_iterators (const iterator &__first, const iterator &__last)
 

Private Attributes

_Base _M_non_dbg_impl
 
_STLP_PRIV __owned_list _M_iter_list
 
_Base _M_impl
 

Detailed Description

template<class _Tp, _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >)>
struct list< _Tp, >

Definition at line 36 of file list.h.

Member Typedef Documentation

◆ _Base [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _List_base<_Tp, _Alloc> list< _Tp, >::_Base
private

Definition at line 258 of file _list.h.

◆ _Base [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_NON_DBG_LIST list< _Tp, >::_Base
private

Definition at line 66 of file _list.h.

◆ _Base [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV LIST_IMPL<_StorageType, _StorageTypeAlloc> list< _Tp, >::_Base
private

Definition at line 66 of file _list.h.

◆ _Base_iterator

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Base::iterator list< _Tp, >::_Base_iterator
private

Definition at line 88 of file _list.h.

◆ _BaseConstIte

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Base::const_iterator list< _Tp, >::_BaseConstIte
private

Definition at line 68 of file _list.h.

◆ _BaseIte

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Base::iterator list< _Tp, >::_BaseIte
private

Definition at line 67 of file _list.h.

◆ _ConstructCheck

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV __construct_checker<_STLP_NON_DBG_LIST > list< _Tp, >::_ConstructCheck
private

Definition at line 68 of file _list.h.

◆ _Iterator_category [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef bidirectional_iterator_tag list< _Tp, >::_Iterator_category

Definition at line 272 of file _list.h.

◆ _Iterator_category [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef bidirectional_iterator_tag list< _Tp, >::_Iterator_category

Definition at line 82 of file _list.h.

◆ _Node

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _List_node<_Tp> list< _Tp, >::_Node
private

Definition at line 260 of file _list.h.

◆ _Node_base

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _List_node_base list< _Tp, >::_Node_base
private

Definition at line 261 of file _list.h.

◆ _Self [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef list<_Tp, _Alloc> list< _Tp, >::_Self
private

Definition at line 259 of file _list.h.

◆ _Self [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef list<_Tp, _Alloc> list< _Tp, >::_Self
private

Definition at line 67 of file _list.h.

◆ _Self [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef list<_Tp, _Alloc> list< _Tp, >::_Self
private

Definition at line 70 of file _list.h.

◆ _StorageType

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_TYPENAME _STLP_PRIV _StorageType<_Tp>::_Type list< _Tp, >::_StorageType
private

Definition at line 64 of file _list.h.

◆ _StorageTypeAlloc

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Alloc_traits<_StorageType,_Alloc>::allocator_type list< _Tp, >::_StorageTypeAlloc
private

Definition at line 65 of file _list.h.

◆ allocator_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Base::allocator_type list< _Tp, >::allocator_type

Definition at line 271 of file _list.h.

◆ allocator_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Alloc_traits<value_type,_Alloc>::allocator_type list< _Tp, >::allocator_type

Definition at line 81 of file _list.h.

◆ cast_traits

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _CastTraits<_StorageType, _Tp> list< _Tp, >::cast_traits
private

Definition at line 69 of file _list.h.

◆ const_iterator [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _List_iterator<_Tp, _Const_traits<_Tp> > list< _Tp, >::const_iterator

Definition at line 276 of file _list.h.

◆ const_iterator [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _DBG_iter<_Base, _STLP_PRIV _DbgTraits<_Const_traits<value_type> > > list< _Tp, >::const_iterator

Definition at line 75 of file _list.h.

◆ const_iterator [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _List_iterator<value_type, _Const_traits<value_type> > list< _Tp, >::const_iterator

Definition at line 85 of file _list.h.

◆ const_pointer [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type* list< _Tp, >::const_pointer

Definition at line 265 of file _list.h.

◆ const_pointer [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type* list< _Tp, >::const_pointer

Definition at line 75 of file _list.h.

◆ const_reference [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type& list< _Tp, >::const_reference

Definition at line 267 of file _list.h.

◆ const_reference [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef const value_type& list< _Tp, >::const_reference

Definition at line 77 of file _list.h.

◆ difference_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef ptrdiff_t list< _Tp, >::difference_type

Definition at line 269 of file _list.h.

◆ difference_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef ptrdiff_t list< _Tp, >::difference_type

Definition at line 79 of file _list.h.

◆ iterator [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _STLP_PRIV _List_iterator<_Tp, _Nonconst_traits<_Tp> > list< _Tp, >::iterator

Definition at line 275 of file _list.h.

◆ iterator [2/3]

Definition at line 74 of file _list.h.

◆ iterator [3/3]

Definition at line 84 of file _list.h.

◆ pointer [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type* list< _Tp, >::pointer

Definition at line 264 of file _list.h.

◆ pointer [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type* list< _Tp, >::pointer

Definition at line 74 of file _list.h.

◆ reference [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type& list< _Tp, >::reference

Definition at line 266 of file _list.h.

◆ reference [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef value_type& list< _Tp, >::reference

Definition at line 76 of file _list.h.

◆ size_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef size_t list< _Tp, >::size_type

Definition at line 268 of file _list.h.

◆ size_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef size_t list< _Tp, >::size_type

Definition at line 78 of file _list.h.

◆ value_type [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Tp list< _Tp, >::value_type

Definition at line 263 of file _list.h.

◆ value_type [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
typedef _Tp list< _Tp, >::value_type

Definition at line 73 of file _list.h.

Constructor & Destructor Documentation

◆ list() [1/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( size_type  __n,
const_reference  __val = _STLP_DEFAULT_CONSTRUCTED(value_type),
const allocator_type __a = allocator_type() 
)
inlineexplicit

Definition at line 306 of file _list.h.

311 { this->insert(begin(), __n, _STLP_DEFAULT_CONSTRUCTED(value_type)); }
312 list(size_type __n, const_reference __val)
314 { this->insert(begin(), __n, __val); }
315 list(size_type __n, const_reference __val, const allocator_type& __a)
316#endif /*_STLP_DONT_SUP_DFLT_PARAM*/
318 { this->insert(begin(), __n, __val); }
return __n
Definition: _algo.h:75
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
#define _Alloc
Definition: _bvector.h:330
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
Definition: _construct.h:265
#define _STLP_PRIV
Definition: _dm.h:70
_Base::allocator_type allocator_type
Definition: _list.h:271
#define list
Definition: rosglue.h:35
static clock_t begin
Definition: xmllint.c:458
static int insert
Definition: xmllint.c:138

Referenced by string_buffer_get(), string_buffer_list_cleanup(), string_buffer_list_init(), string_buffer_release(), and testQuery().

◆ list() [2/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const value_type __first,
const value_type __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 336 of file _list.h.

339 { _M_insert(begin(), __first, __last); }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _M_insert(iterator __pos, const value_type *__first, const value_type *__last)
Definition: _list.h:454

◆ list() [3/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const_iterator  __first,
const_iterator  __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 340 of file _list.h.

343 { _M_insert(begin(), __first, __last); }

◆ list() [4/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const allocator_type __a = allocator_type())
inlineexplicit

Definition at line 347 of file _list.h.

351 list(const allocator_type& __a)
352#endif

◆ list() [5/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const _Self __x)
inline

Definition at line 355 of file _list.h.

355 : _STLP_PRIV _List_base<_Tp, _Alloc>(__x.get_allocator())
356 { _M_insert(begin(), __x.begin(), __x.end()); }

◆ list() [6/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( __move_source< _Self src)
inline

Definition at line 359 of file _list.h.

◆ ~list()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::~list ( )
inline

Definition at line 363 of file _list.h.

363{}

◆ list() [7/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const allocator_type __a = allocator_type())
inlineexplicit

Definition at line 91 of file _list.h.

91 :
92 _M_non_dbg_impl(__a), _M_iter_list(&_M_non_dbg_impl) {}
_Base _M_non_dbg_impl
Definition: _list.h:80
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81

◆ list() [8/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( size_type  __n,
const _Tp &  __x = _Tp(),
const allocator_type __a = allocator_type() 
)
inlineexplicit
Parameters
__a_STLP_DONT_SUP_DFLT_PARAM

Definition at line 95 of file _list.h.

100 : _M_non_dbg_impl(__n, __x, __a), _M_iter_list(&_M_non_dbg_impl) {}

◆ list() [9/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( __move_source< _Self src)
inline

Definition at line 108 of file _list.h.

109 : _M_non_dbg_impl(__move_source<_Base>(src.get()._M_non_dbg_impl)),
110 _M_iter_list(&_M_non_dbg_impl) {
111# if defined (_STLP_NO_EXTENSIONS) || (_STLP_DEBUG_LEVEL == _STLP_STANDARD_DBG_LEVEL)
112 src.get()._M_iter_list._Invalidate_all();
113# else
114 src.get()._M_iter_list._Set_owner(_M_iter_list);
115# endif
116 }

◆ list() [10/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const value_type __first,
const value_type __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 135 of file _list.h.

137 : _ConstructCheck(__first, __last),
138 _M_non_dbg_impl(__first, __last, __a),
139 _M_iter_list(&_M_non_dbg_impl) {}
_STLP_PRIV __construct_checker< _STLP_NON_DBG_LIST > _ConstructCheck
Definition: _list.h:68

◆ list() [11/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const_iterator  __first,
const_iterator  __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 140 of file _list.h.

142 : _ConstructCheck(__first, __last),
143 _M_non_dbg_impl(__first._M_iterator, __last._M_iterator, __a),
144 _M_iter_list(&_M_non_dbg_impl) {}

◆ list() [12/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const _Self __x)
inline

Definition at line 148 of file _list.h.

148 :
149 _ConstructCheck(__x),
150 _M_non_dbg_impl(__x._M_non_dbg_impl) , _M_iter_list(&_M_non_dbg_impl) {}

◆ list() [13/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const allocator_type __a = allocator_type())
inlineexplicit

Definition at line 92 of file _list.h.

#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Base _M_impl
Definition: _list.h:326

◆ list() [14/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( size_type  __n,
const value_type __val = _STLP_DEFAULT_CONSTRUCTED(value_type),
const allocator_type __a = allocator_type() 
)
inlineexplicit

Definition at line 96 of file _list.h.

101 : _M_impl(__n, cast_traits::to_storage_type_cref(__val),

◆ list() [15/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const value_type __first,
const value_type __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 133 of file _list.h.

135 : _M_impl(cast_traits::to_storage_type_cptr(__first),
136 cast_traits::to_storage_type_cptr(__last),

◆ list() [16/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const_iterator  __first,
const_iterator  __last,
const allocator_type __a = allocator_type() 
)
inline

Definition at line 138 of file _list.h.

140 : _M_impl(_BaseConstIte(__first._M_node), _BaseConstIte(__last._M_node),
_Base::const_iterator _BaseConstIte
Definition: _list.h:68

◆ list() [17/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( const _Self __x)
inline

Definition at line 145 of file _list.h.

145: _M_impl(__x._M_impl) {}

◆ list() [18/18]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::list ( __move_source< _Self src)
inline

Definition at line 148 of file _list.h.

149 : _M_impl(__move_source<_Base>(src.get()._M_impl)) {}

Member Function Documentation

◆ _Invalidate_iterator()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::_Invalidate_iterator ( const iterator __it)
inlineprivate

Definition at line 83 of file _list.h.

84 { _STLP_PRIV __invalidate_iterator(&_M_iter_list, __it); }
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)

Referenced by list< _Tp, >::erase(), list< _Tp, >::pop_back(), list< _Tp, >::pop_front(), list< _Tp, >::remove(), list< _Tp, >::splice(), and list< _Tp, >::unique().

◆ _Invalidate_iterators()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::_Invalidate_iterators ( const iterator __first,
const iterator __last 
)
inlineprivate

◆ _M_create_node()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Node_base * list< _Tp, >::_M_create_node ( const_reference  __x = value_type())
inlineprotected

Definition at line 281 of file _list.h.

281 {
282#else
283 _Node_base* _M_create_node(const_reference __x) {
284#endif
285 _Node* __p = this->_M_node.allocate(1);
286 _STLP_TRY {
287 _Copy_Construct(&__p->_M_data, __x);
288 }
289 _STLP_UNWIND(this->_M_node.deallocate(__p, 1))
290 return __p;
291 }
void _Copy_Construct(_Tp *__p, const _Tp &__val)
Definition: _construct.h:130
return
Definition: dirsup.c:529
_Node_base * _M_create_node(const_reference __x=value_type())
Definition: _list.h:281
_STLP_PRIV _List_node< _Tp > _Node
Definition: _list.h:260
_STLP_PRIV _List_node_base _Node_base
Definition: _list.h:261
#define _STLP_UNWIND(action)
Definition: features.h:824
#define _STLP_TRY
Definition: features.h:817

Referenced by list< _Tp, >::_M_create_node(), and list< _Tp, >::insert().

◆ _M_fill_assign()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, _Alloc >::_M_fill_assign ( size_type  __n,
const_reference  __val 
)

Definition at line 124 of file _list.c.

124 {
125 iterator __i = begin();
126 for ( ; __i != end() && __n > 0; ++__i, --__n)
127 *__i = __val;
128 if (__n > 0)
129 insert(end(), __n, __val);
130 else
131 erase(__i, end());
132}
iterator erase(iterator __pos)
Definition: _list.h:518
GLuint GLuint end
Definition: gl.h:1545

Referenced by list< _Tp, >::assign().

◆ _M_fill_insert()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::_M_fill_insert ( iterator  __pos,
size_type  __n,
const_reference  __x 
)
inlineprivate

Definition at line 502 of file _list.h.

502 {
503 for ( ; __n > 0; --__n)
504 insert(__pos, __x);
505 }

Referenced by list< _Tp, >::insert().

◆ _M_insert() [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::_M_insert ( iterator  __pos,
const value_type __first,
const value_type __last 
)
inlineprivate

Definition at line 454 of file _list.h.

454 {
455 for (; __first != __last; ++__first)
456 insert(__pos, *__first);
457 }

Referenced by list< _Tp, >::list().

◆ _M_insert() [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::_M_insert ( iterator  __pos,
const_iterator  __first,
const_iterator  __last 
)
inlineprivate

Definition at line 458 of file _list.h.

458 {
459#endif /* _STLP_MEMBER_TEMPLATES */
460 //We use a temporary list to avoid the auto reference troubles (infinite loop)
461 for (; __first != __last; ++__first)
462 insert(__pos, *__first);
463 }

◆ _M_swap_aux()

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::_M_swap_aux ( _Self __x)
inlineprivate

Definition at line 391 of file _list.h.

391 {
392 __x._M_node._M_swap_alloc(this->_M_node);
393 __x._M_node._M_data._M_next = this->_M_node._M_data._M_next;
394 __x._M_node._M_data._M_next->_M_prev = &__x._M_node._M_data;
395 __x._M_node._M_data._M_prev = this->_M_node._M_data._M_prev;
396 __x._M_node._M_data._M_prev->_M_next = &__x._M_node._M_data;
397 this->_M_empty_initialize();
398 }

Referenced by list< _Tp, >::swap().

◆ assign() [1/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( const _Tp *  __first,
const _Tp *  __last 
)
inline

Definition at line 315 of file _list.h.

315 {
316 _STLP_DEBUG_CHECK(_STLP_PRIV __check_ptr_range(__first, __last))
317 _M_non_dbg_impl.assign(__first, __last);
319 }
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85

◆ assign() [2/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( const value_type __first,
const value_type __last 
)
inline

Definition at line 285 of file _list.h.

285 {
286 _M_impl.assign(cast_traits::to_storage_type_cptr(__first),
287 cast_traits::to_storage_type_cptr(__last));
288 }

◆ assign() [3/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( const value_type __first2,
const value_type __last2 
)
inline

Definition at line 576 of file _list.h.

576 {
577 iterator __first1 = begin();
578 iterator __last1 = end();
579 for ( ; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2)
580 *__first1 = *__first2;
581 if (__first2 == __last2)
582 erase(__first1, __last1);
583 else
584 insert(__last1, __first2, __last2);
585 }

◆ assign() [4/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 327 of file _list.h.

327 {
328 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first, __last))
329 _M_non_dbg_impl.assign(__first._M_iterator, __last._M_iterator);
331 }

◆ assign() [5/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 289 of file _list.h.

290 { _M_impl.assign(_BaseConstIte(__first._M_node), _BaseConstIte(__last._M_node)); }

◆ assign() [6/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( const_iterator  __first2,
const_iterator  __last2 
)
inline

Definition at line 586 of file _list.h.

586 {
587#endif /* _STLP_MEMBER_TEMPLATES */
588 iterator __first1 = begin();
589 iterator __last1 = end();
590 for ( ; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2)
591 *__first1 = *__first2;
592 if (__first2 == __last2)
593 erase(__first1, __last1);
594 else
595 insert(__last1, __first2, __last2);
596 }

◆ assign() [7/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( iterator  __first,
iterator  __last 
)
inline

Definition at line 321 of file _list.h.

321 {
322 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first, __last))
323 _M_non_dbg_impl.assign(__first._M_iterator, __last._M_iterator);
325 }

◆ assign() [8/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( size_type  __n,
const _Tp &  __val 
)
inline

Definition at line 334 of file _list.h.

334 {
336 _M_non_dbg_impl.assign(__n, __val);
337 }

◆ assign() [9/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( size_type  __n,
const value_type __val 
)
inline

Definition at line 255 of file _list.h.

256 { _M_impl.assign(__n, cast_traits::to_storage_type_cref(__val)); }

◆ assign() [10/10]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::assign ( size_type  __n,
const_reference  __val 
)
inline

Definition at line 555 of file _list.h.

void _M_fill_assign(size_type __n, const_reference __val)
Definition: _list.c:124

Referenced by list< _Tp, >::resize().

◆ back() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference list< _Tp, >::back ( )
inline

Definition at line 387 of file _list.h.

387{ return *(--end()); }

◆ back() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference list< _Tp, >::back ( )
inline

Definition at line 188 of file _list.h.

188 {
189 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
190 return *(--end());
191 }
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439
static const WCHAR empty[]
Definition: main.c:47

◆ back() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference list< _Tp, >::back ( )
inline

Definition at line 170 of file _list.h.

170{ return *(--end()); }

◆ back() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference list< _Tp, >::back ( ) const
inline

Definition at line 388 of file _list.h.

388{ return *(--end()); }

◆ back() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference list< _Tp, >::back ( ) const
inline

Definition at line 192 of file _list.h.

192 {
193 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
194 return *(--end());
195 }

◆ back() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference list< _Tp, >::back ( ) const
inline

Definition at line 171 of file _list.h.

171{ return *(--end()); }

◆ begin() [1/6]

◆ begin() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::begin ( )
inline

Definition at line 163 of file _list.h.

163{ return iterator(&_M_iter_list, _M_non_dbg_impl.begin()); }

◆ begin() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::begin ( )
inline

Definition at line 152 of file _list.h.

152{ return iterator(_M_impl.begin()._M_node); }

◆ begin() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator list< _Tp, >::begin ( ) const
inline

Definition at line 368 of file _list.h.

368{ return const_iterator(this->_M_node._M_data._M_next); }
_STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
Definition: _list.h:276

◆ begin() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator list< _Tp, >::begin ( ) const
inline

Definition at line 164 of file _list.h.

164{ return const_iterator(&_M_iter_list, _M_non_dbg_impl.begin()); }

◆ begin() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator list< _Tp, >::begin ( ) const
inline

Definition at line 153 of file _list.h.

153{ return const_iterator(_M_impl.begin()._M_node); }

◆ clear() [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::clear ( )
inline

Definition at line 352 of file _list.h.

352 {
354 _M_non_dbg_impl.clear();
355 }

Referenced by _S_merge(), list< _Tp, >::splice(), and Desktops::ToggleMinimize().

◆ clear() [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::clear ( )
inline

Definition at line 177 of file _list.h.

177{ _M_impl.clear(); }

◆ empty() [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
bool list< _Tp, >::empty ( ) const
inline

◆ empty() [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
bool list< _Tp, >::empty ( ) const
inline

Definition at line 164 of file _list.h.

164{ return _M_impl.empty(); }

◆ end() [1/6]

◆ end() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::end ( )
inline

Definition at line 166 of file _list.h.

166{ return iterator(&_M_iter_list, _M_non_dbg_impl.end()); }

◆ end() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::end ( )
inline

Definition at line 155 of file _list.h.

155{ return iterator(_M_impl.end()._M_node); }

◆ end() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator list< _Tp, >::end ( ) const
inline

Definition at line 371 of file _list.h.

371{ return const_iterator(__CONST_CAST(_Node_base*, &this->_M_node._M_data)); }
#define __CONST_CAST(__x, __y)
Definition: features.h:584

◆ end() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator list< _Tp, >::end ( ) const
inline

Definition at line 167 of file _list.h.

167{ return const_iterator(&_M_iter_list, _M_non_dbg_impl.end()); }

◆ end() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_iterator list< _Tp, >::end ( ) const
inline

Definition at line 156 of file _list.h.

156{ return const_iterator(_M_impl.end()._M_node); }

◆ erase() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::erase ( iterator  __first,
iterator  __last 
)
inline

Definition at line 529 of file _list.h.

529 {
530 while (__first != __last)
531 erase(__first++);
532 return __last;
533 }

◆ erase() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::erase ( iterator  __first,
iterator  __last 
)
inline

Definition at line 282 of file _list.h.

282 {
283 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first, __last, begin(), end()))
284 _Invalidate_iterators(__first, __last);
285 return iterator (&_M_iter_list, _M_non_dbg_impl.erase(__first._M_iterator, __last._M_iterator));
286 }

◆ erase() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::erase ( iterator  __first,
iterator  __last 
)
inline

Definition at line 239 of file _list.h.

240 { return iterator(_M_impl.erase(_BaseIte(__first._M_node), _BaseIte(__last._M_node))._M_node); }
_Base::iterator _BaseIte
Definition: _list.h:67

◆ erase() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::erase ( iterator  __pos)
inline

Definition at line 518 of file _list.h.

518 {
519 _Node_base* __next_node = __pos._M_node->_M_next;
520 _Node_base* __prev_node = __pos._M_node->_M_prev;
521 _Node* __n = __STATIC_CAST(_Node*, __pos._M_node);
522 __prev_node->_M_next = __next_node;
523 __next_node->_M_prev = __prev_node;
524 _STLP_STD::_Destroy(&__n->_M_data);
525 this->_M_node.deallocate(__n, 1);
526 return iterator(__next_node);
527 }
#define __STATIC_CAST(__x, __y)
Definition: features.h:585

Referenced by _S_remove_if(), _S_unique(), list< _Tp, >::assign(), list< _Tp, >::erase(), list< _Tp, >::pop_back(), list< _Tp, >::pop_front(), list< _Tp, >::remove(), list< _Tp, >::resize(), and list< _Tp, >::splice().

◆ erase() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::erase ( iterator  __pos)
inline

Definition at line 276 of file _list.h.

276 {
278 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list,__pos))
280 return iterator(&_M_iter_list,_M_non_dbg_impl.erase(__pos._M_iterator));
281 }
void _Invalidate_iterator(const iterator &__it)
Definition: _list.h:83
bool _Dereferenceable(const _Iterator &__it)
Definition: _iterator.h:93

◆ erase() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::erase ( iterator  __pos)
inline

Definition at line 237 of file _list.h.

238 { return iterator(_M_impl.erase(_BaseIte(__pos._M_node))._M_node); }

◆ front() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference list< _Tp, >::front ( )
inline

Definition at line 385 of file _list.h.

385{ return *begin(); }

Referenced by FindProgramDlg::collect_programs_callback().

◆ front() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference list< _Tp, >::front ( )
inline

Definition at line 180 of file _list.h.

180 {
181 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
182 return *begin();
183 }

◆ front() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reference list< _Tp, >::front ( )
inline

Definition at line 168 of file _list.h.

168{ return *begin(); }

◆ front() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference list< _Tp, >::front ( ) const
inline

Definition at line 386 of file _list.h.

386{ return *begin(); }

◆ front() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference list< _Tp, >::front ( ) const
inline

Definition at line 184 of file _list.h.

184 {
185 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
186 return *begin();
187 }

◆ front() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reference list< _Tp, >::front ( ) const
inline

Definition at line 169 of file _list.h.

169{ return *begin(); }

◆ get_allocator() [1/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
allocator_type list< _Tp, >::get_allocator ( ) const
inline

Definition at line 161 of file _list.h.

161{ return _M_non_dbg_impl.get_allocator(); }

Referenced by _S_merge(), list< _Tp, >::insert(), list< _Tp, >::list(), list< _Tp, >::merge(), and list< _Tp, >::splice().

◆ get_allocator() [2/2]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
allocator_type list< _Tp, >::get_allocator ( ) const
inline

Definition at line 89 of file _list.h.

90 { return _STLP_CONVERT_ALLOCATOR(_M_impl.get_allocator(), value_type); }

◆ insert() [1/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::insert ( iterator  __pos,
const _Tp &  __x = _Tp() 
)
inline

_STLP_DONT_SUP_DFLT_PARAM && !_STLP_NO_ANACHRONISMS

Definition at line 206 of file _list.h.

206 {
207#else
208 iterator insert(iterator __pos, const _Tp& __x) {
209#endif
210 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list,__pos))
211 return iterator(&_M_iter_list,_M_non_dbg_impl.insert(__pos._M_iterator, __x) );
212 }

◆ insert() [2/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
const _Tp *  __first,
const _Tp *  __last 
)
inline

Definition at line 229 of file _list.h.

229 {
230 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list,__pos))
231 _STLP_DEBUG_CHECK(_STLP_PRIV __check_ptr_range(__first, __last))
232 _M_non_dbg_impl.insert(__pos._M_iterator, __first, __last);
233 }

◆ insert() [3/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
const value_type __first,
const value_type __last 
)
inline

Definition at line 485 of file _list.h.

485 {
486 _Self __tmp(__first, __last, this->get_allocator());
487 _STLP_ASSERT(__tmp.get_allocator() == this->get_allocator())
488 splice(__pos, __tmp);
489 }
#define _STLP_ASSERT(expr)
Definition: _debug.h:165
list< _Tp, _Alloc > _Self
Definition: _list.h:259
allocator_type get_allocator() const
Definition: _list.h:161

◆ insert() [4/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
const value_type __first,
const value_type __last 
)
inline

Definition at line 218 of file _list.h.

219 { _M_impl.insert(_BaseIte(__pos._M_node), cast_traits::to_storage_type_cptr(__first),
220 cast_traits::to_storage_type_cptr(__last)); }

◆ insert() [5/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 490 of file _list.h.

490 {
491#endif /* _STLP_MEMBER_TEMPLATES */
492 //We use a temporary list to avoid the auto reference troubles (infinite loop)
493 _Self __tmp(__first, __last, this->get_allocator());
494 splice(__pos, __tmp);
495 }
void splice(iterator __pos, _Self &__x)
Definition: _list.h:599

◆ insert() [6/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 237 of file _list.h.

238 {
239 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
240 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first, __last))
241# if (_STLP_DEBUG_LEVEL == _STLP_STANDARD_DBG_LEVEL)
242 _STLP_STD_DEBUG_CHECK(__check_if_not_owner(&_M_iter_list, __first))
243# endif
244 _M_non_dbg_impl.insert(__pos._M_iterator, __first._M_iterator, __last._M_iterator);
245 }

◆ insert() [7/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
const_iterator  __first,
const_iterator  __last 
)
inline

Definition at line 221 of file _list.h.

222 { _M_impl.insert(_BaseIte(__pos._M_node), _BaseConstIte(__first._M_node), _BaseConstIte(__last._M_node)); }

◆ insert() [8/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::insert ( iterator  __pos,
const_reference  __x = _STLP_DEFAULT_CONSTRUCTED(value_type) 
)
inline

_STLP_DONT_SUP_DFLT_PARAM && !_STLP_NO_ANACHRONISMS

Definition at line 180 of file _list.h.

184 { return iterator(_M_impl.insert(_BaseIte(__pos._M_node),
185 cast_traits::to_storage_type_cref(__x))._M_node); }

◆ insert() [9/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
iterator list< _Tp, >::insert ( iterator  __pos,
const_reference  __x = value_type() 
)
inline

_STLP_DONT_SUP_DFLT_PARAM && !_STLP_NO_ANACHRONISMS

Definition at line 420 of file _list.h.

424 {
425 _Node_base* __tmp = _M_create_node(__x);
426 _Node_base* __n = __pos._M_node;
427 _Node_base* __p = __n->_M_prev;
428 __tmp->_M_next = __n;
429 __tmp->_M_prev = __p;
430 __p->_M_next = __tmp;
431 __n->_M_prev = __tmp;
432 return iterator(__tmp);
433 }

Referenced by _S_merge().

◆ insert() [10/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
iterator  __first,
iterator  __last 
)
inline

Definition at line 246 of file _list.h.

247 {
248 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
249 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first, __last))
250# if (_STLP_DEBUG_LEVEL == _STLP_STANDARD_DBG_LEVEL)
251 _STLP_STD_DEBUG_CHECK(__check_if_not_owner(&_M_iter_list, __first))
252# endif
253 _M_non_dbg_impl.insert(__pos._M_iterator, __first._M_iterator, __last._M_iterator);
254 }

◆ insert() [11/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
size_type  __n,
const _Tp &  __x 
)
inline

Definition at line 257 of file _list.h.

257 {
258 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list,__pos))
259 _M_non_dbg_impl.insert(__pos._M_iterator, __n, __x);
260 }

◆ insert() [12/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
size_type  __n,
const value_type __x 
)
inline

Definition at line 225 of file _list.h.

226 { _M_impl.insert(_BaseIte(__pos._M_node), __n, cast_traits::to_storage_type_cref(__x)); }

◆ insert() [13/13]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::insert ( iterator  __pos,
size_type  __n,
const_reference  __x 
)
inline

Definition at line 498 of file _list.h.

499 { _M_fill_insert(__pos, __n, __x); }
void _M_fill_insert(iterator __pos, size_type __n, const_reference __x)
Definition: _list.h:502

◆ max_size() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type list< _Tp, >::max_size ( ) const
inline

Definition at line 383 of file _list.h.

383{ return size_type(-1); }
size_t size_type
Definition: _list.h:268

◆ max_size() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type list< _Tp, >::max_size ( ) const
inline

Definition at line 176 of file _list.h.

176{ return _M_non_dbg_impl.max_size(); }

◆ max_size() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type list< _Tp, >::max_size ( ) const
inline

Definition at line 166 of file _list.h.

166{ return _M_impl.max_size(); }

◆ merge() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::merge ( _Self __x)
inline

Definition at line 648 of file _list.h.

649 { _STLP_PRIV _S_merge(*this, __x, less<value_type>()); }
void _S_merge(list< _Tp, _Alloc > &__that, list< _Tp, _Alloc > &__x, _StrictWeakOrdering __comp)
Definition: _list.c:168

◆ merge() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::merge ( _Self __x)
inline

Definition at line 399 of file _list.h.

399 {
400#if !defined (_STLP_NO_EXTENSIONS)
401 _STLP_DEBUG_CHECK(_STLP_STD::is_sorted(begin()._M_iterator, end()._M_iterator))
402 _STLP_DEBUG_CHECK(_STLP_STD::is_sorted(__x.begin()._M_iterator, __x.end()._M_iterator))
403#endif
404 _M_non_dbg_impl.merge(__x._M_non_dbg_impl);
405 if (this->get_allocator() == __x.get_allocator()) {
406 __x._M_iter_list._Set_owner(_M_iter_list);
407 }
408 else {
409 __x._Invalidate_iterators(__x.begin(), __x.end());
410 }
411 }

◆ merge() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::merge ( _Self __x)
inline

Definition at line 304 of file _list.h.

304{ _M_impl.merge(__x._M_impl); }

◆ operator=() [1/3]

template<class _Tp , class _Alloc >
list< _Tp, _Alloc > & list< _Tp, _Alloc >::operator= ( const _Self __x)

Definition at line 107 of file _list.c.

107 {
108 if (this != &__x) {
109 iterator __first1 = begin();
110 iterator __last1 = end();
111 const_iterator __first2 = __x.begin();
112 const_iterator __last2 = __x.end();
113 while (__first1 != __last1 && __first2 != __last2)
114 *__first1++ = *__first2++;
115 if (__first2 == __last2)
116 erase(__first1, __last1);
117 else
118 insert(__last1, __first2, __last2);
119 }
120 return *this;
121}

◆ operator=() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Self & list< _Tp, >::operator= ( const _Self __x)
inline

Definition at line 152 of file _list.h.

152 {
153 if (this != &__x) {
154 //Should not invalidate end iterator
156 _M_non_dbg_impl = __x._M_non_dbg_impl;
157 }
158 return *this;
159 }

◆ operator=() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Self & list< _Tp, >::operator= ( const _Self __x)
inline

Definition at line 253 of file _list.h.

254 { _M_impl = __x._M_impl; return *this; }

◆ pop_back() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::pop_back ( )
inline

Definition at line 544 of file _list.h.

544 {
545 iterator __tmp = end();
546 erase(--__tmp);
547 }

◆ pop_back() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::pop_back ( )
inline

Definition at line 263 of file _list.h.

263 {
264 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
266 _M_non_dbg_impl.pop_back();
267 }

◆ pop_back() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::pop_back ( )
inline

Definition at line 251 of file _list.h.

251{ _M_impl.pop_back(); }

◆ pop_front() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::pop_front ( )
inline

_STLP_DONT_SUP_DFLT_PARAM

Definition at line 543 of file _list.h.

543{ erase(begin()); }

◆ pop_front() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::pop_front ( )
inline

Definition at line 270 of file _list.h.

270 {
271 _STLP_VERBOSE_ASSERT(!empty(), _StlMsg_EMPTY_CONTAINER)
273 _M_non_dbg_impl.pop_front();
274 }

◆ pop_front() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::pop_front ( )
inline

Definition at line 250 of file _list.h.

250{ _M_impl.pop_front(); }

◆ push_back() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::push_back ( const value_type __x)
inline

Definition at line 229 of file _list.h.

229{ _M_impl.push_back(cast_traits::to_storage_type_cref(__x)); }

◆ push_back() [2/3]

◆ push_back() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::push_back ( const_reference  __x)
inline

Definition at line 262 of file _list.h.

262{ _M_non_dbg_impl.push_back(__x); }

◆ push_front() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::push_front ( const value_type __x)
inline

Definition at line 228 of file _list.h.

228{ _M_impl.push_front(cast_traits::to_storage_type_cref(__x)); }

◆ push_front() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::push_front ( const_reference  __x)
inline

Definition at line 508 of file _list.h.

508{ insert(begin(), __x); }

Referenced by FindProgramDlg::collect_programs_callback().

◆ push_front() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::push_front ( const_reference  __x)
inline

Definition at line 269 of file _list.h.

269{ _M_non_dbg_impl.push_front(__x); }

◆ rbegin() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator list< _Tp, >::rbegin ( )
inline

Definition at line 373 of file _list.h.

373{ return reverse_iterator(end()); }
#define reverse_iterator
Definition: _abbrevs.h:34

Referenced by Desktops::ToggleMinimize().

◆ rbegin() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator list< _Tp, >::rbegin ( )
inline

Definition at line 169 of file _list.h.

169{ return reverse_iterator(end()); }

◆ rbegin() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator list< _Tp, >::rbegin ( )
inline

Definition at line 158 of file _list.h.

158{ return reverse_iterator(end()); }

◆ rbegin() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator list< _Tp, >::rbegin ( ) const
inline

Definition at line 374 of file _list.h.

374{ return const_reverse_iterator(end()); }

◆ rbegin() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator list< _Tp, >::rbegin ( ) const
inline

Definition at line 172 of file _list.h.

172{ return const_reverse_iterator(end()); }

◆ rbegin() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator list< _Tp, >::rbegin ( ) const
inline

Definition at line 159 of file _list.h.

159{ return const_reverse_iterator(end()); }

◆ remove() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::remove ( const _Tp &  __x)
inline

Definition at line 339 of file _list.h.

339 {
340 _Base_iterator __first = _M_non_dbg_impl.begin(), __last = _M_non_dbg_impl.end();
341 while (__first != __last) {
342 _Base_iterator __next = __first;
343 ++__next;
344 if (__x == *__first) {
345 _Invalidate_iterator(iterator(&_M_iter_list, __first));
346 _M_non_dbg_impl.erase(__first);
347 }
348 __first = __next;
349 }
350 }
_Base::iterator _Base_iterator
Definition: _list.h:88

◆ remove() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::remove ( const_reference  __val)
inline

Definition at line 634 of file _list.h.

634 {
635 iterator __first = begin();
636 iterator __last = end();
637 while (__first != __last) {
638 iterator __next = __first;
639 ++__next;
640 if (__val == *__first) erase(__first);
641 __first = __next;
642 }
643 }

◆ remove() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::remove ( const_reference  __val)
inline

Definition at line 301 of file _list.h.

302 { _M_impl.remove(cast_traits::to_storage_type_cref(__val)); }

◆ rend() [1/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator list< _Tp, >::rend ( )
inline

Definition at line 376 of file _list.h.

376{ return reverse_iterator(begin()); }

Referenced by Desktops::ToggleMinimize().

◆ rend() [2/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator list< _Tp, >::rend ( )
inline

Definition at line 170 of file _list.h.

170{ return reverse_iterator(begin()); }

◆ rend() [3/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
reverse_iterator list< _Tp, >::rend ( )
inline

Definition at line 161 of file _list.h.

161{ return reverse_iterator(begin()); }

◆ rend() [4/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator list< _Tp, >::rend ( ) const
inline

Definition at line 377 of file _list.h.

377{ return const_reverse_iterator(begin()); }

◆ rend() [5/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator list< _Tp, >::rend ( ) const
inline

Definition at line 173 of file _list.h.

173{ return const_reverse_iterator(begin()); }

◆ rend() [6/6]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
const_reverse_iterator list< _Tp, >::rend ( ) const
inline

Definition at line 162 of file _list.h.

162{ return const_reverse_iterator(begin()); }

◆ resize() [1/3]

template<class _Tp , class _Alloc >
_STLP_MOVE_TO_STD_NAMESPACE void list< _Tp, _Alloc >::resize ( size_type  __new_size,
const _Tp &  __x = _Tp() 
)
inline

Definition at line 289 of file _list.h.

289 {
290#else
291 void resize(size_type __new_size, const _Tp& __x) {
292#endif /*_STLP_DONT_SUP_DFLT_PARAM*/
293 _Base_iterator __i = _M_non_dbg_impl.begin();
294 size_type __len = 0;
295 for ( ; __i != _M_non_dbg_impl.end() && __len < __new_size; ++__i, ++__len);
296
297 if (__len == __new_size)
298 erase(iterator(&_M_iter_list, __i), end());
299 else // __i == end()
300 _M_non_dbg_impl.insert(_M_non_dbg_impl.end(), __new_size - __len, __x);
301 }
void resize(size_type __new_size, const_reference __x=value_type())

◆ resize() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::resize ( size_type  __new_size,
const value_type __x = _STLP_DEFAULT_CONSTRUCTED(value_type) 
)
inline

_STLP_DONT_SUP_DFLT_PARAM

Definition at line 243 of file _list.h.

245 { _M_impl.resize(__new_size); }
246 void resize(size_type __new_size, const value_type& __x)
247#endif
248 {_M_impl.resize(__new_size, cast_traits::to_storage_type_cref(__x));}

◆ resize() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::resize ( size_type  __new_size,
const_reference  __x = value_type() 
)

Referenced by list< _Tp, >::resize().

◆ reverse() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::reverse ( )
inline

Definition at line 651 of file _list.h.

651 {
652 _Node_base* __p = &this->_M_node._M_data;
653 _Node_base* __tmp = __p;
654 do {
655 _STLP_STD::swap(__tmp->_M_next, __tmp->_M_prev);
656 __tmp = __tmp->_M_prev; // Old next node is now prev.
657 } while (__tmp != __p);
658 }

◆ reverse() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::reverse ( )
inline

Definition at line 412 of file _list.h.

412 {
413 _M_non_dbg_impl.reverse();
414 }

◆ reverse() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::reverse ( )
inline

Definition at line 305 of file _list.h.

305{ _M_impl.reverse(); }

◆ size() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type list< _Tp, >::size ( ) const
inline

Definition at line 379 of file _list.h.

379 {
380 size_type __result = _STLP_STD::distance(begin(), end());
381 return __result;
382 }

Referenced by _bdf_list_ensure(), _bdf_list_split(), and test_ProcThreadAttributeList().

◆ size() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type list< _Tp, >::size ( ) const
inline

Definition at line 175 of file _list.h.

175{ return _M_non_dbg_impl.size(); }

◆ size() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
size_type list< _Tp, >::size ( ) const
inline

Definition at line 165 of file _list.h.

165{ return _M_impl.size(); }

◆ sort() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::sort ( )
inline

Definition at line 660 of file _list.h.

661 { _STLP_PRIV _S_sort(*this, less<value_type>()); }
void _S_sort(list< _Tp, _Alloc > &__that, _StrictWeakOrdering __comp)
Definition: _list.c:206

Referenced by test_list_sort::operator()().

◆ sort() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::sort ( )
inline

Definition at line 429 of file _list.h.

429 {
430 _M_non_dbg_impl.sort();
431 }

◆ sort() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::sort ( )
inline

Definition at line 306 of file _list.h.

306{ _M_impl.sort(); }

◆ splice() [1/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x 
)
inline

Definition at line 599 of file _list.h.

599 {
600 if (!__x.empty()) {
601 if (this->get_allocator() == __x.get_allocator()) {
602 _STLP_PRIV _List_global_inst::_Transfer(__pos._M_node, __x.begin()._M_node, __x.end()._M_node);
603 }
604 else {
605 insert(__pos, __x.begin(), __x.end());
606 __x.clear();
607 }
608 }
609 }
static void _STLP_CALL _Transfer(_Node_base *__pos, _Node_base *__first, _Node_base *__last)

Referenced by list< _Tp, >::insert().

◆ splice() [2/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x 
)
inline

Definition at line 358 of file _list.h.

358 {
359 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list,__pos))
360 _M_non_dbg_impl.splice(__pos._M_iterator, __x._M_non_dbg_impl);
361#if (_STLP_DEBUG_LEVEL != _STLP_STANDARD_DBG_LEVEL)
362 if (get_allocator() == __x.get_allocator())
363 __x._M_iter_list._Set_owner(_M_iter_list);
364 else
365#endif
366 // Std: 23.2.2.4:4
367 // end iterator is not invalidated:
368 __x._Invalidate_iterators(__x.begin(), __x.end());
369 }

◆ splice() [3/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x 
)
inline

Definition at line 293 of file _list.h.

294 { _M_impl.splice(_BaseIte(__pos._M_node), __x._M_impl); }

◆ splice() [4/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x,
iterator  __first,
iterator  __last 
)
inline

Definition at line 622 of file _list.h.

622 {
623 if (__first != __last) {
624 if (this->get_allocator() == __x.get_allocator()) {
625 _STLP_PRIV _List_global_inst::_Transfer(__pos._M_node, __first._M_node, __last._M_node);
626 }
627 else {
628 insert(__pos, __first, __last);
629 __x.erase(__first, __last);
630 }
631 }
632 }

◆ splice() [5/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x,
iterator  __first,
iterator  __last 
)
inline

Definition at line 385 of file _list.h.

385 {
386 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list, __pos))
387 _STLP_DEBUG_CHECK(_STLP_PRIV __check_range(__first, __last, __x.begin(), __x.end()))
388 _STLP_DEBUG_CHECK(this == &__x ? !_STLP_PRIV __check_range(__pos, __first, __last) : true)
389#if (_STLP_DEBUG_LEVEL != _STLP_STANDARD_DBG_LEVEL)
390 if (this->get_allocator() == __x.get_allocator())
391 _STLP_PRIV __change_range_owner(__first, __last, &_M_iter_list);
392 else
393#endif
394 // Std: 23.2.2.4:12
395 __x._Invalidate_iterators(__first, __last);
396 _M_non_dbg_impl.splice(__pos._M_iterator, __x._M_non_dbg_impl, __first._M_iterator, __last._M_iterator);
397 }
#define true
Definition: stdbool.h:36

◆ splice() [6/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x,
iterator  __first,
iterator  __last 
)
inline

Definition at line 297 of file _list.h.

298 { _M_impl.splice(_BaseIte(__pos._M_node), __x._M_impl,
299 _BaseIte(__first._M_node), _BaseIte(__last._M_node)); }

◆ splice() [7/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x,
iterator  __i 
)
inline

Definition at line 610 of file _list.h.

610 {
611 iterator __j = __i;
612 ++__j;
613 if (__pos == __i || __pos == __j) return;
614 if (this->get_allocator() == __x.get_allocator()) {
615 _STLP_PRIV _List_global_inst::_Transfer(__pos._M_node, __i._M_node, __j._M_node);
616 }
617 else {
618 insert(__pos, *__i);
619 __x.erase(__i);
620 }
621 }

◆ splice() [8/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x,
iterator  __i 
)
inline

Definition at line 371 of file _list.h.

371 {
372 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&_M_iter_list,__pos))
374 _STLP_DEBUG_CHECK(_STLP_PRIV __check_if_owner(&(__x._M_iter_list),__i))
375 _M_non_dbg_impl.splice(__pos._M_iterator, __x._M_non_dbg_impl, __i._M_iterator);
376#if (_STLP_DEBUG_LEVEL != _STLP_STANDARD_DBG_LEVEL)
377 if (get_allocator() == __x.get_allocator())
378 _STLP_PRIV __change_ite_owner(__i, &_M_iter_list);
379 else
380#endif
381 // Std: 23.2.2.4:7
382 __x._Invalidate_iterator(__i);
383 }

◆ splice() [9/9]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::splice ( iterator  __pos,
_Self __x,
iterator  __i 
)
inline

Definition at line 295 of file _list.h.

296 { _M_impl.splice(_BaseIte(__pos._M_node), __x._M_impl, _BaseIte(__i._M_node)); }

◆ swap() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::swap ( _Self __x)
inline

Definition at line 401 of file _list.h.

401 {
402 if (__x.empty()) {
403 if (this->empty()) {
404 return;
405 }
406 this->_M_swap_aux(__x);
407 } else if (this->empty()) {
408 __x._M_swap_aux(*this);
409 } else {
410 this->_M_node.swap(__x._M_node);
411 _STLP_STD::swap(this->_M_node._M_data._M_prev->_M_next, __x._M_node._M_data._M_prev->_M_next);
412 _STLP_STD::swap(this->_M_node._M_data._M_next->_M_prev, __x._M_node._M_data._M_next->_M_prev);
413 }
414 }
void _M_swap_aux(_Self &__x)
Definition: _list.h:391

◆ swap() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::swap ( _Self __x)
inline

Definition at line 197 of file _list.h.

197 {
198 _M_iter_list._Swap_owners(__x._M_iter_list);
199 _M_non_dbg_impl.swap(__x._M_non_dbg_impl);
200 }

◆ swap() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::swap ( _Self __x)
inline

Definition at line 173 of file _list.h.

173{ _M_impl.swap(__x._M_impl); }

◆ unique() [1/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::unique ( )
inline

Definition at line 645 of file _list.h.

void _S_unique(list< _Tp, _Alloc > &__that, _BinaryPredicate __binary_pred)
Definition: _list.c:152

◆ unique() [2/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::unique ( )
inline

Definition at line 415 of file _list.h.

415 {
416 _Base_iterator __first = _M_non_dbg_impl.begin(), __last = _M_non_dbg_impl.end();
417 if (__first == __last) return;
418 _Base_iterator __next = __first;
419 while (++__next != __last) {
420 if (*__first == *__next) {
421 _Invalidate_iterator(iterator(&_M_iter_list, __next));
422 _M_non_dbg_impl.erase(__next);
423 }
424 else
425 __first = __next;
426 __next = __first;
427 }
428 }

◆ unique() [3/3]

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
void list< _Tp, >::unique ( )
inline

Definition at line 303 of file _list.h.

303{ _M_impl.unique(); }

Member Data Documentation

◆ _M_impl

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Base list< _Tp, >::_M_impl
private

◆ _M_iter_list

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_STLP_PRIV __owned_list list< _Tp, >::_M_iter_list
private

Definition at line 81 of file _list.h.

Referenced by list< _Tp, >::merge(), list< _Tp, >::splice(), and list< _Tp, >::swap().

◆ _M_non_dbg_impl

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
_Base list< _Tp, >::_M_non_dbg_impl
private

◆ _STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS

template<class _Tp , _STLP_DFL_TMPL_PARAM(_Alloc, allocator< _Tp >) >
list< _Tp, >::_STLP_DECLARE_BIDIRECTIONAL_REVERSE_ITERATORS

Definition at line 277 of file _list.h.

◆ next

◆ prev


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