[deque.syn]

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

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

### 23.3.4 Header <deque> synopsis [deque.syn]

[ð](#header:%3cdeque%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 {// [[deque]](deque "23.3.5 Class template deque"), class template dequetemplate<class T, class Allocator = allocator<T>> class deque; template<class T, class Allocator>constexpr bool operator==(const deque<T, Allocator>& x, const deque<T, Allocator>& y); template<class T, class Allocator>constexpr *synth-three-way-result*<T> operator<=>(const deque<T, Allocator>& x, const deque<T, Allocator>& y); template<class T, class Allocator>constexpr void swap(deque<T, Allocator>& x, deque<T, Allocator>& y)noexcept(noexcept(x.swap(y))); // [[deque.erasure]](deque.erasure "23.3.5.5 Erasure"), erasuretemplate<class T, class Allocator, class U = T>constexpr typename deque<T, Allocator>::size_type
 erase(deque<T, Allocator>& c, const U& value); template<class T, class Allocator, class Predicate>constexpr typename deque<T, Allocator>::size_type
 erase_if(deque<T, Allocator>& c, Predicate pred); namespace pmr {template<class T>using deque = std::deque<T, polymorphic_allocator<T>>; }}
