5#include "Templates/IdentityFunctor.h"
6#include "Templates/Invoke.h"
22 template <
typename RangeValueType,
typename SizeType,
typename PredicateValueType,
typename ProjectionType,
typename SortPredicateType>
33 const SizeType LeftoverSize =
Size % 2;
36 const SizeType CheckIndex = Start +
Size;
37 const SizeType
StartIfLess = CheckIndex + LeftoverSize;
55 template <
typename RangeValueType,
typename SizeType,
typename PredicateValueType,
typename ProjectionType,
typename SortPredicateType>
66 const SizeType LeftoverSize =
Size % 2;
69 const SizeType CheckIndex = Start +
Size;
70 const SizeType
StartIfLess = CheckIndex + LeftoverSize;
91 template <
typename RangeType,
typename ValueType,
typename SortPredicateType>
96 template <
typename RangeType,
typename ValueType>
112 template <
typename RangeType,
typename ValueType,
typename ProjectionType,
typename SortPredicateType>
117 template <
typename RangeType,
typename ValueType,
typename ProjectionType>
132 template <
typename RangeType,
typename ValueType,
typename SortPredicateType>
137 template <
typename RangeType,
typename ValueType>
153 template <
typename RangeType,
typename ValueType,
typename ProjectionType,
typename SortPredicateType>
158 template <
typename RangeType,
typename ValueType,
typename ProjectionType>
172 template <
typename RangeType,
typename ValueType,
typename SortPredicateType>
176 if (CheckIndex <
GetNum(Range))
187 template <
typename RangeType,
typename ValueType>
202 template <
typename RangeType,
typename ValueType,
typename ProjectionType,
typename SortPredicateType>
206 if (CheckIndex <
GetNum(Range))
217 template <
typename RangeType,
typename ValueType,
typename ProjectionType>
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
bool SortPredicate(const FCompileOnTheFlyData &A, const FCompileOnTheFlyData &B)
Definition MovieSceneCompiledDataManager.cpp:364
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
uint32 Size
Definition VulkanMemory.cpp:4034
Definition BinarySearch.h:10
SizeType UpperBoundInternal(RangeValueType *First, const SizeType Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
Definition BinarySearch.h:56
SizeType LowerBoundInternal(RangeValueType *First, const SizeType Num, const PredicateValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate)
Definition BinarySearch.h:23
Definition ParallelSort.h:13
UE_REWRITE auto LowerBound(const RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:92
auto BinarySearch(const RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:173
UE_REWRITE auto LowerBoundBy(const RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:113
auto BinarySearchBy(const RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:203
UE_REWRITE auto UpperBound(const RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:133
UE_REWRITE auto UpperBoundBy(const RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:154
Definition IdentityFunctor.h:11