|
FORCEINLINE | TArray () |
|
FORCEINLINE | TArray (const ElementType *Ptr, SizeType Count) |
|
template<typename OtherElementType , typename OtherSizeType > |
| TArray (const TArrayView< OtherElementType, OtherSizeType > &Other) |
|
| TArray (std::initializer_list< InElementType > InitList) |
|
template<typename OtherElementType , typename OtherAllocator , std::enable_if_t< UE4Array_Private::TArrayElementsAreCompatible< ElementType, const OtherElementType & >::Value > * = nullptr> |
FORCEINLINE | TArray (const TArray< OtherElementType, OtherAllocator > &Other) |
|
FORCEINLINE | TArray (const TArray &Other) |
|
FORCEINLINE | TArray (const TArray &Other, SizeType ExtraSlack) |
|
TArray & | operator= (std::initializer_list< InElementType > InitList) |
|
template<typename OtherAllocatorType > |
TArray & | operator= (const TArray< ElementType, OtherAllocatorType > &Other) |
|
TArray & | operator= (const TArray &Other) |
|
template<typename OtherElementType , typename OtherSizeType > |
TArray & | operator= (const TArrayView< OtherElementType, OtherSizeType > &Other) |
|
FORCEINLINE | TArray (TArray &&Other) |
|
template<typename OtherElementType , typename OtherAllocator , std::enable_if_t< UE4Array_Private::TArrayElementsAreCompatible< ElementType, OtherElementType && >::Value > * = nullptr> |
FORCEINLINE | TArray (TArray< OtherElementType, OtherAllocator > &&Other) |
|
template<typename OtherElementType , std::enable_if_t< UE4Array_Private::TArrayElementsAreCompatible< ElementType, OtherElementType && >::Value > * = nullptr> |
| TArray (TArray< OtherElementType, AllocatorType > &&Other, SizeType ExtraSlack) |
|
TArray & | operator= (TArray &&Other) |
|
| ~TArray () |
|
FORCEINLINE ElementType * | GetData () UE_LIFETIMEBOUND |
|
FORCEINLINE const ElementType * | GetData () const UE_LIFETIMEBOUND |
|
FORCEINLINE SIZE_T | GetAllocatedSize (void) const |
|
FORCEINLINE SizeType | GetSlack () const |
|
FORCEINLINE void | CheckInvariants () const |
|
FORCEINLINE void | RangeCheck (SizeType Index) const |
|
FORCEINLINE bool | IsValidIndex (SizeType Index) const |
|
bool | IsEmpty () const |
|
FORCEINLINE SizeType | Num () const |
|
FORCEINLINE SizeType | Max () const |
|
FORCEINLINE ElementType & | operator[] (SizeType Index) UE_LIFETIMEBOUND |
|
FORCEINLINE const ElementType & | operator[] (SizeType Index) const UE_LIFETIMEBOUND |
|
template<typename ET = InElementType> |
FORCEINLINE TEnableIf<!TIsAbstract< ET >::Value, ElementType >::Type | Pop (bool bAllowShrinking=true) |
|
FORCEINLINE void | Push (ElementType &&Item) |
|
FORCEINLINE void | Push (const ElementType &Item) |
|
FORCEINLINE ElementType & | Top () |
|
FORCEINLINE const ElementType & | Top () const |
|
FORCEINLINE ElementType & | Last (SizeType IndexFromTheEnd=0) |
|
FORCEINLINE const ElementType & | Last (SizeType IndexFromTheEnd=0) const |
|
FORCEINLINE void | Shrink () |
|
FORCEINLINE bool | Find (const ElementType &Item, SizeType &Index) const |
|
SizeType | Find (const ElementType &Item) const |
|
FORCEINLINE bool | FindLast (const ElementType &Item, SizeType &Index) const |
|
SizeType | FindLast (const ElementType &Item) const |
|
template<typename Predicate > |
SizeType | FindLastByPredicate (Predicate Pred, SizeType Count) const |
|
template<typename Predicate > |
FORCEINLINE SizeType | FindLastByPredicate (Predicate Pred) const |
|
template<typename KeyType > |
SizeType | IndexOfByKey (const KeyType &Key) const |
|
template<typename Predicate > |
SizeType | IndexOfByPredicate (Predicate Pred) const |
|
template<typename KeyType > |
FORCEINLINE const ElementType * | FindByKey (const KeyType &Key) const |
|
template<typename KeyType > |
ElementType * | FindByKey (const KeyType &Key) |
|
template<typename Predicate > |
FORCEINLINE const ElementType * | FindByPredicate (Predicate Pred) const |
|
template<typename Predicate > |
ElementType * | FindByPredicate (Predicate Pred) |
|
template<typename Predicate > |
TArray< ElementType > | FilterByPredicate (Predicate Pred) const |
|
template<typename ComparisonType > |
bool | Contains (const ComparisonType &Item) const |
|
template<typename Predicate > |
FORCEINLINE bool | ContainsByPredicate (Predicate Pred) const |
|
bool | operator== (const TArray &OtherArray) const |
|
FORCEINLINE bool | operator!= (const TArray &OtherArray) const |
|
void | CountBytes (FArchive &Ar) const |
|
FORCEINLINE SizeType | AddUninitialized () |
|
FORCEINLINE SizeType | AddUninitialized (SizeType Count) |
|
FORCEINLINE void | InsertUninitialized (SizeType Index) |
|
FORCEINLINE void | InsertUninitialized (SizeType Index, SizeType Count) |
|
void | InsertZeroed (SizeType Index) |
|
void | InsertZeroed (SizeType Index, SizeType Count) |
|
ElementType & | InsertZeroed_GetRef (SizeType Index) |
|
void | InsertDefaulted (SizeType Index) |
|
void | InsertDefaulted (SizeType Index, SizeType Count) |
|
ElementType & | InsertDefaulted_GetRef (SizeType Index) |
|
SizeType | Insert (std::initializer_list< ElementType > InitList, const SizeType InIndex) |
|
template<typename OtherAllocator > |
SizeType | Insert (const TArray< ElementType, OtherAllocator > &Items, const SizeType InIndex) |
|
template<typename OtherAllocator > |
SizeType | Insert (TArray< ElementType, OtherAllocator > &&Items, const SizeType InIndex) |
|
SizeType | Insert (const ElementType *Ptr, SizeType Count, SizeType Index) |
|
FORCEINLINE void | CheckAddress (const ElementType *Addr) const |
|
SizeType | Insert (ElementType &&Item, SizeType Index) |
|
SizeType | Insert (const ElementType &Item, SizeType Index) |
|
ElementType & | Insert_GetRef (ElementType &&Item, SizeType Index) |
|
ElementType & | Insert_GetRef (const ElementType &Item, SizeType Index) |
|
FORCEINLINE void | RemoveAt (SizeType Index) |
|
template<typename CountType > |
FORCEINLINE void | RemoveAt (SizeType Index, CountType Count, bool bAllowShrinking=true) |
|
FORCEINLINE void | RemoveAtSwap (SizeType Index) |
|
template<typename CountType > |
FORCEINLINE void | RemoveAtSwap (SizeType Index, CountType Count, bool bAllowShrinking=true) |
|
void | Reset (SizeType NewSize=0) |
|
void | Empty (SizeType Slack=0) |
|
void | SetNum (SizeType NewNum, bool bAllowShrinking=true) |
|
void | SetNumZeroed (SizeType NewNum, bool bAllowShrinking=true) |
|
void | SetNumUninitialized (SizeType NewNum, bool bAllowShrinking=true) |
|
void | SetNumUnsafeInternal (SizeType NewNum) |
|
template<typename OtherElementType , typename OtherAllocatorType > |
void | Append (const TArray< OtherElementType, OtherAllocatorType > &Source) |
|
template<typename OtherElementType , typename OtherAllocator > |
void | Append (TArray< OtherElementType, OtherAllocator > &&Source) |
|
template<typename RangeType , typename RangeValueType = std::remove_reference_t<RangeType>, typename RangeElementType = TElementType_T<RangeValueType>, std::enable_if_t< TAnd< TIsContiguousContainer< RangeValueType >, TNot< UE4Array_Private::TIsTArrayOrDerivedFromTArray< RangeValueType > >, UE4Array_Private::TTypeIsCompatibleWithRangeElementType< ElementType, RangeType > >::Value > * = nullptr> |
void | Append (RangeType &&Source) |
|
void | Append (const ElementType *Ptr, SizeType Count) |
|
FORCEINLINE void | Append (std::initializer_list< ElementType > InitList) |
|
TArray & | operator+= (TArray &&Other) |
|
TArray & | operator+= (const TArray &Other) |
|
TArray & | operator+= (std::initializer_list< ElementType > InitList) |
|
template<typename... ArgsType> |
FORCEINLINE SizeType | Emplace (ArgsType &&... Args) |
|
template<typename... ArgsType> |
FORCEINLINE ElementType & | Emplace_GetRef (ArgsType &&... Args) |
|
template<typename... ArgsType> |
FORCEINLINE void | EmplaceAt (SizeType Index, ArgsType &&... Args) |
|
template<typename... ArgsType> |
FORCEINLINE ElementType & | EmplaceAt_GetRef (SizeType Index, ArgsType &&... Args) |
|
FORCEINLINE SizeType | Add (ElementType &&Item) |
|
FORCEINLINE SizeType | Add (const ElementType &Item) |
|
FORCEINLINE ElementType & | Add_GetRef (ElementType &&Item) |
|
FORCEINLINE ElementType & | Add_GetRef (const ElementType &Item) |
|
SizeType | AddZeroed () |
|
SizeType | AddZeroed (SizeType Count) |
|
ElementType & | AddZeroed_GetRef () |
|
SizeType | AddDefaulted () |
|
SizeType | AddDefaulted (SizeType Count) |
|
ElementType & | AddDefaulted_GetRef () |
|
template<typename AliasElementType = ElementType, std::enable_if_t< TIsContainerElementTypeReinterpretable< AliasElementType >::Value > * = nullptr> |
| operator TArray< typename TContainerElementTypeCompatibility< AliasElementType >::ReinterpretType, AllocatorType > & () |
|
template<typename AliasElementType = ElementType, typename std::enable_if_t< TIsContainerElementTypeReinterpretable< AliasElementType >::Value > * = nullptr> |
| operator const TArray< typename TContainerElementTypeCompatibility< AliasElementType >::ReinterpretType, AllocatorType > & () const |
|
template<typename AliasElementType = ElementType, typename std::enable_if_t< TIsContainerElementTypeCopyable< AliasElementType >::Value > * = nullptr> |
TArray & | operator= (TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, AllocatorType > &&Other) |
|
template<typename OtherAllocator , typename AliasElementType = ElementType, typename std::enable_if_t< TIsContainerElementTypeCopyable< AliasElementType >::Value > * = nullptr> |
TArray & | operator= (const TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &Other) |
|
template<typename OtherAllocator , typename AliasElementType = ElementType, typename std::enable_if_t< TIsContainerElementTypeCopyable< AliasElementType >::Value > * = nullptr> |
SizeType | Insert (const TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &Items, const SizeType InIndex) |
|
template<typename OtherAllocator , typename AliasElementType = ElementType, typename std::enable_if_t< TIsContainerElementTypeCopyable< AliasElementType >::Value > * = nullptr> |
SizeType | Insert (TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &&Items, const SizeType InIndex) |
|
template<typename AliasElementType = ElementType, typename std::enable_if_t< TIsContainerElementTypeCopyable< AliasElementType >::Value > * = nullptr> |
void | Append (const typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType *Ptr, SizeType Count) |
|
FORCEINLINE SizeType | AddUnique (ElementType &&Item) |
|
FORCEINLINE SizeType | AddUnique (const ElementType &Item) |
|
FORCEINLINE void | Reserve (SizeType Number) |
|
void | Init (const ElementType &Element, SizeType Number) |
|
SizeType | RemoveSingle (const ElementType &Item) |
|
SizeType | Remove (const ElementType &Item) |
|
template<class PREDICATE_CLASS > |
SizeType | RemoveAll (const PREDICATE_CLASS &Predicate) |
|
template<class PREDICATE_CLASS > |
SizeType | RemoveAllSwap (const PREDICATE_CLASS &Predicate, bool bAllowShrinking=true) |
|
SizeType | RemoveSingleSwap (const ElementType &Item, bool bAllowShrinking=true) |
|
SizeType | RemoveSwap (const ElementType &Item, bool bAllowShrinking=true) |
|
FORCEINLINE void | SwapMemory (SizeType FirstIndexToSwap, SizeType SecondIndexToSwap) |
|
FORCEINLINE void | Swap (SizeType FirstIndexToSwap, SizeType SecondIndexToSwap) |
|
template<typename SearchType > |
bool | FindItemByClass (SearchType **Item=nullptr, SizeType *ItemIndex=nullptr, SizeType StartIndex=0) const |
|
TIterator | CreateIterator () |
|
TConstIterator | CreateConstIterator () const |
|
FORCEINLINE RangedForIteratorType | begin () |
|
FORCEINLINE RangedForConstIteratorType | begin () const |
|
FORCEINLINE RangedForIteratorType | end () |
|
FORCEINLINE RangedForConstIteratorType | end () const |
|
void | Sort () |
|
template<class PREDICATE_CLASS > |
void | Sort (const PREDICATE_CLASS &Predicate) |
|
void | StableSort () |
|
template<class PREDICATE_CLASS > |
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 |
|
template<class PREDICATE_CLASS > |
FORCEINLINE void | Heapify (const PREDICATE_CLASS &Predicate) |
|
void | Heapify () |
|
template<class PREDICATE_CLASS > |
SizeType | HeapPush (ElementType &&InItem, const PREDICATE_CLASS &Predicate) |
|
template<class PREDICATE_CLASS > |
SizeType | HeapPush (const ElementType &InItem, const PREDICATE_CLASS &Predicate) |
|
SizeType | HeapPush (ElementType &&InItem) |
|
SizeType | HeapPush (const ElementType &InItem) |
|
template<class PREDICATE_CLASS > |
void | HeapPop (ElementType &OutItem, const PREDICATE_CLASS &Predicate, bool bAllowShrinking=true) |
|
void | HeapPop (ElementType &OutItem, bool bAllowShrinking=true) |
|
template<class PREDICATE_CLASS > |
void | VerifyHeap (const PREDICATE_CLASS &Predicate) |
|
template<class PREDICATE_CLASS > |
void | HeapPopDiscard (const PREDICATE_CLASS &Predicate, bool bAllowShrinking=true) |
|
void | HeapPopDiscard (bool bAllowShrinking=true) |
|
const ElementType & | HeapTop () const |
|
ElementType & | HeapTop () |
|
template<class PREDICATE_CLASS > |
void | HeapRemoveAt (SizeType Index, const PREDICATE_CLASS &Predicate, bool bAllowShrinking=true) |
|
void | HeapRemoveAt (SizeType Index, bool bAllowShrinking=true) |
|
template<class PREDICATE_CLASS > |
void | HeapSort (const PREDICATE_CLASS &Predicate) |
|
void | HeapSort () |
|
const ElementAllocatorType & | GetAllocatorInstance () const |
|
ElementAllocatorType & | GetAllocatorInstance () |
|
template<typename OtherElementType , typename OtherSizeType > |
FORCEINLINE | TArray (const TArrayView< OtherElementType, OtherSizeType > &Other) |
|
template<typename OtherElementType , typename OtherSizeType > |
FORCEINLINE TArray< InElementType, InAllocatorType > & | operator= (const TArrayView< OtherElementType, OtherSizeType > &Other) |
|
Templated dynamic array
A dynamically sized array of typed elements. Makes the assumption that your elements are relocate-able; i.e. that they can be transparently moved to new memory without a copy constructor. The main implication is that pointers to elements in the TArray may be invalidated by adding or removing other elements to the array. Removal of elements is O(N) and invalidates the indices of subsequent elements.
Caution: as noted below some methods are not safe for element types that require constructors.
Definition at line 351 of file Array.h.