UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Heapify.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Templates/IdentityFunctor.h"
7#include "Templates/Invoke.h"
8#include "Templates/Less.h"
9#include "Templates/UnrealTemplate.h" // For GetData, GetNum
10
11namespace Algo
12{
19 template <typename RangeType>
20 UE_REWRITE void Heapify(RangeType&& Range)
21 {
23 }
24
31 template <typename RangeType, typename PredicateType>
32 UE_REWRITE void Heapify(RangeType&& Range, PredicateType Predicate)
33 {
34 AlgoImpl::HeapifyInternal(GetData(Range), GetNum(Range), FIdentityFunctor(), Predicate);
35 }
36
44 template <typename RangeType, typename ProjectionType, typename PredicateType>
46 {
48 }
49
57 template <typename RangeType, typename ProjectionType, typename PredicateType>
58 UE_REWRITE void HeapifyBy(RangeType&& Range, ProjectionType Projection, PredicateType Predicate)
59 {
60 AlgoImpl::HeapifyInternal(GetData(Range), GetNum(Range), Projection, Predicate);
61 }
62}
#define UE_REWRITE
Definition Platform.h:747
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
AUTORTFM_INFER constexpr auto Projection(Invocable0Type &&Invocable0, InvocableTypes &&... Invocables)
Definition Projection.h:108
auto GetNum(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Length())
Definition StringConv.h:808
auto GetData(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Get())
Definition StringConv.h:802
void HeapifyInternal(RangeValueType *First, IndexType Num, ProjectionType Proj, PredicateType Predicate)
Definition BinaryHeap.h:147
Definition ParallelSort.h:13
UE_REWRITE void Heapify(RangeType &&Range)
Definition Heapify.h:20
UE_REWRITE void HeapifyBy(RangeType &&Range, ProjectionType Projection)
Definition Heapify.h:45
Definition IdentityFunctor.h:11
Definition Less.h:19