[list.syn]

# 23 Containers library [[containers]](./#containers)

## 23.3 Sequence containers [[sequences]](sequences#list.syn)

### 23.3.10 Header <list> synopsis [list.syn]

[ð](#header:%3clist%3e)

#include <compare> // see [[compare.syn]](compare.syn "17.12.1 Header <compare> synopsis")#include <initializer_list> // see [[initializer.list.syn]](initializer.list.syn "17.11.2 Header <initializer_­list> synopsis")namespace std {// [[list]](list "23.3.11 Class template list"), class template listtemplate<class T, class Allocator = allocator<T>> class list; template<class T, class Allocator>constexpr bool operator==(const list<T, Allocator>& x, const list<T, Allocator>& y); template<class T, class Allocator>constexpr *synth-three-way-result*<T> operator<=>(const list<T, Allocator>& x, const list<T, Allocator>& y); template<class T, class Allocator>constexpr void swap(list<T, Allocator>& x, list<T, Allocator>& y)noexcept(noexcept(x.swap(y))); // [[list.erasure]](list.erasure "23.3.11.6 Erasure"), erasuretemplate<class T, class Allocator, class U = T>constexpr typename list<T, Allocator>::size_type
 erase(list<T, Allocator>& c, const U& value); template<class T, class Allocator, class Predicate>constexpr typename list<T, Allocator>::size_type
 erase_if(list<T, Allocator>& c, Predicate pred); namespace pmr {template<class T>using list = std::list<T, polymorphic_allocator<T>>; }}
