11 template<concepts::RandomAccessIterator It, concepts::SentinelFor<It> Sent,
typename Comp = function::Compare,
12 typename Proj = function::Identity>
14 constexpr auto operator()(It first, Sent last, Comp comp = {}, Proj
proj = {})
const -> It {
21 constexpr auto operator()(Con&&
container, Comp comp = {}, Proj
proj = {})
const
27 constexpr static auto impl(
auto first,
auto comp,
auto proj,
auto size) {
28 auto parent_index = [](
auto index) {
29 return (index + 1) / 2 - 1;
32 auto index =
size - 1;
33 for (
auto parent = parent_index(index);
36 index = parent, parent = parent_index(index)) {
Definition random_access_container.h:8
constexpr usize size
Definition gfx_test.cpp:24
constexpr auto first(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_first.h:13
constexpr auto distance
Definition distance.h:44
constexpr auto push_heap
Definition push_heap.h:44
constexpr auto size
Definition size.h:54
constexpr auto iterator_swap
Definition iterator_swap.h:49
constexpr auto begin
Definition begin.h:44
constexpr auto invoke
Definition invoke.h:100
constexpr auto ref
Definition reference_wrapper.h:98
Definition zstring_parser.h:9
constexpr auto size
Definition size.h:54
constexpr auto proj
Definition proj.h:59
Definition push_heap.h:10