UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Array.h File Reference
#include "CoreTypes.h"
#include "Misc/AssertionMacros.h"
#include "Misc/IntrusiveUnsetOptionalState.h"
#include "Misc/ReverseIterate.h"
#include "HAL/UnrealMemory.h"
#include "Templates/UnrealTypeTraits.h"
#include "Templates/UnrealTemplate.h"
#include "Containers/AllowShrinking.h"
#include "Containers/ContainerAllocationPolicies.h"
#include "Containers/ContainerElementTypeCompatibility.h"
#include "Serialization/Archive.h"
#include "Serialization/MemoryImageWriter.h"
#include "Algo/Heapify.h"
#include "Algo/HeapSort.h"
#include "Algo/IsHeap.h"
#include "Algo/Impl/BinaryHeap.h"
#include "Algo/StableSort.h"
#include "Concepts/GetTypeHashable.h"
#include "Templates/IdentityFunctor.h"
#include "Templates/Invoke.h"
#include "Templates/Less.h"
#include "Templates/LosesQualifiersFromTo.h"
#include "Templates/Requires.h"
#include "Templates/Sorting.h"
#include "Templates/AlignmentTemplates.h"
#include "Traits/ElementType.h"
#include "Traits/IsTriviallyRelocatable.h"
#include <limits>
#include <type_traits>

Go to the source code of this file.

Classes

struct  TCanBulkSerialize< T >
 
class  TIndexedContainerIterator< ContainerType, ElementType, SizeType >
 
struct  TCheckedPointerIterator< ElementType, SizeType, bReverse >
 
struct  TDereferencingIterator< ElementType, IteratorType >
 
class  TArray< InElementType, InAllocatorType >
 
struct  TIsZeroConstructType< TArray< InElementType, AllocatorType > >
 
struct  TIsContiguousContainer< TArray< T, AllocatorType > >
 
struct  TIsTArray< T >
 
struct  TArrayPrivateFriend
 

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::Private
 implementation
 
namespace  Freeze
 

Macros

#define TARRAY_RANGED_FOR_CHECKS   1
 

Functions

template<typename T , typename AllocatorType >
voidoperator new (size_t Size, TArray< T, AllocatorType > &Array)
 
template<typename T , typename AllocatorType >
voidoperator new (size_t Size, TArray< T, AllocatorType > &Array, typename TArray< T, AllocatorType >::SizeType Index)
 
template<typename ContainerType , typename ElementType , typename SizeType >
UE_NODEBUG UE_FORCEINLINE_HINT TIndexedContainerIterator< ContainerType, ElementType, SizeType > operator+ (SizeType Offset, TIndexedContainerIterator< ContainerType, ElementType, SizeType > RHS)
 
template<typename T , typename AllocatorType >
UE_NODEBUG void Freeze::IntrinsicWriteMemoryImage (FMemoryImageWriter &Writer, const TArray< T, AllocatorType > &Object, const FTypeLayoutDesc &)
 
template<typename T , typename AllocatorType >
UE_NODEBUG uint32 Freeze::IntrinsicUnfrozenCopy (const FMemoryUnfreezeContent &Context, const TArray< T, AllocatorType > &Object, void *OutDst)
 
template<typename T , typename AllocatorType >
UE_NODEBUG uint32 Freeze::IntrinsicAppendHash (const TArray< T, AllocatorType > *DummyObject, const FTypeLayoutDesc &TypeDesc, const FPlatformTypeLayoutParameters &LayoutParams, FSHA1 &Hasher)
 
template<typename T , typename AllocatorType >
UE_NODEBUG uint32 Freeze::IntrinsicGetTargetAlignment (const TArray< T, AllocatorType > *DummyObject, const FTypeLayoutDesc &TypeDesc, const FPlatformTypeLayoutParameters &LayoutParams)
 
template<typename T , typename AllocatorType >
UE_NODEBUG void Freeze::IntrinsicToString (const TArray< T, AllocatorType > &Object, const FTypeLayoutDesc &TypeDesc, const FPlatformTypeLayoutParameters &LayoutParams, FMemoryToStringContext &OutContext)
 
 DECLARE_TEMPLATE_INTRINSIC_TYPE_LAYOUT ((template< typename T, typename AllocatorType >),(TArray< T, AllocatorType >))
 
template<typename T , typename AllocatorType >
UE_NODEBUG voidoperator new (size_t Size, TArray< T, AllocatorType > &Array)
 
template<typename T , typename AllocatorType >
UE_NODEBUG voidoperator new (size_t Size, TArray< T, AllocatorType > &Array, typename TArray< T, AllocatorType >::SizeType Index)
 
template<typename ElementType , typename AllocatorType >
UE_NODEBUG FArchiveoperator<< (FArchive &Ar, TArray< ElementType, AllocatorType > &A)
 
template<typename InElementType , typename InAllocatorType >
uint32 GetTypeHash (const TArray< InElementType, InAllocatorType > &A)
 

Variables

template<typename T >
constexpr bool TIsTArray_V = false
 
template<typename InElementType , typename InAllocatorType >
constexpr bool TIsTArray_V< TArray< InElementType, InAllocatorType > > = true
 
template<typename InElementType , typename InAllocatorType >
constexpr bool TIsTArray_V< const TArray< InElementType, InAllocatorType > > = true
 
template<typename InElementType , typename InAllocatorType >
constexpr bool TIsTArray_V< volatile TArray< InElementType, InAllocatorType > > = true
 
template<typename InElementType , typename InAllocatorType >
constexpr bool TIsTArray_V< const volatile TArray< InElementType, InAllocatorType > > = true
 

Macro Definition Documentation

◆ TARRAY_RANGED_FOR_CHECKS

#define TARRAY_RANGED_FOR_CHECKS   1

Function Documentation

◆ DECLARE_TEMPLATE_INTRINSIC_TYPE_LAYOUT()

DECLARE_TEMPLATE_INTRINSIC_TYPE_LAYOUT ( (template< typename T, typename AllocatorType >)  ,
(TArray< T, AllocatorType >)   
)

◆ GetTypeHash()

Returns a unique hash by combining those of each array element.

◆ operator new() [1/4]

template<typename T , typename AllocatorType >
void * operator new ( size_t  Size,
TArray< T, AllocatorType > &  Array 
)
inline

◆ operator new() [2/4]

template<typename T , typename AllocatorType >
UE_NODEBUG void * operator new ( size_t  Size,
TArray< T, AllocatorType > &  Array 
)
inline

◆ operator new() [3/4]

template<typename T , typename AllocatorType >
void * operator new ( size_t  Size,
TArray< T, AllocatorType > &  Array,
typename TArray< T, AllocatorType >::SizeType  Index 
)
inline

◆ operator new() [4/4]

template<typename T , typename AllocatorType >
UE_NODEBUG void * operator new ( size_t  Size,
TArray< T, AllocatorType > &  Array,
typename TArray< T, AllocatorType >::SizeType  Index 
)
inline

◆ operator+()

template<typename ContainerType , typename ElementType , typename SizeType >
UE_NODEBUG UE_FORCEINLINE_HINT TIndexedContainerIterator< ContainerType, ElementType, SizeType > operator+ ( SizeType  Offset,
TIndexedContainerIterator< ContainerType, ElementType, SizeType >  RHS 
)

operator +

◆ operator<<()

template<typename ElementType , typename AllocatorType >
UE_NODEBUG FArchive & operator<< ( FArchive Ar,
TArray< ElementType, AllocatorType > &  A 
)

Variable Documentation

◆ TIsTArray_V

template<typename T >
constexpr bool TIsTArray_V = false
constexpr

Trait which determines whether or not a type is a TArray.

◆ TIsTArray_V< const TArray< InElementType, InAllocatorType > >

◆ TIsTArray_V< const volatile TArray< InElementType, InAllocatorType > >

◆ TIsTArray_V< TArray< InElementType, InAllocatorType > >

◆ TIsTArray_V< volatile TArray< InElementType, InAllocatorType > >