186 template<
typename IntToBoolFunc>
195 int32 iEnd = block_ptr + N;
196 for (
int32 i = block_ptr + 1; i <= iEnd; ++i)
209 for (
int32 i = block_ptr + 1; i <= iEnd; ++i)
238 template<
typename IntToBoolFunc>
247 int32 iEnd = block_ptr + N;
248 for (
int32 i = block_ptr + 1; i <= iEnd; ++i)
262 for (
int32 i = block_ptr + 1; i <= iEnd; ++i)
292 template<
typename IntToVo
idFunc>
301 int32 iEnd = block_ptr + N;
302 for (
int32 i = block_ptr + 1; i <= iEnd; ++i)
311 for (
int32 i = block_ptr + 1; i <= iEnd; ++i)
362 if (Lhs.
Size() != Rhs.Size())
367 for (
int32 ListIndex = 0, ListNum = Lhs.
Size(); ListIndex < ListNum; ++ListIndex)
369 if (Lhs.
GetCount(ListIndex) != Rhs.GetCount(ListIndex))
398 return !(Lhs == Rhs);
692 return FString::Printf(
TEXT(
"ListSize %zu Blocks Count %d Free %zu Mem %zukb Linked Mem %zukb"),
#define checkSlow(expr)
Definition AssertionMacros.h:332
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FORCEINLINE uint32 ToIndex(FHairStrandsTiles::ETileType Type)
Definition HairStrandsData.h:93
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition Archive.h:1208
virtual void Serialize(void *V, int64 Length)
Definition Archive.h:1689
Definition AssetRegistryState.h:50
Definition AndroidPlatformMisc.h:14
Definition SmallListSet.h:413
int32 N
Definition SmallListSet.h:499
const FSmallListSet * ListSet
Definition SmallListSet.h:496
int32 iCur
Definition SmallListSet.h:501
bool operator!=(const BaseValueIterator &Other) const
Definition SmallListSet.h:425
BaseValueIterator(const FSmallListSet *ListSetIn, int32 ListIndex, bool is_end)
Definition SmallListSet.h:459
int32 ListIndex
Definition SmallListSet.h:497
int32 block_ptr
Definition SmallListSet.h:498
bool operator==(const BaseValueIterator &Other) const
Definition SmallListSet.h:421
void SetToEnd()
Definition SmallListSet.h:488
int32 iEnd
Definition SmallListSet.h:500
void GotoNextOverflow()
Definition SmallListSet.h:441
void GotoNext()
Definition SmallListSet.h:431
int32 cur_value
Definition SmallListSet.h:503
int32 cur_ptr
Definition SmallListSet.h:502
BaseValueIterator()
Definition SmallListSet.h:415
Definition SmallListSet.h:641
MappedValueEnumerable(const FSmallListSet *ListSetIn, int32 ListIndex, TFunction< int32(int32)> MapFunc)
Definition SmallListSet.h:647
FSmallListSet::MappedValueIterator begin() const
Definition SmallListSet.h:653
int32 ListIndex
Definition SmallListSet.h:644
const FSmallListSet * ListSet
Definition SmallListSet.h:643
MappedValueEnumerable()
Definition SmallListSet.h:646
TFunction< int32(int32)> MapFunc
Definition SmallListSet.h:645
FSmallListSet::MappedValueIterator end() const
Definition SmallListSet.h:654
Definition SmallListSet.h:592
const MappedValueIterator & operator++()
Definition SmallListSet.h:604
MappedValueIterator(const FSmallListSet *ListSetIn, int32 ListIndex, bool is_end, TFunction< int32(int32)> MapFuncIn)
Definition SmallListSet.h:611
MappedValueIterator()
Definition SmallListSet.h:594
TFunction< int32(int32)> MapFunc
Definition SmallListSet.h:617
int32 operator*() const
Definition SmallListSet.h:599
Definition SmallListSet.h:554
const FSmallListSet * ListSet
Definition SmallListSet.h:556
int32 ListIndex
Definition SmallListSet.h:557
FSmallListSet::ValueIterator end() const
Definition SmallListSet.h:565
ValueEnumerable()
Definition SmallListSet.h:558
FSmallListSet::ValueIterator begin() const
Definition SmallListSet.h:564
ValueEnumerable(const FSmallListSet *ListSetIn, int32 ListIndex)
Definition SmallListSet.h:559
Definition SmallListSet.h:512
ValueIterator(const FSmallListSet *ListSetIn, int32 ListIndex, bool is_end)
Definition SmallListSet.h:528
int32 operator*() const
Definition SmallListSet.h:516
ValueIterator()
Definition SmallListSet.h:514
const ValueIterator & operator++()
Definition SmallListSet.h:521
Definition SmallListSet.h:36
GEOMETRYCORE_API void ResizeAndAllocateBlocks(int32 NewSize)
Definition SmallListSet.cpp:22
MappedValueIterator EndMappedValues(int32 ListIndex, const TFunction< int32(int32)> &MapFunc) const
Definition SmallListSet.h:632
static constexpr int32 BLOCK_LIST_OFFSET
Definition SmallListSet.h:44
GEOMETRYCORE_API void Move(int32 FromIndex, int32 ToIndex)
Definition SmallListSet.cpp:293
GEOMETRYCORE_API void AllocateAt(int32 ListIndex)
Definition SmallListSet.cpp:44
GEOMETRYCORE_API int32 AllocateBlock()
Definition SmallListSet.cpp:441
TDynamicVector< int32 > LinkedListElements
Definition SmallListSet.h:65
MappedValueIterator BeginMappedValues(int32 ListIndex, const TFunction< int32(int32)> &MapFunc) const
Definition SmallListSet.h:624
GEOMETRYCORE_API void Insert(int32 ListIndex, int32 Value)
Definition SmallListSet.cpp:195
void Reset()
Definition SmallListSet.h:94
TDynamicVector< int32 > ListHeads
Definition SmallListSet.h:47
friend FArchive & operator<<(FArchive &Ar, FSmallListSet &Set)
Definition SmallListSet.h:346
GEOMETRYCORE_API bool Contains(int32 ListIndex, int32 Value) const
Definition SmallListSet.cpp:336
int32 FreeHeadIndex
Definition SmallListSet.h:68
size_t Size() const
Definition SmallListSet.h:75
int32 First(int32 ListIndex) const
Definition SmallListSet.h:167
friend bool operator==(const FSmallListSet &Lhs, const FSmallListSet &Rhs)
Definition SmallListSet.h:360
void Enumerate(int32 ListIndex, const IntToVoidFunc &ApplyFunc) const
Definition SmallListSet.h:293
SIZE_T GetByteCount() const
Definition SmallListSet.h:697
FString MemoryUsage() const
Definition SmallListSet.h:690
ValueEnumerable Values(int32 ListIndex) const
Definition SmallListSet.h:571
int32 AllocatedCount
Definition SmallListSet.h:59
bool Replace(int32 ListIndex, const IntToBoolFunc &PredicateFunc, int32 NewValue)
Definition SmallListSet.h:239
GEOMETRYCORE_API bool RemoveFromLinkedList(int32 block_ptr, int32 val)
Definition SmallListSet.cpp:459
bool IsAllocated(int32 ListIndex) const
Definition SmallListSet.h:113
MappedValueEnumerable MappedValues(int32 ListIndex, TFunction< int32(int32)> MapFunc) const
Definition SmallListSet.h:660
int32 Find(int32 ListIndex, const IntToBoolFunc &PredicateFunc, int32 InvalidValue=-1) const
Definition SmallListSet.h:187
bool EnumerateEarlyOut(int32 ListIndex, TFunctionRef< bool(int32)> ApplyFunc) const
Definition SmallListSet.cpp:398
static constexpr int32 NullValue
Definition SmallListSet.h:39
friend bool operator!=(const FSmallListSet &Lhs, const FSmallListSet &Rhs)
Definition SmallListSet.h:396
int32 GetCount(int32 ListIndex) const
Definition SmallListSet.h:155
ValueIterator BeginValues(int32 ListIndex) const
Definition SmallListSet.h:537
void AppendWithElementOffset(const FSmallListSet &Other, int32 ElementOffset)
Definition SmallListSet.cpp:122
TDynamicVector< int32 > ListBlocks
Definition SmallListSet.h:53
void Compact(int32 MaxListIndex)
Definition SmallListSet.cpp:64
GEOMETRYCORE_API void Resize(int32 NewSize)
Definition SmallListSet.cpp:9
void AddFreeLink(int32 ptr)
Definition SmallListSet.h:678
ValueIterator EndValues(int32 ListIndex) const
Definition SmallListSet.h:545
static constexpr int32 BLOCKSIZE
Definition SmallListSet.h:42
TDynamicVector< int32 > FreeBlocks
Definition SmallListSet.h:56
Definition DynamicVector.h:27
size_t GetByteCount() const
Definition DynamicVector.h:149
void Clear()
Definition DynamicVector.h:578
size_t GetLength() const
Definition DynamicVector.h:146
Definition AdvancedWidgetsModule.cpp:13