libstdc++
std::_List_base< _Tp, _Alloc > Class Template Reference

#include <stl_list.h>

Inheritance diagram for std::_List_base< _Tp, _Alloc >:
[legend]

Public Types

typedef _Alloc allocator_type
 

Public Member Functions

 _List_base (_List_base &&)=default
 
 _List_base (_List_base &&__x, _Node_alloc_type &&__a)
 
 _List_base (_Node_alloc_type &&__a)
 
 _List_base (_Node_alloc_type &&__a, _List_base &&__x)
 
 _List_base (const _Node_alloc_type &__a) noexcept
 
void _M_clear () noexcept
 
size_t _M_distance (const __detail::_List_node_base *__first, const __detail::_List_node_base *__last) const
 
const _Node_alloc_type & _M_get_Node_allocator () const noexcept
 
_Node_alloc_type & _M_get_Node_allocator () noexcept
 
void _M_init () noexcept
 
void _M_move_nodes (_List_base &&__x)
 
size_t _M_node_count () const
 

Static Public Member Functions

static size_t _S_distance (const __detail::_List_node_base *__first, const __detail::_List_node_base *__last)
 

Protected Types

typedef __gnu_cxx::__alloc_traits< _Node_alloc_type > _Node_alloc_traits
 
typedef _Tp_alloc_traits::template rebind< typename_Node_traits::_Node >::other _Node_alloc_type
 
using _Node_ptr
 
typedef __list::_Node_traits< _Tp, typename _Tp_alloc_traits::pointer > _Node_traits
 
typedef __gnu_cxx::__alloc_traits< _Tp_alloc_type > _Tp_alloc_traits
 
typedef __gnu_cxx::__alloc_traits< _Alloc >::template rebind< _Tp >::other _Tp_alloc_type
 

Protected Member Functions

void _M_dec_size (size_t __n)
 
void _M_destroy_node (_Node_ptr __p)
 
_Node_alloc_traits::pointer _M_get_node ()
 
size_t _M_get_size () const
 
void _M_inc_size (size_t __n)
 
void _M_put_node (_Node_ptr __p) noexcept
 
void _M_set_size (size_t __n)
 

Protected Attributes

_List_impl _M_impl
 

Detailed Description

template<typename _Tp, typename _Alloc>
class std::_List_base< _Tp, _Alloc >

See bits/stl_deque.h's _Deque_base for an explanation.

Definition at line 748 of file stl_list.h.

Member Typedef Documentation

◆ _Node_alloc_traits

template<typename _Tp, typename _Alloc>
typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> std::_List_base< _Tp, _Alloc >::_Node_alloc_traits
protected

Definition at line 759 of file stl_list.h.

◆ _Node_alloc_type

template<typename _Tp, typename _Alloc>
typedef _Tp_alloc_traits::template rebind<typename_Node_traits::_Node>::other std::_List_base< _Tp, _Alloc >::_Node_alloc_type
protected

Definition at line 758 of file stl_list.h.

◆ _Node_ptr

template<typename _Tp, typename _Alloc>
using std::_List_base< _Tp, _Alloc >::_Node_ptr
protected

Definition at line 764 of file stl_list.h.

◆ _Node_traits

template<typename _Tp, typename _Alloc>
typedef __list::_Node_traits<_Tp, typename _Tp_alloc_traits::pointer> std::_List_base< _Tp, _Alloc >::_Node_traits
protected

Definition at line 756 of file stl_list.h.

◆ _Tp_alloc_traits

template<typename _Tp, typename _Alloc>
typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> std::_List_base< _Tp, _Alloc >::_Tp_alloc_traits
protected

Definition at line 753 of file stl_list.h.

◆ _Tp_alloc_type

template<typename _Tp, typename _Alloc>
typedef __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Tp>::other std::_List_base< _Tp, _Alloc >::_Tp_alloc_type
protected

Definition at line 752 of file stl_list.h.

◆ allocator_type

template<typename _Tp, typename _Alloc>
typedef _Alloc std::_List_base< _Tp, _Alloc >::allocator_type

Definition at line 859 of file stl_list.h.

Constructor & Destructor Documentation

◆ _List_base() [1/4]

template<typename _Tp, typename _Alloc>
std::_List_base< _Tp, _Alloc >::_List_base ( const _Node_alloc_type & __a)
inlinenoexcept

Definition at line 875 of file stl_list.h.

◆ _List_base() [2/4]

template<typename _Tp, typename _Alloc>
std::_List_base< _Tp, _Alloc >::_List_base ( _Node_alloc_type && __a,
_List_base< _Tp, _Alloc > && __x )
inline

Definition at line 883 of file stl_list.h.

◆ _List_base() [3/4]

template<typename _Tp, typename _Alloc>
std::_List_base< _Tp, _Alloc >::_List_base ( _Node_alloc_type && __a)
inline

Definition at line 888 of file stl_list.h.

◆ ~_List_base()

template<typename _Tp, typename _Alloc>
std::_List_base< _Tp, _Alloc >::~_List_base ( )
inlinenoexcept

Definition at line 898 of file stl_list.h.

◆ _List_base() [4/4]

template<typename _Tp, typename _Alloc>
std::_List_base< _Tp, _Alloc >::_List_base ( _List_base< _Tp, _Alloc > && __x,
_Node_alloc_type && __a )
inline

Definition at line 925 of file stl_list.h.

Member Function Documentation

◆ _M_clear()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_clear ( )
noexcept

Definition at line 66 of file list.tcc.

◆ _M_dec_size()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_dec_size ( size_t __n)
inlineprotected

Definition at line 803 of file stl_list.h.

◆ _M_destroy_node()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_destroy_node ( _Node_ptr __p)
inlineprotected

Definition at line 839 of file stl_list.h.

◆ _M_distance()

template<typename _Tp, typename _Alloc>
size_t std::_List_base< _Tp, _Alloc >::_M_distance ( const __detail::_List_node_base * __first,
const __detail::_List_node_base * __last ) const
inline

Definition at line 959 of file stl_list.h.

◆ _M_get_node()

template<typename _Tp, typename _Alloc>
_Node_alloc_traits::pointer std::_List_base< _Tp, _Alloc >::_M_get_node ( )
inlineprotected

Definition at line 813 of file stl_list.h.

◆ _M_get_Node_allocator() [1/2]

template<typename _Tp, typename _Alloc>
const _Node_alloc_type & std::_List_base< _Tp, _Alloc >::_M_get_Node_allocator ( ) const
inlinenoexcept

Definition at line 866 of file stl_list.h.

◆ _M_get_Node_allocator() [2/2]

template<typename _Tp, typename _Alloc>
_Node_alloc_type & std::_List_base< _Tp, _Alloc >::_M_get_Node_allocator ( )
inlinenoexcept

Definition at line 862 of file stl_list.h.

◆ _M_get_size()

template<typename _Tp, typename _Alloc>
size_t std::_List_base< _Tp, _Alloc >::_M_get_size ( ) const
inlineprotected

Definition at line 797 of file stl_list.h.

◆ _M_inc_size()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_inc_size ( size_t __n)
inlineprotected

Definition at line 801 of file stl_list.h.

◆ _M_init()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_init ( )
inlinenoexcept

Definition at line 905 of file stl_list.h.

◆ _M_move_nodes()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_move_nodes ( _List_base< _Tp, _Alloc > && __x)
inline

Definition at line 893 of file stl_list.h.

◆ _M_node_count()

template<typename _Tp, typename _Alloc>
size_t std::_List_base< _Tp, _Alloc >::_M_node_count ( ) const
inline

Definition at line 964 of file stl_list.h.

◆ _M_put_node()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_put_node ( _Node_ptr __p)
inlineprotectednoexcept

Definition at line 817 of file stl_list.h.

◆ _M_set_size()

template<typename _Tp, typename _Alloc>
void std::_List_base< _Tp, _Alloc >::_M_set_size ( size_t __n)
inlineprotected

Definition at line 799 of file stl_list.h.

◆ _S_distance()

template<typename _Tp, typename _Alloc>
static size_t std::_List_base< _Tp, _Alloc >::_S_distance ( const __detail::_List_node_base * __first,
const __detail::_List_node_base * __last )
inlinestatic

Definition at line 938 of file stl_list.h.

Member Data Documentation

◆ _M_impl

template<typename _Tp, typename _Alloc>
_List_impl std::_List_base< _Tp, _Alloc >::_M_impl
protected

Definition at line 794 of file stl_list.h.


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