STD::_LIST_BASE(3cxx)

okay so you opened the std::_List_base< _Tp, _Alloc >(3cxx) page β€” that’s the 3cxx manual, libstdc++ bestie, and we are so here for it. πŸ’– This is a base-class situation, and the explanation tea is in bits/stl_deque.h’s _Deque_base, iykyk.

πŸŽ€ NAME πŸŽ€

std::_List_base< _Tp, _Alloc > β€” See bits/stl_deque.h’s _Deque_base for an explanation. That’s the whole vibe: this page points you at _Deque_base, periodt. πŸ’…

✨ SYNOPSIS ✨

Bestie, the synopsis is giving include-and-inheritance energy:

#include <list>
  • Inherited by std::list< __inp, __rebind_inp > [protected], and std::list< _Tp, _Alloc > [protected].

🌸 Public Types 🌸

  • typedef _Alloc allocator_type β€” allocator type alias, iconic.

πŸ’… Public Member Functions πŸ’…

  • _List_base (_List_base &&)=default β€” defaulted move constructor, zero notes, clean.
  • _List_base (_List_base &&__x, _Node_alloc_type &&__a) β€” constructor taking _List_base &&__x and _Node_alloc_type &&__a.
  • _List_base (_Node_alloc_type &&__a) β€” constructor taking _Node_alloc_type &&__a.
  • _List_base (_Node_alloc_type &&__a, _List_base &&__x) β€” constructor taking _Node_alloc_type &&__a and _List_base &&__x.
  • _List_base (const _Node_alloc_type &__a) noexcept β€” constructor taking const _Node_alloc_type &__a, marked noexcept.
  • void _M_clear () noexcept β€” member function _M_clear, marked noexcept.
  • const _Node_alloc_type & _M_get_Node_allocator () const noexcept β€” const noexcept member function _M_get_Node_allocator, returns const _Node_alloc_type &.
  • _Node_alloc_type & _M_get_Node_allocator () noexcept β€” non-const noexcept member function _M_get_Node_allocator, returns _Node_alloc_type &.
  • void _M_init () noexcept β€” member function _M_init, marked noexcept.
  • void _M_move_nodes (_List_base &&__x) β€” member function _M_move_nodes taking _List_base &&__x.

πŸ¦‹ Protected Types πŸ¦‹

  • typedef __gnu_cxx::__alloc_traits< _Node_alloc_type > _Node_alloc_traits β€” alias for _Node_alloc_traits.
  • typedef _Tp_alloc_traits::template rebind< _List_node< _Tp > >::other _Node_alloc_type β€” alias for _Node_alloc_type.
  • typedef __gnu_cxx::__alloc_traits< _Tp_alloc_type > _Tp_alloc_traits β€” alias for _Tp_alloc_traits.
  • typedef __gnu_cxx::__alloc_traits< _Alloc >::template rebind< _Tp >::other _Tp_alloc_type β€” alias for _Tp_alloc_type.

🧚 Protected Member Functions 🧚

  • void _M_dec_size (size_t) β€” member function _M_dec_size taking size_t.
  • size_t _M_distance (const void *, const void *) const β€” const member function _M_distance taking const void * and const void *, returns size_t.
  • _Node_alloc_traits::pointer _M_get_node () β€” member function _M_get_node, returns _Node_alloc_traits::pointer.
  • size_t _M_get_size () const β€” const member function _M_get_size, returns size_t.
  • void _M_inc_size (size_t) β€” member function _M_inc_size taking size_t.
  • size_t _M_node_count () const β€” const member function _M_node_count, returns size_t.
  • void _M_put_node (typename _Node_alloc_traits::pointer __p) noexcept β€” member function _M_put_node taking typename _Node_alloc_traits::pointer __p, marked noexcept.
  • void _M_set_size (size_t) β€” member function _M_set_size taking size_t.

⭐ Static Protected Member Functions ⭐

  • static size_t _S_distance (const __detail::_List_node_base *__first, const __detail::_List_node_base *__last) β€” static protected member function _S_distance taking const __detail::_List_node_base *__first and const __detail::_List_node_base *__last, returns size_t.

πŸ“ Protected Attributes πŸ“

  • _List_impl _M_impl β€” protected attribute _M_impl of type _List_impl.

πŸ’œ Detailed Description πŸ’œ

Okay this is the exact detailed-description block, weird stray quote and all, bestie β€” copy it exactly, no editing:

   template<typename _Tp, typename _Alloc>
       class std::_List_base< _Tp, _Alloc >"See bits/stl_deque.h's _Deque_base
       for an explanation.

πŸ“ Author πŸ“

Author: Generated automatically by Doxygen for libstdc++ from the source code.


cute sign-off: the footer source/version energy is libstdc+std::_List_base< _Tp, _Alloc >(3cxx) β€” libstdc++, the 3cxx manual, Doxygen-from-source-code realness, and no separate date line in the original footer. Bye bestie, hydrate and don’t forget your #include <list> 🫢✨

πŸ“¦ where this page comes from