23template <
typename T,
typename Sequence = std::vector<T>,
24 typename Compare = std::less<
typename Sequence::value_type>>
25 requires std::same_as<T, typename Sequence::value_type>
35 template <
typename Seq = Sequence>
36 requires std::default_initializable<Compare> &&
37 std::default_initializable<Seq>
41 std::make_heap(
c.begin(),
c.end(),
comp);
46 std::make_heap(
c.begin(),
c.end(),
comp);
49 template <
typename InputIterator>
53 c.insert(
c.end(), first, last);
54 std::make_heap(
c.begin(),
c.end(),
comp);
57 template <
typename InputIterator>
59 const Compare&
comp = Compare{}, Sequence&&
c = Sequence{})
61 c.insert(
c.end(), first, last);
62 std::make_heap(
c.begin(),
c.end(),
comp);
76 std::push_heap(
c.begin(),
c.end(),
comp);
80 c.push_back(std::move(value));
81 std::push_heap(
c.begin(),
c.end(),
comp);
84 template <
typename... Args>
86 c.emplace_back(std::forward<Args>(args)...);
87 std::push_heap(
c.begin(),
c.end(),
comp);
91 std::pop_heap(
c.begin(),
c.end(),
comp);
92 auto ret = std::move(
c.back());
98 auto it = std::find(
c.begin(),
c.end(), value);
99 if (it != this->c.end()) {
101 std::make_heap(
c.begin(),
c.end(),
comp);
Sequence c
Definition priority_queue.hpp:109
Sequence container_type
Definition priority_queue.hpp:32
Compare comp
Definition priority_queue.hpp:110
void emplace(Args &&... args)
Definition priority_queue.hpp:85
bool remove(const T &value)
Definition priority_queue.hpp:97
priority_queue()
Definition priority_queue.hpp:38
void push(value_type &&value)
Definition priority_queue.hpp:79
const_reference top() const
Definition priority_queue.hpp:72
priority_queue(const Compare &comp, const Sequence &c)
Definition priority_queue.hpp:40
typename Sequence::reference reference
Definition priority_queue.hpp:29
typename Sequence::size_type size_type
Definition priority_queue.hpp:31
void push(const value_type &value)
Definition priority_queue.hpp:74
typename Sequence::value_type value_type
Definition priority_queue.hpp:28
bool empty() const
Definition priority_queue.hpp:66
Compare value_compare
Definition priority_queue.hpp:33
priority_queue(InputIterator first, InputIterator last, const Compare &comp, const Sequence &c)
Definition priority_queue.hpp:50
T pop()
Definition priority_queue.hpp:90
priority_queue(const Compare &comp, Sequence &&c=Sequence{})
Definition priority_queue.hpp:44
typename Sequence::const_reference const_reference
Definition priority_queue.hpp:30
size_type size() const
Definition priority_queue.hpp:70
priority_queue(InputIterator first, InputIterator last, const Compare &comp=Compare{}, Sequence &&c=Sequence{})
Definition priority_queue.hpp:58
Definition StringMap.hpp:773
Definition raw_os_ostream.hpp:19