7 struct MakeHeapFunction {
8 template<concepts::RandomAccessIterator It, concepts::SentinelFor<It> Sent,
typename Comp = function::Compare,
9 typename Proj = function::Identity>
10 requires(concepts::Sortable<It, Comp, Proj>)
11 constexpr auto operator()(It
first, Sent
last, Comp comp = {}, Proj
proj = {})
const -> It {
16 template<concepts::RandomAccessContainer Con,
typename Comp = function::Compare,
17 typename Proj = function::Identity>
18 requires(concepts::Sortable<meta::ContainerIterator<Con>, Comp, Proj>)
19 constexpr auto operator()(Con&& container, Comp comp = {}, Proj
proj = {})
const
25 constexpr static auto impl(
auto first,
auto comp,
auto proj,
auto size) {
26 for (
auto index =
size - 1; index >= 0; --index) {
34constexpr inline auto make_heap = detail::MakeHeapFunction {};
constexpr auto last(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_last.h:13
constexpr auto first(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_first.h:13
constexpr auto make_heap
Definition make_heap.h:34
constexpr auto distance
Definition distance.h:44
constexpr auto size
Definition size.h:62
constexpr auto begin
Definition begin.h:52
constexpr auto ref
Definition reference_wrapper.h:98
Definition any_storable.h:9
constexpr auto proj
Definition proj.h:59