175 lines
6.4 KiB
Markdown
175 lines
6.4 KiB
Markdown
[priqueue.cons.alloc]
|
||
|
||
# 23 Containers library [[containers]](./#containers)
|
||
|
||
## 23.6 Container adaptors [[container.adaptors]](container.adaptors#priqueue.cons.alloc)
|
||
|
||
### 23.6.4 Class template priority_queue [[priority.queue]](priority.queue#priqueue.cons.alloc)
|
||
|
||
#### 23.6.4.3 Constructors with allocators [priqueue.cons.alloc]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16224)
|
||
|
||
If uses_allocator_v<container_type, Alloc> is false the constructors in this subclause shall not participate in overload resolution[.](#1.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor)
|
||
|
||
`template<class Alloc> constexpr explicit priority_queue(const Alloc& a);
|
||
`
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16234)
|
||
|
||
*Effects*: Initializes c with a and value-initializes comp[.](#2.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor_)
|
||
|
||
`template<class Alloc> constexpr priority_queue(const Compare& compare, const Alloc& a);
|
||
`
|
||
|
||
[3](#3)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16245)
|
||
|
||
*Effects*: Initializes c with a and initializes comp with compare[.](#3.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor__)
|
||
|
||
`template<class Alloc>
|
||
constexpr priority_queue(const Compare& compare, const Container& cont, const Alloc& a);
|
||
`
|
||
|
||
[4](#4)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16257)
|
||
|
||
*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)[.](#4.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor___)
|
||
|
||
`template<class Alloc>
|
||
constexpr priority_queue(const Compare& compare, Container&& cont, const Alloc& a);
|
||
`
|
||
|
||
[5](#5)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16271)
|
||
|
||
*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)[.](#5.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor____)
|
||
|
||
`template<class Alloc> constexpr priority_queue(const priority_queue& q, const Alloc& a);
|
||
`
|
||
|
||
[6](#6)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16284)
|
||
|
||
*Effects*: Initializes c with q.c as the first argument and a as
|
||
the second argument, and initializes comp with q.comp[.](#6.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor_____)
|
||
|
||
`template<class Alloc> constexpr priority_queue(priority_queue&& q, const Alloc& a);
|
||
`
|
||
|
||
[7](#7)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16296)
|
||
|
||
*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)[.](#7.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor______)
|
||
|
||
`template<class InputIterator, class Alloc>
|
||
constexpr priority_queue(InputIterator first, InputIterator last, const Alloc& a);
|
||
`
|
||
|
||
[8](#8)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16309)
|
||
|
||
*Effects*: Initializes c withfirst as the first argument,last as the second argument, anda as the third argument, and
|
||
value-initializes comp;
|
||
calls make_heap(c.begin(), c.end(), comp)[.](#8.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor_______)
|
||
|
||
`template<class InputIterator, class Alloc>
|
||
constexpr priority_queue(InputIterator first, InputIterator last,
|
||
const Compare& compare, const Alloc& a);
|
||
`
|
||
|
||
[9](#9)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16327)
|
||
|
||
*Effects*: Initializes c withfirst as the first argument,last as the second argument, anda as the third argument, and
|
||
initializes comp with compare;
|
||
calls make_heap(c.begin(), c.end(), comp)[.](#9.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor________)
|
||
|
||
`template<class InputIterator, class Alloc>
|
||
constexpr priority_queue(InputIterator first, InputIterator last, const Compare& compare,
|
||
const Container& cont, const Alloc& a);
|
||
`
|
||
|
||
[10](#10)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16345)
|
||
|
||
*Effects*: Initializes c withcont as the first argument and a as the second argument, and
|
||
initializes comp with compare;
|
||
calls c.insert(c.end(), first, last); and
|
||
finally calls make_heap(c.begin(), c.end(), comp)[.](#10.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor_________)
|
||
|
||
`template<class InputIterator, class Alloc>
|
||
constexpr priority_queue(InputIterator first, InputIterator last, const Compare& compare,
|
||
Container&& cont, const Alloc& a);
|
||
`
|
||
|
||
[11](#11)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16362)
|
||
|
||
*Effects*: Initializes c withstd::move(cont) as the first argument anda as the second argument, and
|
||
initializes comp with compare;
|
||
calls c.insert(c.end(), first, last); and
|
||
finally calls make_heap(c.begin(), c.end(), comp)[.](#11.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor__________)
|
||
|
||
`template<[container-compatible-range](container.intro.reqmts#concept:container-compatible-range "23.2.2.1 Introduction [container.intro.reqmts]")<T> R, class Alloc>
|
||
constexpr priority_queue(from_range_t, R&& rg, const Compare& compare, const Alloc& a);
|
||
`
|
||
|
||
[12](#12)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16379)
|
||
|
||
*Effects*: Initializes comp with compare andc with ranges::to<Container>(std::forward<R>(rg), a);
|
||
calls make_heap(c.begin(), c.end(), comp)[.](#12.sentence-1)
|
||
|
||
[ð](#lib:priority_queue,constructor___________)
|
||
|
||
`template<[container-compatible-range](container.intro.reqmts#concept:container-compatible-range "23.2.2.1 Introduction [container.intro.reqmts]")<T> R, class Alloc>
|
||
constexpr priority_queue(from_range_t, R&& rg, const Alloc& a);
|
||
`
|
||
|
||
[13](#13)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16393)
|
||
|
||
*Effects*: Initializesc with ranges::to<Container>(std::forward<R>(rg), a) and value-initializes comp;
|
||
calls make_heap(c.begin(), c.end(), comp)[.](#13.sentence-1)
|