explicit queue(const Container& cont);
explicit queue(Container&& cont);
template<class InputIterator>
queue(InputIterator first, InputIterator last);
template<container-compatible-range<T> R>
queue(from_range_t, R&& rg);
template<class Alloc> explicit queue(const Alloc& a);
template<class Alloc> queue(const container_type& cont, const Alloc& a);
template<class Alloc> queue(container_type&& cont, const Alloc& a);
template<class Alloc> queue(const queue& q, const Alloc& a);
template<class Alloc> queue(queue&& q, const Alloc& a);
template<class InputIterator, class Alloc>
queue(InputIterator first, InputIterator last, const Alloc& alloc);
template<container-compatible-range<T> R, class Alloc>
queue(from_range_t, R&& rg, const Alloc& a);
template<container-compatible-range<T> R>
void push_range(R&& rg);
template<class T, class Container>
bool operator==(const queue<T, Container>& x, const queue<T, Container>& y);
template<class T, class Container>
bool operator!=(const queue<T, Container>& x, const queue<T, Container>& y);
template<class T, class Container>
bool operator< (const queue<T, Container>& x, const queue<T, Container>& y);
template<class T, class Container>
bool operator> (const queue<T, Container>& x, const queue<T, Container>& y);
template<class T, class Container>
bool operator<=(const queue<T, Container>& x, const queue<T, Container>& y);
template<class T, class Container>
bool operator>=(const queue<T, Container>& x,
const queue<T, Container>& y);
template<class T, three_way_comparable Container>
compare_three_way_result_t<Container>
operator<=>(const queue<T, Container>& x, const queue<T, Container>& y);
priority_queue(const Compare& x, const Container& y);
priority_queue(const Compare& x, Container&& y);
template<class InputIterator>
priority_queue(InputIterator first, InputIterator last, const Compare& x = Compare());
template<class InputIterator>
priority_queue(InputIterator first, InputIterator last, const Compare& x, const Container& y);
template<class InputIterator>
priority_queue(InputIterator first, InputIterator last, const Compare& x, Container&& y);
template<container-compatible-range<T> R>
priority_queue(from_range_t, R&& rg, const Compare& x = Compare());
template<class Alloc> explicit priority_queue(const Alloc& a);
template<class Alloc> priority_queue(const Compare& compare, const Alloc& a);
template<class Alloc>
priority_queue(const Compare& compare, const Container& cont, const Alloc& a);
template<class Alloc>
priority_queue(const Compare& compare, Container&& cont, const Alloc& a);
template<class Alloc> priority_queue(const priority_queue& q, const Alloc& a);
template<class Alloc> priority_queue(priority_queue&& q, const Alloc& a);
template<class InputIterator, class Alloc>
priority_queue(InputIterator first, InputIterator last, const Alloc& a);
template<class InputIterator, class Alloc>
priority_queue(InputIterator first, InputIterator last, const Compare& compare, const Alloc& a);
template<class InputIterator, class Alloc>
priority_queue(InputIterator first, InputIterator last, const Compare& compare,
const Container& cont, const Alloc& a);
template<class InputIterator, class Alloc>
priority_queue(InputIterator first, InputIterator last, const Compare& compare, Container&& cont,
const Alloc& a);
template<container-compatible-range<T> R, class Alloc>
priority_queue(from_range_t, R&& rg, const Compare& compare, const Alloc& a);
template<container-compatible-range<T> R, class Alloc>
priority_queue(from_range_t, R&& rg, const Alloc& a);
void push(const value_type& x);
void push(value_type&& x);
template<container-compatible-range<T> R>
void push_range(R&& rg);
template<class... Args> void emplace(Args&&... args);
void pop();
template<class T, class Container, class Compare>
void swap(priority_queue<T, Container, Compare>& x,
priority_queue<T, Container, Compare>& y) noexcept(noexcept(x.swap(y)));
explicit stack(const Container& cont);
explicit stack(Container&& cont);
template<class InputIterator>
stack(InputIterator first, InputIterator last);
template<container-compatible-range<T> R>
stack(from_range_t, R&& rg);
template<class Alloc> explicit stack(const Alloc& a);
template<class Alloc> stack(const container_type& cont, const Alloc& a);
template<class Alloc> stack(container_type&& cont, const Alloc& a);
template<class Alloc> stack(const stack& s, const Alloc& a);
template<class Alloc> stack(stack&& s, const Alloc& a);
template<class InputIterator, class Alloc>
stack(InputIterator first, InputIterator last, const Alloc& alloc);
template<container-compatible-range<T> R, class Alloc>
stack(from_range_t, R&& rg, const Alloc& a);
template<container-compatible-range<T> R>
void push_range(R&& rg);
template<class T, class Container>
bool operator==(const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, class Container>
bool operator!=(const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, class Container>
bool operator< (const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, class Container>
bool operator> (const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, class Container>
bool operator<=(const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, class Container>
bool operator>=(const stack<T, Container>& x, const stack<T, Container>& y);
template<class T, three_way_comparable Container>
compare_three_way_result_t<Container>
operator<=>(const stack<T, Container>& x, const stack<T, Container>& y);