UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HeapSort.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/Less.h"
8#include "Templates/UnrealTemplate.h" // For GetData, GetNum
9
10namespace Algo
11{
17 template <typename RangeType>
18 UE_REWRITE void HeapSort(RangeType&& Range)
19 {
21 }
22
29 template <typename RangeType, typename PredicateType>
30 UE_REWRITE void HeapSort(RangeType&& Range, PredicateType Predicate)
31 {
33 }
34
41 template <typename RangeType, typename ProjectionType>
43 {
45 }
46
54 template <typename RangeType, typename ProjectionType, typename PredicateType>
55 UE_REWRITE void HeapSortBy(RangeType&& Range, ProjectionType Projection, PredicateType Predicate)
56 {
58 }
59}
#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
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
void HeapSortInternal(RangeValueType *First, IndexType Num, ProjectionType Proj, PredicateType Predicate)
Definition BinaryHeap.h:181
Definition ParallelSort.h:13
UE_REWRITE void HeapSortBy(RangeType &&Range, ProjectionType Projection)
Definition HeapSort.h:42
UE_REWRITE void HeapSort(RangeType &&Range)
Definition HeapSort.h:18
Definition IdentityFunctor.h:11
Definition Less.h:19