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

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>

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:

- stl_list.h
- list.tcc