---
name: "std::__profile::list"
section: "3cxx"
platform: "linux"
package: "libstdc++-9-doc"
version: "9.3.0-22"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/std::__profile::list"
---

# std::\_\_profile::list(3cxx)

List wrapper with performance instrumentation.

## NAME

std::\_\_profile::list\< \_Tp, \_Allocator \> - List wrapper with performance instrumentation.

## SYNOPSIS

Inherits list\< \_Tp, std::allocator\< \_Tp \> \>, and std::\_\_profile::\_List\_profile\< \_List \>.

### Public Types

typedef \_Allocator **allocator\_type**\
 typedef \_\_iterator\_tracker\< typename \_Base::const\_iterator, **list** \> **const\_iterator**\
 typedef \_Base::const\_pointer **const\_pointer**\
 typedef \_Base::const\_reference **const\_reference**\
 typedef **std::reverse\_iterator**\< const\_iterator \> **const\_reverse\_iterator**\
 typedef \_Base::difference\_type **difference\_type**\
 typedef \_\_iterator\_tracker\< typename \_Base::iterator, **list** \> **iterator**\
 typedef \_Base::pointer **pointer**\
 typedef \_Base::reference **reference**\
 typedef **std::reverse\_iterator**\< iterator \> **reverse\_iterator**\
 typedef \_Base::size\_type **size\_type**\
 typedef \_Tp **value\_type**\

### Public Member Functions

template\<typename \_InputIterator , typename  = std::\_RequireInputIter\<\_InputIterator\>\> **list** (\_InputIterator \_\_first, \_InputIterator \_\_last, const \_Allocator &\_\_a=\_Allocator())\
 **list** (const \_Allocator &\_\_a) noexcept\
 **list** (const **\_Base** &\_\_x)\
 **list** (const **list** &)=default\
 **list** (const **list** &\_\_x, const allocator\_type &\_\_a)\
 **list** (**initializer\_list**\< value\_type \> \_\_l, const allocator\_type &\_\_a=allocator\_type())\
 **list** (**list** &&)=default\
 **list** (**list** &&\_\_x, const allocator\_type &\_\_a)\
 **list** (size\_type \_\_n, const \_Tp &\_\_value, const \_Allocator &\_\_a=\_Allocator())\
 **list** (size\_type \_\_n, const allocator\_type &\_\_a=allocator\_type())\
 const **\_Base** & **\_M\_base** () const noexcept\
 **\_Base** & **\_M\_base** () noexcept\
 void **\_M\_profile\_construct** () noexcept\
 void **\_M\_profile\_destruct** () noexcept\
 void **\_M\_profile\_iterate** (int \_\_rewind=0) const\
 void **\_M\_swap** (\_List\_profile &\_\_other)\
 const\_reference **back** () const noexcept\
 reference **back** () noexcept\
 const\_iterator **begin** () const noexcept\
 iterator **begin** () noexcept\
 const\_iterator **cbegin** () const noexcept\
 const\_iterator **cend** () const noexcept\
 void **clear** () noexcept\
 **const\_reverse\_iterator** **crbegin** () const noexcept\
 **const\_reverse\_iterator** **crend** () const noexcept\
 template\<typename... \_Args\> iterator **emplace** (const\_iterator \_\_position, \_Args &&... \_\_args)\
 const\_iterator **end** () const noexcept\
 iterator **end** () noexcept\
 iterator **erase** (const\_iterator \_\_pos) noexcept\
 iterator **erase** (const\_iterator \_\_pos, const\_iterator \_\_last) noexcept\
 template\<typename \_InputIterator , typename  = std::\_RequireInputIter\<\_InputIterator\>\> iterator **insert** (const\_iterator \_\_pos, \_InputIterator \_\_first, \_InputIterator \_\_last)\
 iterator **insert** (const\_iterator \_\_pos, \_Tp &&\_\_x)\
 iterator **insert** (const\_iterator \_\_pos, const \_Tp &\_\_x)\
 iterator **insert** (const\_iterator \_\_pos, **initializer\_list**\< value\_type \> \_\_l)\
 iterator **insert** (const\_iterator \_\_pos, size\_type \_\_n, const \_Tp &\_\_x)\
 void **merge** (**list** &&\_\_x)\
 template\<class \_Compare \> void **merge** (**list** &&\_\_x, \_Compare \_\_comp)\
 void **merge** (**list** &\_\_x)\
 template\<typename \_Compare \> void **merge** (**list** &\_\_x, \_Compare \_\_comp)\
 **list** & **operator=** (const **list** &)=default\
 **list** & **operator=** (**initializer\_list**\< value\_type \> \_\_l)\
 **list** & **operator=** (**list** &&)=default\
 void **pop\_back** () noexcept\
 void **pop\_front** () noexcept\
 void **push\_front** (const value\_type &\_\_x)\
 **const\_reverse\_iterator** **rbegin** () const noexcept\
 **reverse\_iterator** **rbegin** () noexcept\
 void **remove** (const \_Tp &\_\_value)\
 template\<class \_Predicate \> void **remove\_if** (\_Predicate \_\_pred)\
 **const\_reverse\_iterator** **rend** () const noexcept\
 **reverse\_iterator** **rend** () noexcept\
 void **splice** (const\_iterator \_\_pos, **list** &&\_\_x) noexcept\
 void **splice** (const\_iterator \_\_pos, **list** &&\_\_x, const\_iterator \_\_first, const\_iterator \_\_last) noexcept\
 void **splice** (const\_iterator \_\_pos, **list** &&\_\_x, const\_iterator \_\_i) noexcept\
 void **splice** (const\_iterator \_\_pos, **list** &\_\_x) noexcept\
 void **splice** (const\_iterator \_\_pos, **list** &\_\_x, const\_iterator \_\_first, const\_iterator \_\_last) noexcept\
 void **splice** (const\_iterator \_\_pos, **list** &\_\_x, const\_iterator \_\_i)\
 void **swap** (**list** &\_\_x) noexcept(/\***conditional** \*/)\
 void **unique** ()\
 template\<class \_BinaryPredicate \> void **unique** (\_BinaryPredicate \_\_binary\_pred)\

### Public Attributes

\_\_gnu\_profile::\_\_list2slist\_info \* **\_M\_list2slist\_info**\
 **\_\_gnu\_profile::\_\_list2vector\_info** \* **\_M\_list2vector\_info**\

## Detailed Description

### template\<typename \_Tp, typename \_Allocator = std::allocator\<\_Tp\>\>

class std::\_\_profile::list\< \_Tp, \_Allocator \>" List wrapper with performance instrumentation.

Definition at line 106 of file profile/list.

## Author

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