UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TArrayCollectionArray< T > Class Template Reference

#include <ArrayCollectionArray.h>

+ Inheritance diagram for Chaos::TArrayCollectionArray< T >:

Public Member Functions

 TArrayCollectionArray ()
 
 TArrayCollectionArray (const TArrayCollectionArray< T > &Other)=delete
 
 TArrayCollectionArray (TArrayCollectionArray< T > &&Other)
 
TArrayCollectionArrayoperator= (TArrayCollectionArray< T > &&Other)
 
 TArrayCollectionArray (TArray< T > &&Other)
 
virtual ~TArrayCollectionArray ()
 
void Fill (const T &Value)
 
TArrayCollectionArray< T > Clone ()
 
void ApplyShrinkPolicy (const float MaxSlackFraction, const int32 MinSlack) override
 
void Resize (const int Num) override
 
FORCEINLINE void RemoveAt (const int Idx, const int Count) override
 
FORCEINLINE void RemoveAtSwap (const int Idx) override
 
FORCEINLINE void MoveToOtherArray (const int Idx, TArrayCollectionArrayBase &Other)
 
FORCEINLINE uint64 SizeOfElem () const override
 
- Public Member Functions inherited from TArray< T >
UE_FORCEINLINE_HINT constexpr TArray ()
 
consteval TArray (EConstEval)
 
UE_FORCEINLINE_HINT TArray (const ElementType *Ptr, SizeType Count)
 
 TArray (const TArrayView< OtherElementType, OtherSizeType > &Other)
 
 TArray (std::initializer_list< T > InitList)
 
UE_FORCEINLINE_HINT TArray (const TArray< OtherElementType, OtherAllocator > &Other)
 
UE_FORCEINLINE_HINT TArray (const TArray &Other)
 
UE_FORCEINLINE_HINT TArray (const TArray &Other, SizeType ExtraSlack)
 
UE_FORCEINLINE_HINT TArray (TArray &&Other)
 
UE_FORCEINLINE_HINT TArray (TArray< OtherElementType, OtherAllocator > &&Other)
 
 TArray (TArray< OtherElementType, AllocatorType > &&Other, SizeType ExtraSlack)
 
UE_NODEBUG TArray (FIntrusiveUnsetOptionalState Tag)
 
UE_FORCEINLINE_HINT TArray (const TArrayView< OtherElementType, OtherSizeType > &Other)
 
TArrayoperator= (std::initializer_list< T > InitList)
 
TArrayoperator= (const TArray< ElementType, OtherAllocatorType > &Other)
 
TArrayoperator= (const TArray &Other)
 
TArrayoperator= (const TArrayView< OtherElementType, OtherSizeType > &Other)
 
TArrayoperator= (TArray &&Other)
 
TArrayoperator= (TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, AllocatorType > &&Other)
 
TArrayoperator= (const TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &Other)
 
TArray< T, InAllocatorType > & operator= (const TArrayView< OtherElementType, OtherSizeType > &Other)
 
 ~TArray ()
 
UE_NODEBUG bool operator== (FIntrusiveUnsetOptionalState Tag) const
 
UE_NODEBUG bool operator== (const TArray &OtherArray) const
 
UE_NODEBUG UE_FORCEINLINE_HINT ElementTypeGetData () UE_LIFETIMEBOUND
 
UE_REWRITE const ElementTypeGetData () const UE_LIFETIMEBOUND
 
UE_NODEBUG UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize (void) const
 
UE_NODEBUG UE_FORCEINLINE_HINT SizeType GetSlack () const
 
UE_NODEBUG UE_FORCEINLINE_HINT void CheckInvariants () const
 
UE_FORCEINLINE_HINT void RangeCheck (SizeType Index) const
 
UE_FORCEINLINE_HINT void RangeCheck (SizeType Index, SizeType Count) const
 
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex (SizeType Index) const
 
UE_REWRITE bool IsEmpty () const
 
UE_REWRITE SizeType Num () const
 
UE_NODEBUG UE_FORCEINLINE_HINT SIZE_T NumBytes () const
 
UE_REWRITE SizeType Max () const
 
UE_NODEBUG UE_FORCEINLINE_HINT ElementTypeoperator[] (SizeType Index) UE_LIFETIMEBOUND
 
UE_REWRITE const ElementTypeoperator[] (SizeType Index) const UE_LIFETIMEBOUND
 
ElementType Pop (EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT ElementType Pop (bool bAllowShrinking)
 
UE_NODEBUG UE_FORCEINLINE_HINT void Push (ElementType &&Item)
 
UE_NODEBUG UE_FORCEINLINE_HINT void Push (const ElementType &Item)
 
UE_NODEBUG UE_FORCEINLINE_HINT ElementTypeTop () UE_LIFETIMEBOUND
 
UE_REWRITE const ElementTypeTop () const UE_LIFETIMEBOUND
 
UE_NODEBUG UE_FORCEINLINE_HINT ElementTypeLast (SizeType IndexFromTheEnd=0) UE_LIFETIMEBOUND
 
UE_REWRITE const ElementTypeLast (SizeType IndexFromTheEnd=0) const UE_LIFETIMEBOUND
 
UE_FORCEINLINE_HINT void Shrink ()
 
UE_NODEBUG UE_FORCEINLINE_HINT bool Find (const ElementType &Item, SizeType &Index) const
 
SizeType Find (const ElementType &Item) const
 
UE_NODEBUG UE_FORCEINLINE_HINT bool FindLast (const ElementType &Item, SizeType &Index) const
 
SizeType FindLast (const ElementType &Item) const
 
SizeType FindLastByPredicate (Predicate Pred, SizeType Count) const
 
UE_NODEBUG UE_FORCEINLINE_HINT SizeType FindLastByPredicate (Predicate Pred) const
 
SizeType IndexOfByKey (const KeyType &Key) const
 
SizeType IndexOfByPredicate (Predicate Pred) const
 
ElementTypeFindByKey (const KeyType &Key)
 
UE_REWRITE const ElementTypeFindByKey (const KeyType &Key) const
 
ElementTypeFindByPredicate (Predicate Pred)
 
UE_REWRITE const ElementTypeFindByPredicate (Predicate Pred) const
 
TArray< ElementTypeFilterByPredicate (Predicate Pred) const
 
bool Contains (const ComparisonType &Item) const
 
UE_NODEBUG UE_FORCEINLINE_HINT bool ContainsByPredicate (Predicate Pred) const
 
UE_REWRITE bool operator!= (const TArray &OtherArray) const
 
void BulkSerialize (FArchive &Ar, bool bForcePerElementSerialization=false)
 
UE_NODEBUG void CountBytes (FArchive &Ar) const
 
UE_FORCEINLINE_HINT SizeType AddUninitialized ()
 
UE_FORCEINLINE_HINT SizeType AddUninitialized (SizeType Count)
 
UE_NODEBUG UE_FORCEINLINE_HINT void InsertUninitialized (SizeType Index)
 
UE_NODEBUG UE_FORCEINLINE_HINT void InsertUninitialized (SizeType Index, SizeType Count)
 
void InsertZeroed (SizeType Index)
 
void InsertZeroed (SizeType Index, SizeType Count)
 
ElementTypeInsertZeroed_GetRef (SizeType Index) UE_LIFETIMEBOUND
 
void InsertDefaulted (SizeType Index)
 
void InsertDefaulted (SizeType Index, SizeType Count)
 
ElementTypeInsertDefaulted_GetRef (SizeType Index) UE_LIFETIMEBOUND
 
SizeType Insert (std::initializer_list< ElementType > InitList, const SizeType InIndex)
 
SizeType Insert (const TArray< ElementType, OtherAllocator > &Items, const SizeType InIndex)
 
SizeType Insert (TArray< ElementType, OtherAllocator > &&Items, const SizeType InIndex)
 
SizeType Insert (const ElementType *Ptr, SizeType Count, SizeType Index)
 
SizeType Insert (ElementType &&Item, SizeType Index)
 
SizeType Insert (const ElementType &Item, SizeType Index)
 
SizeType Insert (const TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &Items, const SizeType InIndex)
 
SizeType Insert (TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &&Items, const SizeType InIndex)
 
UE_FORCEINLINE_HINT void CheckAddress (const ElementType *Addr) const
 
ElementTypeInsert_GetRef (ElementType &&Item, SizeType Index) UE_LIFETIMEBOUND
 
ElementTypeInsert_GetRef (const ElementType &Item, SizeType Index) UE_LIFETIMEBOUND
 
void RemoveAt (SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_FORCEINLINE_HINT void RemoveAt (SizeType Index, CountType Count, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_FORCEINLINE_HINT void RemoveAt (SizeType Index, CountType Count, bool bAllowShrinking)
 
UE_FORCEINLINE_HINT void RemoveAtSwap (SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_FORCEINLINE_HINT void RemoveAtSwap (SizeType Index, CountType Count, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void RemoveAtSwap (SizeType Index, CountType Count, bool bAllowShrinking)
 
void Reset (SizeType NewSize=0)
 
void Empty (SizeType Slack=0)
 
void SetNum (SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void SetNum (SizeType NewNum, bool bAllowShrinking)
 
void SetNumZeroed (SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void SetNumZeroed (SizeType NewNum, bool bAllowShrinking)
 
void SetNumUninitialized (SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void SetNumUninitialized (SizeType NewNum, bool bAllowShrinking)
 
void SetNumUnsafeInternal (SizeType NewNum)
 
void Append (const TArray< OtherElementType, OtherAllocatorType > &Source)
 
void Append (TArray< OtherElementType, OtherAllocator > &&Source)
 
void Append (RangeType &&Source)
 
void Append (const ElementType *Ptr, SizeType Count)
 
UE_FORCEINLINE_HINT void Append (std::initializer_list< ElementType > InitList)
 
void Append (const typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType *Ptr, SizeType Count)
 
UE_NODEBUG TArrayoperator+= (TArray &&Other)
 
UE_NODEBUG TArrayoperator+= (const TArray &Other)
 
UE_NODEBUG TArrayoperator+= (std::initializer_list< ElementType > InitList)
 
UE_FORCEINLINE_HINT SizeType Emplace (ArgsType &&... Args)
 
UE_FORCEINLINE_HINT ElementTypeEmplace_GetRef (ArgsType &&... Args) UE_LIFETIMEBOUND
 
UE_FORCEINLINE_HINT void EmplaceAt (SizeType Index, ArgsType &&... Args)
 
UE_FORCEINLINE_HINT ElementTypeEmplaceAt_GetRef (SizeType Index, ArgsType &&... Args) UE_LIFETIMEBOUND
 
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add (ElementType &&Item)
 
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add (const ElementType &Item)
 
UE_NODEBUG UE_FORCEINLINE_HINT ElementTypeAdd_GetRef (ElementType &&Item) UE_LIFETIMEBOUND
 
UE_NODEBUG UE_FORCEINLINE_HINT ElementTypeAdd_GetRef (const ElementType &Item) UE_LIFETIMEBOUND
 
SizeType AddZeroed ()
 
SizeType AddZeroed (SizeType Count)
 
ElementTypeAddZeroed_GetRef () UE_LIFETIMEBOUND
 
SizeType AddDefaulted ()
 
SizeType AddDefaulted (SizeType Count)
 
ElementTypeAddDefaulted_GetRef () UE_LIFETIMEBOUND
 
 operator TArray< typename TContainerElementTypeCompatibility< AliasElementType >::ReinterpretType, AllocatorType > & ()
 
 operator const TArray< typename TContainerElementTypeCompatibility< AliasElementType >::ReinterpretType, AllocatorType > & () const
 
UE_FORCEINLINE_HINT SizeType AddUnique (ElementType &&Item)
 
UE_FORCEINLINE_HINT SizeType AddUnique (const ElementType &Item)
 
UE_FORCEINLINE_HINT void Reserve (SizeType Number)
 
void Init (const ElementType &Element, SizeType Number)
 
SizeType RemoveSingle (const ElementType &Item)
 
SizeType Remove (const ElementType &Item)
 
SizeType RemoveAll (const PREDICATE_CLASS &Predicate)
 
SizeType RemoveAllSwap (const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT SizeType RemoveAllSwap (const PREDICATE_CLASS &Predicate, bool bAllowShrinking)
 
SizeType RemoveSingleSwap (const ElementType &Item, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT SizeType RemoveSingleSwap (const ElementType &Item, bool bAllowShrinking)
 
SizeType RemoveSwap (const ElementType &Item, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT SizeType RemoveSwap (const ElementType &Item, bool bAllowShrinking)
 
UE_FORCEINLINE_HINT void SwapMemory (SizeType FirstIndexToSwap, SizeType SecondIndexToSwap)
 
UE_FORCEINLINE_HINT void Swap (SizeType FirstIndexToSwap, SizeType SecondIndexToSwap)
 
bool FindItemByClass (SearchType **Item=nullptr, SizeType *ItemIndex=nullptr, SizeType StartIndex=0) const
 
UE_NODEBUG TIterator CreateIterator ()
 
UE_NODEBUG TConstIterator CreateConstIterator () const
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForIteratorType begin ()
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForConstIteratorType begin () const
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForIteratorType end ()
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForConstIteratorType end () const
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForReverseIteratorType rbegin ()
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForConstReverseIteratorType rbegin () const
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForReverseIteratorType rend ()
 
UE_NODEBUG UE_FORCEINLINE_HINT RangedForConstReverseIteratorType rend () const
 
UE_NODEBUG void Sort ()
 
UE_NODEBUG void Sort (const PREDICATE_CLASS &Predicate)
 
UE_NODEBUG void StableSort ()
 
UE_NODEBUG void StableSort (const PREDICATE_CLASS &Predicate)
 
void WriteMemoryImage (FMemoryImageWriter &Writer) const
 
void CopyUnfrozen (const FMemoryUnfreezeContent &Context, void *Dst) const
 
void ToString (const FPlatformTypeLayoutParameters &LayoutParams, FMemoryToStringContext &OutContext) const
 
UE_NODEBUG UE_FORCEINLINE_HINT void Heapify (const PREDICATE_CLASS &Predicate)
 
UE_NODEBUG void Heapify ()
 
SizeType HeapPush (ElementType &&InItem, const PREDICATE_CLASS &Predicate)
 
SizeType HeapPush (const ElementType &InItem, const PREDICATE_CLASS &Predicate)
 
UE_NODEBUG SizeType HeapPush (ElementType &&InItem)
 
UE_NODEBUG SizeType HeapPush (const ElementType &InItem)
 
void HeapPop (ElementType &OutItem, const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void HeapPop (ElementType &OutItem, const PREDICATE_CLASS &Predicate, bool bAllowShrinking)
 
UE_NODEBUG void HeapPop (ElementType &OutItem, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void HeapPop (ElementType &OutItem, bool bAllowShrinking)
 
UE_NODEBUG void VerifyHeap (const PREDICATE_CLASS &Predicate)
 
void HeapPopDiscard (const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void HeapPopDiscard (const PREDICATE_CLASS &Predicate, bool bAllowShrinking)
 
UE_NODEBUG void HeapPopDiscard (EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void HeapPopDiscard (bool bAllowShrinking)
 
UE_NODEBUG const ElementTypeHeapTop () const UE_LIFETIMEBOUND
 
UE_NODEBUG ElementTypeHeapTop () UE_LIFETIMEBOUND
 
void HeapRemoveAt (SizeType Index, const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG void HeapRemoveAt (SizeType Index, const PREDICATE_CLASS &Predicate, bool bAllowShrinking)
 
UE_NODEBUG void HeapRemoveAt (SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
UE_NODEBUG UE_FORCEINLINE_HINT void HeapRemoveAt (SizeType Index, bool bAllowShrinking)
 
UE_NODEBUG void HeapSort (const PREDICATE_CLASS &Predicate)
 
UE_NODEBUG void HeapSort ()
 
UE_NODEBUG const ElementAllocatorTypeGetAllocatorInstance () const
 
UE_NODEBUG ElementAllocatorTypeGetAllocatorInstance ()
 

Static Public Attributes

static constexpr EAllowShrinking AllowShrinkOnRemove = EAllowShrinking::No
 
- Static Public Attributes inherited from TArray< T >
static constexpr bool bHasIntrusiveUnsetOptionalState
 

Additional Inherited Members

- Public Types inherited from TArray< T >
using SizeType = typename InAllocatorType::SizeType
 
using ElementType = T
 
using AllocatorType = InAllocatorType
 
using ElementAllocatorType = std::conditional_t< AllocatorType::NeedsElementType, typename AllocatorType::template ForElementType< ElementType >, typename AllocatorType::ForAnyElementType >
 
using IntrusiveUnsetOptionalStateType = TArray
 
using TIterator = TIndexedContainerIterator< TArray, ElementType, SizeType >
 
using TConstIterator = TIndexedContainerIterator< const TArray, const ElementType, SizeType >
 
using RangedForIteratorType = TCheckedPointerIterator< ElementType, SizeType, false >
 
using RangedForConstIteratorType = TCheckedPointerIterator< const ElementType, SizeType, false >
 
using RangedForReverseIteratorType = TCheckedPointerIterator< ElementType, SizeType, true >
 
using RangedForConstReverseIteratorType = TCheckedPointerIterator< const ElementType, SizeType, true >
 
- Static Public Member Functions inherited from TArray< T >
UE_NODEBUG static UE_FORCEINLINE_HINT constexpr uint32 GetTypeSize ()
 
static void AppendHash (const FPlatformTypeLayoutParameters &LayoutParams, FSHA1 &Hasher)
 
- Protected Attributes inherited from TArray< T >
ElementAllocatorType AllocatorInstance
 
SizeType ArrayNum
 
SizeType ArrayMax
 

Constructor & Destructor Documentation

◆ TArrayCollectionArray() [1/4]

template<class T >
Chaos::TArrayCollectionArray< T >::TArrayCollectionArray ( )
inline

◆ TArrayCollectionArray() [2/4]

template<class T >
Chaos::TArrayCollectionArray< T >::TArrayCollectionArray ( const TArrayCollectionArray< T > &  Other)
delete

◆ TArrayCollectionArray() [3/4]

template<class T >
Chaos::TArrayCollectionArray< T >::TArrayCollectionArray ( TArrayCollectionArray< T > &&  Other)
inlineexplicit

◆ TArrayCollectionArray() [4/4]

template<class T >
Chaos::TArrayCollectionArray< T >::TArrayCollectionArray ( TArray< T > &&  Other)
inline

◆ ~TArrayCollectionArray()

template<class T >
virtual Chaos::TArrayCollectionArray< T >::~TArrayCollectionArray ( )
inlinevirtual

Member Function Documentation

◆ ApplyShrinkPolicy()

template<class T >
void Chaos::TArrayCollectionArray< T >::ApplyShrinkPolicy ( const float  MaxSlackFraction,
const int32  MinSlack 
)
inlineoverridevirtual

◆ Clone()

template<class T >
TArrayCollectionArray< T > Chaos::TArrayCollectionArray< T >::Clone ( )
inline

◆ Fill()

template<class T >
void Chaos::TArrayCollectionArray< T >::Fill ( const T &  Value)
inline

◆ MoveToOtherArray()

template<class T >
FORCEINLINE void Chaos::TArrayCollectionArray< T >::MoveToOtherArray ( const int  Idx,
TArrayCollectionArrayBase Other 
)
inlinevirtual

◆ operator=()

template<class T >
TArrayCollectionArray & Chaos::TArrayCollectionArray< T >::operator= ( TArrayCollectionArray< T > &&  Other)
inline

◆ RemoveAt()

template<class T >
FORCEINLINE void Chaos::TArrayCollectionArray< T >::RemoveAt ( const int  Idx,
const int  Count 
)
inlineoverridevirtual

◆ RemoveAtSwap()

template<class T >
FORCEINLINE void Chaos::TArrayCollectionArray< T >::RemoveAtSwap ( const int  Idx)
inlineoverridevirtual

◆ Resize()

template<class T >
void Chaos::TArrayCollectionArray< T >::Resize ( const int  Num)
inlineoverridevirtual

◆ SizeOfElem()

template<class T >
FORCEINLINE uint64 Chaos::TArrayCollectionArray< T >::SizeOfElem ( ) const
inlineoverridevirtual

Member Data Documentation

◆ AllowShrinkOnRemove

template<class T >
constexpr EAllowShrinking Chaos::TArrayCollectionArray< T >::AllowShrinkOnRemove = EAllowShrinking::No
staticconstexpr

The documentation for this class was generated from the following files: