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