29 #ifndef _GLIBCXX_PROFILE_FORWARD_LIST 
   30 #define _GLIBCXX_PROFILE_FORWARD_LIST 1 
   32 #if __cplusplus < 201103L 
   38 namespace std _GLIBCXX_VISIBILITY(default)
 
   43   template<
typename _Tp, 
typename _Alloc = std::allocator<_Tp> >
 
   45     : 
public _GLIBCXX_STD_C::forward_list<_Tp, _Alloc>
 
   47       typedef _GLIBCXX_STD_C::forward_list<_Tp, _Alloc> 
_Base;
 
   50         rebind<_GLIBCXX_STD_C::_Fwd_list_node<_Tp>>::other _Node_alloc_type;
 
   55       typedef typename _Base::size_type             size_type;
 
   67       : 
_Base(std::move(__list), __al)
 
   71       forward_list(size_type __n, 
const _Alloc& __al = _Alloc())
 
   76                    const _Alloc& __al = _Alloc())
 
   77       : 
_Base(__n, __value, __al)
 
   80       template<
typename _InputIterator,
 
   81            typename = std::_RequireInputIter<_InputIterator>>
 
   82         forward_list(_InputIterator __first, _InputIterator __last,
 
   83                      const _Alloc& __al = _Alloc())
 
   84         : 
_Base(__first, __last, __al)
 
   87       forward_list(
const forward_list& __list)
 
   91       forward_list(forward_list&& __list) noexcept
 
   92       : 
_Base(std::move(__list)) { }
 
   95                    const _Alloc& __al = _Alloc())
 
   99       ~forward_list() noexcept
 
  103       operator=(
const forward_list& __list)
 
  105     static_cast<_Base&
>(*this) = __list;
 
  110       operator=(forward_list&& __list)
 
  111       noexcept(_Node_alloc_traits::_S_nothrow_move())
 
  113     static_cast<_Base&
>(*this) = std::move(__list);
 
  120     static_cast<_Base&
>(*this) = __il;
 
  125       _M_base() noexcept       { 
return *
this; }
 
  128       _M_base() 
const noexcept { 
return *
this; }
 
  131   template<
typename _Tp, 
typename _Alloc>
 
  135     { 
return __lx._M_base() == __ly._M_base(); }
 
  137   template<
typename _Tp, 
typename _Alloc>
 
  139     operator<(const forward_list<_Tp, _Alloc>& __lx,
 
  141     { 
return __lx._M_base() < __ly._M_base(); }
 
  143   template<
typename _Tp, 
typename _Alloc>
 
  145     operator!=(
const forward_list<_Tp, _Alloc>& __lx,
 
  146                const forward_list<_Tp, _Alloc>& __ly)
 
  147     { 
return !(__lx == __ly); }
 
  150   template<
typename _Tp, 
typename _Alloc>
 
  154     { 
return (__ly < __lx); }
 
  157   template<
typename _Tp, 
typename _Alloc>
 
  161     { 
return !(__lx < __ly); }
 
  164   template<
typename _Tp, 
typename _Alloc>
 
  166     operator<=(const forward_list<_Tp, _Alloc>& __lx,
 
  168     { 
return !(__ly < __lx); }
 
  171   template<
typename _Tp, 
typename _Alloc>
 
Uniform interface to C++98 and C++0x allocators. 
Class std::forward_list wrapper with performance instrumentation. 
void swap(function< _Res(_Args...)> &__x, function< _Res(_Args...)> &__y)
Swap the targets of two polymorphic function object wrappers. 
A standard container with linear time access to elements, and fixed time insertion/deletion at any po...