[vector.syn]

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

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

### 23.3.12 Header <vector> synopsis [vector.syn]

[ð](#header:%3cvector%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 {// [[vector]](vector "23.3.13 Class template vector"), class template vectortemplate<class T, class Allocator = allocator<T>> class vector; template<class T, class Allocator>constexpr bool operator==(const vector<T, Allocator>& x, const vector<T, Allocator>& y); template<class T, class Allocator>constexpr *synth-three-way-result*<T> operator<=>(const vector<T, Allocator>& x, const vector<T, Allocator>& y); template<class T, class Allocator>constexpr void swap(vector<T, Allocator>& x, vector<T, Allocator>& y)noexcept(noexcept(x.swap(y))); // [[vector.erasure]](vector.erasure "23.3.13.6 Erasure"), erasuretemplate<class T, class Allocator, class U = T>constexpr typename vector<T, Allocator>::size_type
 erase(vector<T, Allocator>& c, const U& value); template<class T, class Allocator, class Predicate>constexpr typename vector<T, Allocator>::size_type
 erase_if(vector<T, Allocator>& c, Predicate pred); namespace pmr {template<class T>using vector = std::vector<T, polymorphic_allocator<T>>; }// [[vector.bool]](vector.bool "23.3.14 Specialization of vector for bool"), specialization of vector for bool// [[vector.bool.pspc]](vector.bool.pspc "23.3.14.1 Partial class template specialization vector<bool, Allocator>"), partial class template specialization vector<bool, Allocator>template<class Allocator>class vector<bool, Allocator>; template<class T>constexpr bool *is-vector-bool-reference* = *see below*; // *exposition only*// hash supporttemplate<class T> struct hash; template<class Allocator> struct hash<vector<bool, Allocator>>; // [[vector.bool.fmt]](vector.bool.fmt "23.3.14.2 Formatter specialization for vector<bool>"), formatter specialization for vector<bool>template<class T, class charT> requires *is-vector-bool-reference*<T>struct formatter<T, charT>;}
