ReactOS  0.4.13-dev-544-gede3fdd
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 228 of file _list.h.

Member Typedef Documentation

◆ _Base [1/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 [2/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 [3/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_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 82 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 272 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 67 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 70 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 259 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 _Alloc_traits<value_type, _Alloc>::allocator_type list< _Tp, >::allocator_type

Definition at line 81 of file _list.h.

◆ allocator_type [2/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.

◆ 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 _DBG_iter<_Base, _STLP_PRIV _DbgTraits<_Const_traits<value_type> > > list< _Tp, >::const_iterator

Definition at line 75 of file _list.h.

◆ const_iterator [2/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_iterator [3/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_pointer [1/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_pointer [2/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_reference [1/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.

◆ 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 267 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 79 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 269 of file _list.h.

◆ iterator [1/3]

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

Definition at line 74 of file _list.h.

◆ iterator [2/3]

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

Definition at line 84 of file _list.h.

◆ iterator [3/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.

◆ pointer [1/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.

◆ pointer [2/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.

◆ reference [1/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.

◆ reference [2/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.

◆ size_type [1/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.

◆ size_type [2/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.

◆ value_type [1/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.

◆ value_type [2/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.

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.

314  { this->insert(begin(), __n, __val); }
316 #endif /*_STLP_DONT_SUP_DFLT_PARAM*/
318  { this->insert(begin(), __n, __val); }
iterator begin()
Definition: _list.h:367
return __n
Definition: _algo.h:75
_Base::allocator_type allocator_type
Definition: _list.h:271
#define _Alloc
Definition: _bvector.h:330
const value_type & const_reference
Definition: _list.h:267
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
Definition: _construct.h:265
size_t size_type
Definition: _list.h:268
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
list(size_type __n, const_reference __val=_STLP_DEFAULT_CONSTRUCTED(value_type), const allocator_type &__a=allocator_type())
Definition: _list.h:306
#define _STLP_PRIV
Definition: _dm.h:70
_Tp value_type
Definition: _list.h:263

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); }
iterator begin()
Definition: _list.h:367
_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
#define _STLP_PRIV
Definition: _dm.h:70

◆ 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); }
iterator begin()
Definition: _list.h:367
_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
#define _STLP_PRIV
Definition: _dm.h:70

◆ 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
_Base::allocator_type allocator_type
Definition: _list.h:271
list(size_type __n, const_reference __val=_STLP_DEFAULT_CONSTRUCTED(value_type), const allocator_type &__a=allocator_type())
Definition: _list.h:306
#define _STLP_PRIV
Definition: _dm.h:70

◆ 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()); }
iterator begin()
Definition: _list.h:367
void _M_insert(iterator __pos, const value_type *__first, const value_type *__last)
Definition: _list.h:454
#define _STLP_PRIV
Definition: _dm.h:70

◆ 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.

#define _STLP_PRIV
Definition: _dm.h:70
GLenum src
Definition: glext.h:6340

◆ ~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  :
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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.

return __n
Definition: _algo.h:75
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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)),
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  }
GLenum src
Definition: glext.h:6340
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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),
_STLP_PRIV __construct_checker< _STLP_NON_DBG_LIST > _ConstructCheck
Definition: _list.h:68
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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),
_STLP_PRIV __construct_checker< _STLP_NON_DBG_LIST > _ConstructCheck
Definition: _list.h:68
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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) {}
_STLP_PRIV __construct_checker< _STLP_NON_DBG_LIST > _ConstructCheck
Definition: _list.h:68
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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),
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _list.h:326
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656

◆ 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),
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Base _M_impl
Definition: _list.h:326
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ 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),
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Base::const_iterator _BaseConstIte
Definition: _list.h:68
_Base _M_impl
Definition: _list.h:326
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.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) {}
_Base _M_impl
Definition: _list.h:326

◆ 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)) {}
_Base _M_impl
Definition: _list.h:326
GLenum src
Definition: glext.h:6340

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)
#define _STLP_PRIV
Definition: _dm.h:70
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81

Referenced by list< BookmarkNode >::erase(), list< BookmarkNode >::pop_back(), list< BookmarkNode >::pop_front(), list< BookmarkNode >::remove(), list< BookmarkNode >::splice(), and list< BookmarkNode >::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

Definition at line 85 of file _list.h.

86  { _STLP_PRIV __invalidate_range(&_M_iter_list, __first, __last); }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81

Referenced by list< BookmarkNode >::assign(), list< BookmarkNode >::clear(), list< BookmarkNode >::erase(), list< BookmarkNode >::merge(), list< BookmarkNode >::operator=(), list< BookmarkNode >::resize(), and list< BookmarkNode >::splice().

◆ _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
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  }
const value_type & const_reference
Definition: _list.h:267
_STLP_PRIV _List_node_base _Node_base
Definition: _list.h:261
#define _STLP_UNWIND(action)
Definition: features.h:824
void _Copy_Construct(_Tp *__p, const _Tp &__val)
Definition: _construct.h:130
_Node_base * _M_create_node(const_reference __x=value_type())
Definition: _list.h:281
_STLP_PRIV _List_node< _Tp > _Node
Definition: _list.h:260
#define _STLP_TRY
Definition: features.h:817

Referenced by list< BookmarkNode >::_M_create_node().

◆ _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 begin()
Definition: _list.h:367
iterator erase(iterator __pos)
Definition: _list.h:518
return __n
Definition: _algo.h:75
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
iterator end()
Definition: _list.h:370

Referenced by list< BookmarkNode >::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  }
return __n
Definition: _algo.h:75
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420

Referenced by list< BookmarkNode >::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  }
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

Referenced by list< BookmarkNode >::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  }
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ _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< BookmarkNode >::swap().

◆ assign() [1/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)); }
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _list.h:326
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656

◆ 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  }
_Base _M_impl
Definition: _list.h:326
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ assign() [3/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)); }
_Base::const_iterator _BaseConstIte
Definition: _list.h:68
_Base _M_impl
Definition: _list.h:326
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ assign() [4/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  }
iterator begin()
Definition: _list.h:367
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ assign() [5/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  }
iterator begin()
Definition: _list.h:367
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ assign() [6/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  }
iterator begin()
Definition: _list.h:367
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ assign() [7/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  }
iterator begin()
Definition: _list.h:367
return __n
Definition: _algo.h:75
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ assign() [8/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.

555 { _M_fill_assign(__n, __val); }
return __n
Definition: _algo.h:75
void _M_fill_assign(size_type __n, const_reference __val)
Definition: _list.c:124
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656

Referenced by list< BookmarkNode >::resize().

◆ assign() [9/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  }
iterator begin()
Definition: _list.h:367
iterator erase(iterator __pos)
Definition: _list.h:518
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
iterator end()
Definition: _list.h:370

◆ assign() [10/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  }
iterator begin()
Definition: _list.h:367
iterator erase(iterator __pos)
Definition: _list.h:518
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
iterator end()
Definition: _list.h:370

◆ back() [1/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()); }
iterator end()
Definition: _list.h:370

◆ back() [2/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()); }
iterator end()
Definition: _list.h:370

◆ back() [3/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  }
iterator end()
Definition: _list.h:370
bool empty() const
Definition: _list.h:177
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ back() [4/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  }
iterator end()
Definition: _list.h:370
bool empty() const
Definition: _list.h:177
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ back() [5/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()); }
iterator end()
Definition: _list.h:370

◆ back() [6/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()); }
iterator end()
Definition: _list.h:370

◆ begin() [1/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); }
_Base _M_impl
Definition: _list.h:326
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275

◆ begin() [2/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); }
_Base _M_impl
Definition: _list.h:326
_STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
Definition: _list.h:276

◆ begin() [3/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()); }
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ begin() [4/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()); }
_STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
Definition: _list.h:276
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ begin() [5/6]

◆ begin() [6/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

◆ clear() [1/2]

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

Definition at line 177 of file _list.h.

177 { _M_impl.clear(); }
_Base _M_impl
Definition: _list.h:326

◆ clear() [2/2]

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

Definition at line 352 of file _list.h.

352  {
354  _M_non_dbg_impl.clear();
355  }
iterator begin()
Definition: _list.h:367
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

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

◆ empty() [1/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(); }
_Base _M_impl
Definition: _list.h:326

◆ empty() [2/2]

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

◆ end() [1/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); }
_Base _M_impl
Definition: _list.h:326
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275

◆ end() [2/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); }
_Base _M_impl
Definition: _list.h:326
_STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
Definition: _list.h:276

◆ end() [3/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()); }
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ end() [4/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()); }
_STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
Definition: _list.h:276
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ end() [5/6]

◆ end() [6/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)); }
_STLP_PRIV _List_node_base _Node_base
Definition: _list.h:261
_STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
Definition: _list.h:276
#define __CONST_CAST(__x, __y)
Definition: features.h:584

◆ erase() [1/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); }
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275

◆ 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 239 of file _list.h.

240  { return iterator(_M_impl.erase(_BaseIte(__first._M_node), _BaseIte(__last._M_node))._M_node); }
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275

◆ erase() [3/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))
279  _Invalidate_iterator(__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
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ erase() [4/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  }
return
Definition: dirsup.c:529
iterator begin()
Definition: _list.h:367
iterator erase(iterator __pos)
Definition: _list.h:518
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ erase() [5/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  }
return __n
Definition: _algo.h:75
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
_STLP_PRIV _List_node_base _Node_base
Definition: _list.h:261
_STLP_PRIV _List_node< _Tp > _Node
Definition: _list.h:260
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
void _Destroy(_Tp *__pointer)
Definition: _construct.h:63

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

◆ erase() [6/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  }
iterator erase(iterator __pos)
Definition: _list.h:518
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ front() [1/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(); }
iterator begin()
Definition: _list.h:367

◆ front() [2/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(); }
iterator begin()
Definition: _list.h:367

◆ front() [3/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  }
iterator begin()
Definition: _list.h:367
bool empty() const
Definition: _list.h:177
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ front() [4/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  }
iterator begin()
Definition: _list.h:367
bool empty() const
Definition: _list.h:177
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ front() [5/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(); }
iterator begin()
Definition: _list.h:367

Referenced by FindProgramDlg::collect_programs_callback().

◆ front() [6/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(); }
iterator begin()
Definition: _list.h:367

◆ 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 89 of file _list.h.

90  { return _STLP_CONVERT_ALLOCATOR(_M_impl.get_allocator(), value_type); }
#define _STLP_CONVERT_ALLOCATOR(__a, _Tp)
Definition: _alloc.h:183
_Base _M_impl
Definition: _list.h:326
_Tp value_type
Definition: _list.h:263

◆ 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 161 of file _list.h.

161 { return _M_non_dbg_impl.get_allocator(); }
_Base _M_non_dbg_impl
Definition: _list.h:80

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

◆ insert() [1/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); }
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275

◆ insert() [2/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  }
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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 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)); }
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ insert() [4/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)); }
_Base::const_iterator _BaseConstIte
Definition: _list.h:68
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ insert() [5/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)); }
return __n
Definition: _algo.h:75
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67

◆ insert() [6/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  }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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 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  }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ insert() [8/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  }
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ insert() [9/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  }
return __n
Definition: _algo.h:75
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ insert() [10/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  }
return __n
Definition: _algo.h:75
_STLP_PRIV _List_node_base _Node_base
Definition: _list.h:261
_Node_base * _M_create_node(const_reference __x=value_type())
Definition: _list.h:281
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275

Referenced by list< BookmarkNode >::_M_fill_insert(), list< BookmarkNode >::_M_insert(), _S_merge(), list< BookmarkNode >::assign(), list< BookmarkNode >::insert(), list< BookmarkNode >::list(), list< BookmarkNode >::push_back(), list< BookmarkNode >::push_front(), and list< BookmarkNode >::splice().

◆ insert() [11/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  }
void splice(iterator __pos, _Self &__x)
Definition: _list.h:599
allocator_type get_allocator() const
Definition: _list.h:161
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
list< _Tp, _Alloc > _Self
Definition: _list.h:259
#define _STLP_ASSERT(expr)
Definition: _debug.h:165

◆ insert() [12/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
allocator_type get_allocator() const
Definition: _list.h:161
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
list< _Tp, _Alloc > _Self
Definition: _list.h:259

◆ 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); }
return __n
Definition: _algo.h:75
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 166 of file _list.h.

166 { return _M_impl.max_size(); }
_Base _M_impl
Definition: _list.h:326

◆ 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(); }
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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 383 of file _list.h.

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

◆ merge() [1/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); }
_Base _M_impl
Definition: _list.h:326

◆ 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  }
iterator begin()
Definition: _list.h:367
allocator_type get_allocator() const
Definition: _list.h:161
_STLP_MOVE_TO_STD_NAMESPACE bool is_sorted(_ForwardIter __first, _ForwardIter __last)
Definition: _algo.h:722
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ merge() [3/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
#define _STLP_PRIV
Definition: _dm.h:70

◆ operator=() [1/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  }
iterator begin()
Definition: _list.h:367
void _Invalidate_iterators(const iterator &__first, const iterator &__last)
Definition: _list.h:85
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ operator=() [2/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; }
_Base _M_impl
Definition: _list.h:326

◆ operator=() [3/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 }
iterator begin()
Definition: _list.h:367
iterator erase(iterator __pos)
Definition: _list.h:518
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
_STLP_PRIV _List_iterator< _Tp, _Const_traits< _Tp > > const_iterator
Definition: _list.h:276
iterator end()
Definition: _list.h:370

◆ pop_back() [1/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(); }
_Base _M_impl
Definition: _list.h:326

◆ 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  }
void _Invalidate_iterator(const iterator &__it)
Definition: _list.h:83
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80
bool empty() const
Definition: _list.h:177
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ pop_back() [3/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  }
iterator erase(iterator __pos)
Definition: _list.h:518
iterator end()
Definition: _list.h:370

◆ pop_front() [1/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(); }
_Base _M_impl
Definition: _list.h:326

◆ 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  }
void _Invalidate_iterator(const iterator &__it)
Definition: _list.h:83
iterator begin()
Definition: _list.h:367
_Base _M_non_dbg_impl
Definition: _list.h:80
bool empty() const
Definition: _list.h:177
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
Definition: _debug.h:439

◆ pop_front() [3/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()); }
iterator begin()
Definition: _list.h:367
iterator erase(iterator __pos)
Definition: _list.h:518

◆ 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)); }
_Base _M_impl
Definition: _list.h:326

◆ push_back() [2/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); }
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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 509 of file _list.h.

509 { insert(end(), __x); }
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
iterator end()
Definition: _list.h:370

Referenced by StartMenu::ActivateEntry(), StartMenu::CreateSubmenu(), Favorites::import_IE_favorites(), MinimizeDesktopEnumFct(), NotifyArea::read_config(), TrayNotifyDlg::SetIconMode(), StartMenu::StartMenu(), and StartMenuRoot::StartMenuRoot().

◆ 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)); }
_Base _M_impl
Definition: _list.h:326

◆ 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 269 of file _list.h.

269 { _M_non_dbg_impl.push_front(__x); }
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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 508 of file _list.h.

508 { insert(begin(), __x); }
iterator begin()
Definition: _list.h:367
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420

Referenced by FindProgramDlg::collect_programs_callback().

◆ rbegin() [1/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()); }
#define reverse_iterator
Definition: _abbrevs.h:34
iterator end()
Definition: _list.h:370

◆ rbegin() [2/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()); }
iterator end()
Definition: _list.h:370

◆ rbegin() [3/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()); }
#define reverse_iterator
Definition: _abbrevs.h:34
iterator end()
Definition: _list.h:370

◆ rbegin() [4/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()); }
iterator end()
Definition: _list.h:370

◆ rbegin() [5/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
iterator end()
Definition: _list.h:370

Referenced by Desktops::ToggleMinimize().

◆ rbegin() [6/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()); }
iterator end()
Definition: _list.h:370

◆ remove() [1/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)); }
_Base _M_impl
Definition: _list.h:326
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656

◆ remove() [2/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) {
346  _M_non_dbg_impl.erase(__first);
347  }
348  __first = __next;
349  }
350  }
void _Invalidate_iterator(const iterator &__it)
Definition: _list.h:83
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base::iterator _Base_iterator
Definition: _list.h:88
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ remove() [3/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  }
iterator begin()
Definition: _list.h:367
iterator erase(iterator __pos)
Definition: _list.h:518
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_STLP_INLINE_LOOP _InputIter const _Tp & __val
Definition: _algobase.h:656
iterator end()
Definition: _list.h:370

◆ rend() [1/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()); }
iterator begin()
Definition: _list.h:367
#define reverse_iterator
Definition: _abbrevs.h:34

◆ rend() [2/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()); }
iterator begin()
Definition: _list.h:367

◆ rend() [3/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()); }
iterator begin()
Definition: _list.h:367
#define reverse_iterator
Definition: _abbrevs.h:34

◆ rend() [4/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()); }
iterator begin()
Definition: _list.h:367

◆ rend() [5/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()); }
iterator begin()
Definition: _list.h:367
#define reverse_iterator
Definition: _abbrevs.h:34

Referenced by Desktops::ToggleMinimize().

◆ rend() [6/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()); }
iterator begin()
Definition: _list.h:367

◆ resize() [1/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));}
void resize(size_type __new_size, const_reference __x=value_type())
size_t size_type
Definition: _list.h:268
_Base _M_impl
Definition: _list.h:326
_Tp value_type
Definition: _list.h:263

◆ resize() [2/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  }
iterator erase(iterator __pos)
Definition: _list.h:518
void resize(size_type __new_size, const_reference __x=value_type())
size_t size_type
Definition: _list.h:268
_Base::iterator _Base_iterator
Definition: _list.h:88
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
iterator end()
Definition: _list.h:370
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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() 
)

◆ reverse() [1/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(); }
_Base _M_impl
Definition: _list.h:326

◆ 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  }
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ reverse() [3/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  }
#define swap(a, b)
Definition: qsort.c:63
_STLP_PRIV _List_node_base _Node_base
Definition: _list.h:261

◆ size() [1/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(); }
_Base _M_impl
Definition: _list.h:326

◆ 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(); }
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ size() [3/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  }
iterator begin()
Definition: _list.h:367
GLsizei GLsizei GLfloat distance
Definition: glext.h:11755
size_t size_type
Definition: _list.h:268
iterator end()
Definition: _list.h:370

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

◆ sort() [1/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(); }
_Base _M_impl
Definition: _list.h:326

◆ 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  }
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ sort() [3/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>()); }
#define _STLP_PRIV
Definition: _dm.h:70
void _S_sort(list< _Tp, _Alloc > &__that, _StrictWeakOrdering __comp)
Definition: _list.c:206

Referenced by test_list_sort::operator()().

◆ 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 293 of file _list.h.

294  { _M_impl.splice(_BaseIte(__pos._M_node), __x._M_impl); }
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67

◆ splice() [2/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)); }
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67

◆ splice() [3/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)); }
_Base _M_impl
Definition: _list.h:326
_Base::iterator _BaseIte
Definition: _list.h:67
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68

◆ splice() [4/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  }
allocator_type get_allocator() const
Definition: _list.h:161
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ splice() [5/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  }
bool _Dereferenceable(const _Iterator &__it)
Definition: _iterator.h:93
allocator_type get_allocator() const
Definition: _list.h:161
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ 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 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  }
allocator_type get_allocator() const
Definition: _list.h:161
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
#define _STLP_DEBUG_CHECK(expr)
Definition: _debug.h:440
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80
#define true
Definition: stdbool.h:37

◆ splice() [7/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  }
allocator_type get_allocator() const
Definition: _list.h:161
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
#define _STLP_PRIV
Definition: _dm.h:70
static void _STLP_CALL _Transfer(_Node_base *__pos, _Node_base *__first, _Node_base *__last)

Referenced by list< BookmarkNode >::insert().

◆ 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 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  }
allocator_type get_allocator() const
Definition: _list.h:161
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
#define _STLP_PRIV
Definition: _dm.h:70
static void _STLP_CALL _Transfer(_Node_base *__pos, _Node_base *__first, _Node_base *__last)

◆ splice() [9/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  }
allocator_type get_allocator() const
Definition: _list.h:161
iterator insert(iterator __pos, const_reference __x=value_type())
Definition: _list.h:420
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _STLP_PRIV
Definition: _dm.h:70
static void _STLP_CALL _Transfer(_Node_base *__pos, _Node_base *__first, _Node_base *__last)

◆ swap() [1/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); }
_Base _M_impl
Definition: _list.h:326

◆ 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  }
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ swap() [3/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
#define swap(a, b)
Definition: qsort.c:63
bool empty() const
Definition: _list.h:177

Referenced by _S_sort().

◆ unique() [1/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(); }
_Base _M_impl
Definition: _list.h:326

◆ 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) {
422  _M_non_dbg_impl.erase(__next);
423  }
424  else
425  __first = __next;
426  __next = __first;
427  }
428  }
void _Invalidate_iterator(const iterator &__it)
Definition: _list.h:83
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
_Base::iterator _Base_iterator
Definition: _list.h:88
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
Definition: _list.h:275
_STLP_PRIV __owned_list _M_iter_list
Definition: _list.h:81
_Base _M_non_dbg_impl
Definition: _list.h:80

◆ unique() [3/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
#define _STLP_PRIV
Definition: _dm.h:70

Member Data Documentation

◆ _M_impl

◆ _M_iter_list

◆ _M_non_dbg_impl

◆ _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: