5#include "Algo/BinarySearch.h"
6#include "Containers/Array.h"
12template <
typename InElementType,
typename InSortPredicate = TLess<>>
28 return Data.GetData()[
Index];
41 return Data.IsValidIndex(
Index);
79 return Data.IsValidIndex(FoundIndex) ? FoundIndex :
INDEX_NONE;
88 return Data.IsValidIndex(FoundIndex) ? FoundIndex :
INDEX_NONE;
117 return Data.Add(Item);
145 template <
typename CountType>
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
TCheckedPointerIterator< const ElementType, SizeType, false > RangedForConstIteratorType
Definition Array.h:3372
typename InAllocatorType::SizeType SizeType
Definition Array.h:675
Definition SlateElementSortedArray.h:14
SizeType Find(ElementParamType Item) const
Definition SlateElementSortedArray.h:57
InElementType ElementType
Definition SlateElementSortedArray.h:20
bool Contains(ElementParamType Item) const
Definition SlateElementSortedArray.h:68
FORCEINLINE RangedForConstIteratorType begin() const
Definition SlateElementSortedArray.h:163
FORCEINLINE RangedForConstIteratorType end() const
Definition SlateElementSortedArray.h:164
FORCEINLINE SizeType Num() const
Definition SlateElementSortedArray.h:45
SizeType FindLowerBound(ElementParamType Value) const
Definition SlateElementSortedArray.h:76
FORCEINLINE void RemoveAt(SizeType Index, CountType Count)
Definition SlateElementSortedArray.h:146
typename DataType::RangedForConstIteratorType RangedForConstIteratorType
Definition SlateElementSortedArray.h:162
FORCEINLINE void Empty(SizeType ExpectedNumElements=0)
Definition SlateElementSortedArray.h:33
TLess<> SortPredicate
Definition SlateElementSortedArray.h:22
FORCEINLINE ElementParamType operator[](SizeType Index) const
Definition SlateElementSortedArray.h:26
void Sort()
Definition SlateElementSortedArray.h:152
typename TCallTraits< ElementType >::ParamType ElementParamType
Definition SlateElementSortedArray.h:21
SizeType RemoveSingle(ElementParamType Item)
Definition SlateElementSortedArray.h:126
SizeType FindUpperBound(ElementParamType Value) const
Definition SlateElementSortedArray.h:85
typename DataType::SizeType SizeType
Definition SlateElementSortedArray.h:19
FORCEINLINE bool IsValidIndex(SizeType Index) const
Definition SlateElementSortedArray.h:39
FORCEINLINE SizeType AddUnsorted(ElementType Item)
Definition SlateElementSortedArray.h:115
SizeType InsertUnique(ElementParamType Item)
Definition SlateElementSortedArray.h:98
UE_REWRITE void Sort(RangeType &&Range)
Definition Sort.h:16
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 UpperBound(const RangeType &Range, const ValueType &Value, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:133
U16 Index
Definition radfft.cpp:71
TCallTraitsParamTypeHelper< T, PassByValue >::ParamType ParamType
Definition UnrealTypeTraits.h:275