libstdc++
std::__profile::list< _Tp, _Allocator > Class Template Reference

Inherits list< _Tp, std::allocator< _Tp > >, and std::__profile::_List_profile< _List >.

Public Types

typedef _Allocator allocator_type
 
typedef __iterator_tracker< typename _Base::const_iterator, listconst_iterator
 
typedef _Base::const_pointer const_pointer
 
typedef _Base::const_reference const_reference
 
typedef std::reverse_iterator< const_iterator > const_reverse_iterator
 
typedef _Base::difference_type difference_type
 
typedef __iterator_tracker< typename _Base::iterator, listiterator
 
typedef _Base::pointer pointer
 
typedef _Base::reference reference
 
typedef std::reverse_iterator< iterator > reverse_iterator
 
typedef _Base::size_type size_type
 
typedef _Tp value_type
 

Public Member Functions

template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
 list (_InputIterator __first, _InputIterator __last, const _Allocator &__a=_Allocator())
 
 list (const _Allocator &__a) noexcept
 
 list (const _Base &__x)
 
 list (const list &)=default
 
 list (const list &__x, const allocator_type &__a)
 
 list (initializer_list< value_type > __l, const allocator_type &__a=allocator_type())
 
 list (list &&)=default
 
 list (list &&__x, const allocator_type &__a)
 
 list (size_type __n, const _Tp &__value, const _Allocator &__a=_Allocator())
 
 list (size_type __n, const allocator_type &__a=allocator_type())
 
const _Base_M_base () const noexcept
 
_Base_M_base () noexcept
 
void _M_profile_construct () noexcept
 
void _M_profile_destruct () noexcept
 
void _M_profile_iterate (int __rewind=0) const
 
void _M_swap (_List_profile &__other)
 
const_reference back () const noexcept
 
reference back () noexcept
 
const_iterator begin () const noexcept
 
iterator begin () noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
void clear () noexcept
 
const_reverse_iterator crbegin () const noexcept
 
const_reverse_iterator crend () const noexcept
 
template<typename... _Args>
iterator emplace (const_iterator __position, _Args &&... __args)
 
const_iterator end () const noexcept
 
iterator end () noexcept
 
iterator erase (const_iterator __pos) noexcept
 
iterator erase (const_iterator __pos, const_iterator __last) noexcept
 
template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
iterator insert (const_iterator __pos, _InputIterator __first, _InputIterator __last)
 
iterator insert (const_iterator __pos, _Tp &&__x)
 
iterator insert (const_iterator __pos, const _Tp &__x)
 
iterator insert (const_iterator __pos, initializer_list< value_type > __l)
 
iterator insert (const_iterator __pos, size_type __n, const _Tp &__x)
 
void merge (list &&__x)
 
template<class _Compare >
void merge (list &&__x, _Compare __comp)
 
void merge (list &__x)
 
template<typename _Compare >
void merge (list &__x, _Compare __comp)
 
listoperator= (const list &)=default
 
listoperator= (initializer_list< value_type > __l)
 
listoperator= (list &&)=default
 
void pop_back () noexcept
 
void pop_front () noexcept
 
void push_front (const value_type &__x)
 
const_reverse_iterator rbegin () const noexcept
 
reverse_iterator rbegin () noexcept
 
void remove (const _Tp &__value)
 
template<class _Predicate >
void remove_if (_Predicate __pred)
 
const_reverse_iterator rend () const noexcept
 
reverse_iterator rend () noexcept
 
void splice (const_iterator __pos, list &&__x) noexcept
 
void splice (const_iterator __pos, list &&__x, const_iterator __first, const_iterator __last) noexcept
 
void splice (const_iterator __pos, list &&__x, const_iterator __i) noexcept
 
void splice (const_iterator __pos, list &__x) noexcept
 
void splice (const_iterator __pos, list &__x, const_iterator __first, const_iterator __last) noexcept
 
void splice (const_iterator __pos, list &__x, const_iterator __i)
 
void swap (list &__x) noexcept(/*conditional */)
 
void unique ()
 
template<class _BinaryPredicate >
void unique (_BinaryPredicate __binary_pred)
 

Public Attributes

__gnu_profile::__list2slist_info * _M_list2slist_info
 
__gnu_profile::__list2vector_info_M_list2vector_info
 

Detailed Description

template<typename _Tp, typename _Allocator = std::allocator<_Tp>>
class std::__profile::list< _Tp, _Allocator >

List wrapper with performance instrumentation.

Definition at line 106 of file profile/list.

Member Typedef Documentation

◆ allocator_type

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Allocator std::__profile::list< _Tp, _Allocator >::allocator_type

Definition at line 125 of file profile/list.

◆ const_iterator

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef __iterator_tracker<typename _Base::const_iterator, list> std::__profile::list< _Tp, _Allocator >::const_iterator

Definition at line 119 of file profile/list.

◆ const_pointer

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Base::const_pointer std::__profile::list< _Tp, _Allocator >::const_pointer

Definition at line 127 of file profile/list.

◆ const_reference

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Base::const_reference std::__profile::list< _Tp, _Allocator >::const_reference

Definition at line 114 of file profile/list.

◆ const_reverse_iterator

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef std::reverse_iterator<const_iterator> std::__profile::list< _Tp, _Allocator >::const_reverse_iterator

Definition at line 129 of file profile/list.

◆ difference_type

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Base::difference_type std::__profile::list< _Tp, _Allocator >::difference_type

Definition at line 122 of file profile/list.

◆ iterator

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef __iterator_tracker<typename _Base::iterator, list> std::__profile::list< _Tp, _Allocator >::iterator

Definition at line 117 of file profile/list.

◆ pointer

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Base::pointer std::__profile::list< _Tp, _Allocator >::pointer

Definition at line 126 of file profile/list.

◆ reference

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Base::reference std::__profile::list< _Tp, _Allocator >::reference

Definition at line 113 of file profile/list.

◆ reverse_iterator

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef std::reverse_iterator<iterator> std::__profile::list< _Tp, _Allocator >::reverse_iterator

Definition at line 128 of file profile/list.

◆ size_type

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Base::size_type std::__profile::list< _Tp, _Allocator >::size_type

Definition at line 121 of file profile/list.

◆ value_type

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
typedef _Tp std::__profile::list< _Tp, _Allocator >::value_type

Definition at line 124 of file profile/list.

Constructor & Destructor Documentation

◆ list() [1/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
std::__profile::list< _Tp, _Allocator >::list ( initializer_list< value_type >  __l,
const allocator_type &  __a = allocator_type() 
)
inline

Definition at line 145 of file profile/list.

◆ list() [2/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
std::__profile::list< _Tp, _Allocator >::list ( const list< _Tp, _Allocator > &  __x,
const allocator_type &  __a 
)
inline

Definition at line 149 of file profile/list.

◆ list() [3/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
std::__profile::list< _Tp, _Allocator >::list ( list< _Tp, _Allocator > &&  __x,
const allocator_type &  __a 
)
inline

Definition at line 152 of file profile/list.

◆ list() [4/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
std::__profile::list< _Tp, _Allocator >::list ( const _Allocator &  __a)
inlineexplicitnoexcept

Definition at line 157 of file profile/list.

◆ list() [5/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
std::__profile::list< _Tp, _Allocator >::list ( size_type  __n,
const allocator_type &  __a = allocator_type() 
)
inlineexplicit

Definition at line 162 of file profile/list.

◆ list() [6/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
std::__profile::list< _Tp, _Allocator >::list ( size_type  __n,
const _Tp &  __value,
const _Allocator &  __a = _Allocator() 
)
inline

Definition at line 165 of file profile/list.

◆ list() [7/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
std::__profile::list< _Tp, _Allocator >::list ( _InputIterator  __first,
_InputIterator  __last,
const _Allocator &  __a = _Allocator() 
)
inline

Definition at line 181 of file profile/list.

◆ list() [8/8]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
std::__profile::list< _Tp, _Allocator >::list ( const _Base __x)
inline

Definition at line 185 of file profile/list.

Member Function Documentation

◆ _M_base() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const _Base & std::__profile::list< _Tp, _Allocator >::_M_base ( ) const
inlinenoexcept

Definition at line 581 of file profile/list.

◆ _M_base() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
_Base & std::__profile::list< _Tp, _Allocator >::_M_base ( )
inlinenoexcept

Definition at line 578 of file profile/list.

◆ _M_profile_construct()

template<typename _List >
void std::__profile::_List_profile< _List >::_M_profile_construct ( )
inlinenoexceptinherited

Definition at line 55 of file profile/list.

◆ _M_profile_destruct()

template<typename _List >
void std::__profile::_List_profile< _List >::_M_profile_destruct ( )
inlinenoexceptinherited

Definition at line 62 of file profile/list.

◆ _M_profile_iterate()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::_M_profile_iterate ( int  __rewind = 0) const
inline

Definition at line 583 of file profile/list.

◆ _M_swap()

template<typename _List >
void std::__profile::_List_profile< _List >::_M_swap ( _List_profile< _List > &  __other)
inlineinherited

Definition at line 71 of file profile/list.

◆ back() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_reference std::__profile::list< _Tp, _Allocator >::back ( ) const
inlinenoexcept

Definition at line 286 of file profile/list.

◆ back() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
reference std::__profile::list< _Tp, _Allocator >::back ( )
inlinenoexcept

Definition at line 279 of file profile/list.

◆ begin() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_iterator std::__profile::list< _Tp, _Allocator >::begin ( ) const
inlinenoexcept

Definition at line 220 of file profile/list.

◆ begin() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::begin ( )
inlinenoexcept

Definition at line 216 of file profile/list.

◆ cbegin()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_iterator std::__profile::list< _Tp, _Allocator >::cbegin ( ) const
inlinenoexcept

Definition at line 261 of file profile/list.

◆ cend()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_iterator std::__profile::list< _Tp, _Allocator >::cend ( ) const
inlinenoexcept

Definition at line 265 of file profile/list.

◆ clear()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::clear ( )
inlinenoexcept

Definition at line 421 of file profile/list.

◆ crbegin()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_reverse_iterator std::__profile::list< _Tp, _Allocator >::crbegin ( ) const
inlinenoexcept

Definition at line 269 of file profile/list.

◆ crend()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_reverse_iterator std::__profile::list< _Tp, _Allocator >::crend ( ) const
inlinenoexcept

Definition at line 273 of file profile/list.

◆ emplace()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
template<typename... _Args>
iterator std::__profile::list< _Tp, _Allocator >::emplace ( const_iterator  __position,
_Args &&...  __args 
)
inline

Definition at line 318 of file profile/list.

◆ end() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_iterator std::__profile::list< _Tp, _Allocator >::end ( ) const
inlinenoexcept

Definition at line 231 of file profile/list.

◆ end() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::end ( )
inlinenoexcept

Definition at line 224 of file profile/list.

◆ erase() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::erase ( const_iterator  __pos)
inlinenoexcept

Definition at line 394 of file profile/list.

◆ erase() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::erase ( const_iterator  __pos,
const_iterator  __last 
)
inlinenoexcept

Definition at line 402 of file profile/list.

◆ insert() [1/5]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
iterator std::__profile::list< _Tp, _Allocator >::insert ( const_iterator  __pos,
_InputIterator  __first,
_InputIterator  __last 
)
inline

Definition at line 374 of file profile/list.

◆ insert() [2/5]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::insert ( const_iterator  __pos,
_Tp &&  __x 
)
inline

Definition at line 339 of file profile/list.

◆ insert() [3/5]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::insert ( const_iterator  __pos,
const _Tp &  __x 
)
inline

Definition at line 328 of file profile/list.

◆ insert() [4/5]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::insert ( const_iterator  __pos,
initializer_list< value_type >  __l 
)
inline

Definition at line 347 of file profile/list.

◆ insert() [5/5]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
iterator std::__profile::list< _Tp, _Allocator >::insert ( const_iterator  __pos,
size_type  __n,
const _Tp &  __x 
)
inline

Definition at line 356 of file profile/list.

◆ merge() [1/4]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::merge ( list< _Tp, _Allocator > &&  __x)
inline

Definition at line 549 of file profile/list.

◆ merge() [2/4]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
template<class _Compare >
void std::__profile::list< _Tp, _Allocator >::merge ( list< _Tp, _Allocator > &&  __x,
_Compare  __comp 
)
inline

Definition at line 564 of file profile/list.

◆ merge() [3/4]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::merge ( list< _Tp, _Allocator > &  __x)
inline

Definition at line 557 of file profile/list.

◆ merge() [4/4]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
template<typename _Compare >
void std::__profile::list< _Tp, _Allocator >::merge ( list< _Tp, _Allocator > &  __x,
_Compare  __comp 
)
inline

Definition at line 573 of file profile/list.

◆ operator=()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
list & std::__profile::list< _Tp, _Allocator >::operator= ( initializer_list< value_type >  __l)
inline

Definition at line 205 of file profile/list.

◆ pop_back()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::pop_back ( )
inlinenoexcept

Definition at line 309 of file profile/list.

◆ pop_front()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::pop_front ( )
inlinenoexcept

Definition at line 302 of file profile/list.

◆ push_front()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::push_front ( const value_type &  __x)
inline

Definition at line 294 of file profile/list.

◆ rbegin() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_reverse_iterator std::__profile::list< _Tp, _Allocator >::rbegin ( ) const
inlinenoexcept

Definition at line 245 of file profile/list.

◆ rbegin() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
reverse_iterator std::__profile::list< _Tp, _Allocator >::rbegin ( )
inlinenoexcept

Definition at line 238 of file profile/list.

◆ remove()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::remove ( const _Tp &  __value)
inline

Definition at line 483 of file profile/list.

◆ remove_if()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
template<class _Predicate >
void std::__profile::list< _Tp, _Allocator >::remove_if ( _Predicate  __pred)
inline

Definition at line 496 of file profile/list.

◆ rend() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
const_reverse_iterator std::__profile::list< _Tp, _Allocator >::rend ( ) const
inlinenoexcept

Definition at line 256 of file profile/list.

◆ rend() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
reverse_iterator std::__profile::list< _Tp, _Allocator >::rend ( )
inlinenoexcept

Definition at line 252 of file profile/list.

◆ splice() [1/6]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::splice ( const_iterator  __pos,
list< _Tp, _Allocator > &&  __x 
)
inlinenoexcept

Definition at line 431 of file profile/list.

◆ splice() [2/6]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::splice ( const_iterator  __pos,
list< _Tp, _Allocator > &&  __x,
const_iterator  __first,
const_iterator  __last 
)
inlinenoexcept

Definition at line 464 of file profile/list.

◆ splice() [3/6]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::splice ( const_iterator  __pos,
list< _Tp, _Allocator > &&  __x,
const_iterator  __i 
)
inlinenoexcept

Definition at line 449 of file profile/list.

◆ splice() [4/6]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::splice ( const_iterator  __pos,
list< _Tp, _Allocator > &  __x 
)
inlinenoexcept

Definition at line 439 of file profile/list.

◆ splice() [5/6]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::splice ( const_iterator  __pos,
list< _Tp, _Allocator > &  __x,
const_iterator  __first,
const_iterator  __last 
)
inlinenoexcept

Definition at line 477 of file profile/list.

◆ splice() [6/6]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::splice ( const_iterator  __pos,
list< _Tp, _Allocator > &  __x,
const_iterator  __i 
)
inline

Definition at line 443 of file profile/list.

◆ swap()

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::swap ( list< _Tp, _Allocator > &  __x)
inlinenoexcept

Definition at line 413 of file profile/list.

◆ unique() [1/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
void std::__profile::list< _Tp, _Allocator >::unique ( )
inline

Definition at line 509 of file profile/list.

◆ unique() [2/2]

template<typename _Tp , typename _Allocator = std::allocator<_Tp>>
template<class _BinaryPredicate >
void std::__profile::list< _Tp, _Allocator >::unique ( _BinaryPredicate  __binary_pred)
inline

Definition at line 529 of file profile/list.

Member Data Documentation

◆ _M_list2slist_info

template<typename _List >
__gnu_profile::__list2slist_info* std::__profile::_List_profile< _List >::_M_list2slist_info
inherited

Definition at line 48 of file profile/list.

◆ _M_list2vector_info

template<typename _List >
__gnu_profile::__list2vector_info* std::__profile::_List_profile< _List >::_M_list2vector_info
inherited

Definition at line 49 of file profile/list.


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