Iros
 
Loading...
Searching...
No Matches
is_heap.h
Go to the documentation of this file.
1#pragma once
2
8#include "di/util/move.h"
10
11namespace di::container {
12namespace detail {
14 template<concepts::RandomAccessIterator Iter, concepts::SentinelFor<Iter> Sent,
15 typename Proj = function::Identity,
16 concepts::IndirectStrictWeakOrder<meta::Projected<Iter, Proj>> Comp = function::Compare>
17 constexpr auto operator()(Iter first, Sent last, Comp comp = {}, Proj proj = {}) const -> bool {
18 return container::is_heap_until(util::move(first), last, util::ref(comp), util::ref(proj)) == last;
19 }
20
21 template<concepts::RandomAccessContainer Con, typename Proj = function::Identity,
24 constexpr auto operator()(Con&& container, Comp comp = {}, Proj proj = {}) const -> bool {
26 }
27 };
28}
29
30constexpr inline auto is_heap = detail::IsHeapFunction {};
31}
32
33namespace di {
35}
Definition indirect_strict_weak_order.h:12
Definition random_access_container.h:8
Definition sequence.h:13
Definition sequence.h:12
constexpr auto is_heap_until
Definition is_heap_until.h:52
constexpr auto is_heap
Definition is_heap.h:30
constexpr auto end
Definition end.h:47
constexpr auto begin
Definition begin.h:44
constexpr auto ref
Definition reference_wrapper.h:98
Definition zstring_parser.h:9
constexpr auto proj
Definition proj.h:59
constexpr auto operator()(Iter first, Sent last, Comp comp={}, Proj proj={}) const -> bool
Definition is_heap.h:17
constexpr auto operator()(Con &&container, Comp comp={}, Proj proj={}) const -> bool
Definition is_heap.h:24
Definition compare.h:8
Definition identity.h:7