8#define ENABLE_ANIM_CURVE_PROFILING 0
10#if ENABLE_ANIM_CURVE_PROFILING
14#if ENABLE_ANIM_CURVE_PROFILING
15#define CURVE_PROFILE_CYCLE_COUNTER(Stat) QUICK_SCOPE_CYCLE_COUNTER(Stat)
17#define CURVE_PROFILE_CYCLE_COUNTER(Stat)
20#define DO_ANIM_NAMED_VALUE_SORTING_CHECKS 0
21#define DO_ANIM_NAMED_VALUE_DUPLICATE_CHECKS 0
26struct FNamedValueArrayUtils;
33template<
typename InAllocatorType,
typename InElementType>
113 return Find(InName) !=
nullptr;
120 template<
typename PredicateType>
172#if DO_ANIM_NAMED_VALUE_SORTING_CHECKS
183#if DO_ANIM_NAMED_VALUE_DUPLICATE_CHECKS
260 template<
typename PredicateType,
typename AllocatorTypeResult,
typename ElementTypeResult,
typename AllocatorTypeParam,
typename ElementTypeParam>
381 template<
typename AllocatorTypeResult,
typename ElementType,
typename AllocatorTypeParam>
406 template<
typename PredicateType,
typename AllocatorTypeResult,
typename ElementTypeResult,
typename AllocatorType0,
typename ElementType0,
typename AllocatorType1,
typename ElementType1>
555 template<
typename PredicateType,
typename AllocatorType0,
typename ElementType0,
typename AllocatorType1,
typename ElementType1>
641 template<
typename AllocatorType0,
typename ElementType0,
typename AllocatorType1,
typename ElementType1,
typename ValuePredicateType>
705 template<
typename AllocatorType0,
typename ElementType0,
typename AllocatorType1,
typename ElementType1,
typename ValuePredicateType>
775 template<
typename AllocatorType0,
typename ElementType0,
typename AllocatorType1,
typename ElementType1,
typename PredicateType>
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_PTRDIFF_TO_INT32(argument)
Definition CoreMiscDefines.h:442
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define CURVE_PROFILE_CYCLE_COUNTER(Stat)
Definition NamedValueArray.h:17
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition NameTypes.h:617
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
UE_REWRITE SizeType Max() const
Definition Array.h:1161
UE_FORCEINLINE_HINT SizeType Emplace(ArgsType &&... Args)
Definition Array.h:2561
UE_FORCEINLINE_HINT void Shrink()
Definition Array.h:1278
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
UE_REWRITE void Sort(RangeType &&Range)
Definition Sort.h:16
UE_REWRITE bool IsSorted(const RangeType &Range)
Definition IsSorted.h:66
auto BinarySearchBy(const RangeType &Range, const ValueType &Value, ProjectionType Projection, SortPredicateType SortPredicate) -> decltype(GetNum(Range))
Definition BinarySearch.h:203
Definition AnimationAsset.h:42
ENamedValueUnionFlags
Definition NamedValueArray.h:237
Definition NamedValueArray.h:252
static void Union(TNamedValueArray< AllocatorTypeResult, ElementTypeResult > &InOutValueArray0, const TNamedValueArray< AllocatorTypeParam, ElementTypeParam > &InValueArray1, PredicateType InPredicate)
Definition NamedValueArray.h:261
static void RemoveByPredicate(TNamedValueArray< AllocatorType0, ElementType0 > &InOutValueArray0, const TNamedValueArray< AllocatorType1, ElementType1 > &InValueArray1, PredicateType InPredicate)
Definition NamedValueArray.h:776
static void Union(TNamedValueArray< AllocatorTypeResult, ElementType > &InOutValueArray0, const TNamedValueArray< AllocatorTypeParam, ElementType > &InValueArray1)
Definition NamedValueArray.h:382
static void Subtraction(const TNamedValueArray< AllocatorType0, ElementType0 > &InNamedValues0, const TNamedValueArray< AllocatorType1, ElementType1 > &InNamedValues1, ValuePredicateType InValuePredicate)
Definition NamedValueArray.h:706
static void Union(const TNamedValueArray< AllocatorType0, ElementType0 > &InValueArray0, const TNamedValueArray< AllocatorType1, ElementType1 > &InValueArray1, PredicateType InPredicate)
Definition NamedValueArray.h:556
static void Intersection(const TNamedValueArray< AllocatorType0, ElementType0 > &InNamedValues0, const TNamedValueArray< AllocatorType1, ElementType1 > &InNamedValues1, ValuePredicateType InValuePredicate)
Definition NamedValueArray.h:642
static void Union(TNamedValueArray< AllocatorTypeResult, ElementTypeResult > &OutResultValueArray, const TNamedValueArray< AllocatorType0, ElementType0 > &InValueArray0, const TNamedValueArray< AllocatorType1, ElementType1 > &InValueArray1, PredicateType InPredicate)
Definition NamedValueArray.h:407
Definition NamedValueArray.h:150
bool operator()(const ElementType &InElement0, const ElementType &InElement1) const
Definition NamedValueArray.h:151
Definition NamedValueArray.h:35
bool bSorted
Definition NamedValueArray.h:232
void AppendNames(TConstArrayView< FName > InNameArray)
Definition NamedValueArray.h:62
int32 Num() const
Definition NamedValueArray.h:130
void Reserve(int32 InNumElements)
Definition NamedValueArray.h:100
void SortElementsIfRequired() const
Definition NamedValueArray.h:158
void AppendNames(std::initializer_list< const FName > InInputArgs)
Definition NamedValueArray.h:80
void CheckSorted() const
Definition NamedValueArray.h:170
InAllocatorType AllocatorType
Definition NamedValueArray.h:36
const ElementType * Find(FName InName) const
Definition NamedValueArray.h:206
InElementType ElementType
Definition NamedValueArray.h:37
ElementType * Find(FName InName)
Definition NamedValueArray.h:217
void Shrink()
Definition NamedValueArray.h:142
TArray< ElementType, AllocatorType > Elements
Definition NamedValueArray.h:229
int32 IndexOf(FName InName) const
Definition NamedValueArray.h:198
bool HasElement(FName InName) const
Definition NamedValueArray.h:111
void ForEachElement(PredicateType InPredicate) const
Definition NamedValueArray.h:121
int32 Max() const
Definition NamedValueArray.h:136
void CheckDuplicates() const
Definition NamedValueArray.h:181
void Empty()
Definition NamedValueArray.h:93
void Add(ArgTypes &&... Args)
Definition NamedValueArray.h:48