---
name: "std::_List_base"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::_List_base"
---

# std::\_List\_base(3)

See bits/stl\_deque.h's \_Deque\_base for an explanation.

## NAME

std::\_List\_base\< \_Tp, \_Alloc \> - See bits/stl\_deque.h's \_Deque\_base for an explanation.

## SYNOPSIS

\#include \<list\>

Inherited by **std::list\< \_Tp, polymorphic\_allocator\< \_Tp \> \>** \[protected\], **std::list\< \_\_inp, \_\_rebind\_inp \>** \[protected\], and **std::list\< \_Tp, \_Alloc \>** \[protected\].

### 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.

## Author

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