5#include "Templates/Invoke.h"
19 template <
typename IndexType>
31 template <
typename IndexType>
43 template <
typename IndexType>
46 return (
Index - 1) / 2;
58 template <
typename RangeValueType,
typename IndexType,
typename ProjectionType,
typename PredicateType>
62#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 194134123
76#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 194134123
83#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 194134123
108 template <
class RangeValueType,
typename IndexType,
typename ProjectionType,
class PredicateType>
112#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 194134123
117 while (NodeIndex > RootIndex)
121#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 194134123
131 NodeIndex = ParentIndex;
146 template <
typename RangeValueType,
typename IndexType,
typename ProjectionType,
typename PredicateType>
149 if constexpr (std::is_signed_v<IndexType>)
151 checkf(
Num >= 0,
TEXT(
"Algo::HeapifyInternal called with negative count"));
180 template <
typename RangeValueType,
typename IndexType,
typename ProjectionType,
class PredicateType>
183 if constexpr (std::is_signed_v<IndexType>)
185 checkf(
Num >= 0,
TEXT(
"Algo::HeapSortInternal called with negative count"));
205#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
206#include "Templates/Invoke.h"
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
AUTORTFM_INFER UE_FORCEINLINE_HINT constexpr auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(((FuncType &&) Func)((ArgTypes &&) Args...))
Definition Invoke.h:44
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
Definition ReversePredicate.h:14
Definition BinarySearch.h:10
void HeapSortInternal(RangeValueType *First, IndexType Num, ProjectionType Proj, PredicateType Predicate)
Definition BinaryHeap.h:181
IndexType HeapSiftUp(RangeValueType *Heap, IndexType RootIndex, IndexType NodeIndex, const ProjectionType &InProj, const PredicateType &Predicate)
Definition BinaryHeap.h:109
void HeapifyInternal(RangeValueType *First, IndexType Num, ProjectionType Proj, PredicateType Predicate)
Definition BinaryHeap.h:147
FORCEINLINE IndexType HeapGetParentIndex(IndexType Index)
Definition BinaryHeap.h:44
void HeapSiftDown(RangeValueType *Heap, IndexType Index, const IndexType Count, const ProjectionType &InProj, const PredicateType &Predicate)
Definition BinaryHeap.h:59
FORCEINLINE bool HeapIsLeaf(IndexType Index, IndexType Count)
Definition BinaryHeap.h:32
FORCEINLINE IndexType HeapGetLeftChildIndex(IndexType Index)
Definition BinaryHeap.h:20
U16 Index
Definition radfft.cpp:71