Files
cppdraft_translate/cppdraft/priqueue/cons.md
2025-10-25 03:02:53 +03:00

3.5 KiB
Raw Blame History

[priqueue.cons]

23 Containers library [containers]

23.6 Container adaptors [container.adaptors]

23.6.4 Class template priority_queue [priority.queue]

23.6.4.2 Constructors [priqueue.cons]

🔗

constexpr priority_queue(const Compare& x, const Container& y); constexpr priority_queue(const Compare& x, Container&& y);

1

#

Preconditions: x defines a strict weak ordering ([alg.sorting]).

2

#

Effects: Initializescomp withx andc withy (copy constructing or move constructing as appropriate); callsmake_heap(c.begin(), c.end(), comp).

🔗

template<class InputIterator> constexpr priority_queue(InputIterator first, InputIterator last, const Compare& x = Compare());

3

#

Preconditions: x defines a strict weak ordering ([alg.sorting]).

4

#

Effects: Initializes c withfirst as the first argument andlast as the second argument, and initializes comp with x; then calls make_heap(c.begin(), c.end(), comp).

🔗

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);

5

#

Preconditions: x defines a strict weak ordering ([alg.sorting]).

6

#

Effects: Initializescomp withx andc withy (copy constructing or move constructing as appropriate); callsc.insert(c.end(), first, last); and finally callsmake_heap(c.begin(), c.end(), comp).

🔗

template<[container-compatible-range](container.intro.reqmts#concept:container-compatible-range "23.2.2.1Introduction[container.intro.reqmts]")<T> R> constexpr priority_queue(from_range_t, R&& rg, const Compare& x = Compare());

7

#

Preconditions: x defines a strict weak ordering ([alg.sorting]).

8

#

Effects: Initializes comp with x andc with ranges::to(std::forward(rg)) and finally calls make_heap(c.begin(), c.end(), comp).