If
uses_allocator_v<container_type, Alloc> is
false
the constructors in this subclause shall not participate in overload resolution
. template <class Alloc> explicit priority_queue(const Alloc& a);
Effects: Initializes
c with
a and value-initializes
comp. template <class Alloc> priority_queue(const Compare& compare, const Alloc& a);
Effects: Initializes
c with
a and initializes
comp with
compare. template <class Alloc>
priority_queue(const Compare& compare, const Container& cont, const Alloc& a);
Effects: Initializes
c with
cont as the first argument and
a as the second
argument, and initializes
comp with
compare;
calls
make_heap(c.begin(), c.end(), comp). template <class Alloc>
priority_queue(const Compare& compare, Container&& cont, const Alloc& a);
Effects: Initializes
c with
std::move(cont) as the first argument and
a
as the second argument, and initializes
comp with
compare;
calls
make_heap(c.begin(), c.end(), comp). template <class Alloc> priority_queue(const priority_queue& q, const Alloc& a);
Effects: Initializes
c with
q.c as the first argument and
a as
the second argument, and initializes
comp with
q.comp. template <class Alloc> priority_queue(priority_queue&& q, const Alloc& a);
Effects: Initializes
c with
std::move(q.c) as the first argument and
a
as the second argument, and initializes
comp with
std::move(q.comp).