UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TResourceArray< ElementType, Alignment > Class Template Reference

#include <DynamicRHIResourceArray.h>

+ Inheritance diagram for TResourceArray< ElementType, Alignment >:

Public Types

using Super = ParentArrayType
 
- Public Types inherited from TArray< InElementType, InAllocatorType >
using SizeType = typename InAllocatorType::SizeType
 
using ElementType = InElementType
 
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 >
 

Public Member Functions

 TResourceArray (bool InNeedsCPUAccess=false)
 
 TResourceArray (TResourceArray &&)=default
 
 TResourceArray (const TResourceArray &)=default
 
TResourceArrayoperator= (TResourceArray &&)=default
 
TResourceArrayoperator= (const TResourceArray &)=default
 
virtual ~TResourceArray ()=default
 
virtual const voidGetResourceData () const override
 
virtual uint32 GetResourceDataSize () const override
 
virtual void Discard () override
 
virtual bool IsStatic () const override
 
virtual bool GetAllowCPUAccess () const override
 
virtual void SetAllowCPUAccess (bool bInNeedsCPUAccess) override
 
TResourceArrayoperator= (const Super &Other)
 
void BulkSerialize (FArchive &Ar, bool bForcePerElementSerialization=false)
 
- Public Member Functions inherited from FResourceArrayUploadInterface
virtual ~FResourceArrayUploadInterface ()
 
template<typename TElement >
TConstArrayView< TElementGetResourceDataView () const
 
- Public Member Functions inherited from TArray< InElementType, InAllocatorType >
UE_FORCEINLINE_HINT constexpr TArray ()
 
consteval TArray (EConstEval)
 
UE_FORCEINLINE_HINT 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 >
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)
 
TArrayoperator= (std::initializer_list< InElementType > InitList)
 
template<typename OtherAllocatorType >
TArrayoperator= (const TArray< ElementType, OtherAllocatorType > &Other)
 
TArrayoperator= (const TArray &Other)
 
template<typename OtherElementType , typename OtherSizeType >
TArrayoperator= (const TArrayView< OtherElementType, OtherSizeType > &Other)
 
UE_FORCEINLINE_HINT TArray (TArray &&Other)
 
template<typename OtherElementType , typename OtherAllocator >
UE_FORCEINLINE_HINT TArray (TArray< OtherElementType, OtherAllocator > &&Other)
 
template<typename OtherElementType >
 TArray (TArray< OtherElementType, AllocatorType > &&Other, SizeType ExtraSlack)
 
TArrayoperator= (TArray &&Other)
 
 ~TArray ()
 
UE_NODEBUG TArray (FIntrusiveUnsetOptionalState Tag)
 
UE_NODEBUG bool operator== (FIntrusiveUnsetOptionalState Tag) 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
 
template<typename Predicate >
SizeType FindLastByPredicate (Predicate Pred, SizeType Count) const
 
template<typename Predicate >
UE_NODEBUG UE_FORCEINLINE_HINT 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 >
ElementTypeFindByKey (const KeyType &Key)
 
template<typename KeyType >
UE_REWRITE const ElementTypeFindByKey (const KeyType &Key) const
 
template<typename Predicate >
ElementTypeFindByPredicate (Predicate Pred)
 
template<typename Predicate >
UE_REWRITE const ElementTypeFindByPredicate (Predicate Pred) const
 
template<typename Predicate >
TArray< ElementTypeFilterByPredicate (Predicate Pred) const
 
template<typename ComparisonType >
bool Contains (const ComparisonType &Item) const
 
template<typename Predicate >
UE_NODEBUG UE_FORCEINLINE_HINT bool ContainsByPredicate (Predicate Pred) const
 
UE_NODEBUG bool operator== (const TArray &OtherArray) 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)
 
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)
 
UE_FORCEINLINE_HINT void CheckAddress (const ElementType *Addr) const
 
SizeType Insert (ElementType &&Item, SizeType Index)
 
SizeType Insert (const ElementType &Item, SizeType Index)
 
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 >())
 
template<UE::CIntegral CountType>
UE_FORCEINLINE_HINT void RemoveAt (SizeType Index, CountType Count, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
template<typename CountType >
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 >())
 
template<UE::CIntegral CountType>
UE_FORCEINLINE_HINT void RemoveAtSwap (SizeType Index, CountType Count, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
template<typename CountType >
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)
 
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 UE_REQUIRES>
void Append (RangeType &&Source)
 
void Append (const ElementType *Ptr, SizeType Count)
 
UE_FORCEINLINE_HINT void Append (std::initializer_list< ElementType > InitList)
 
UE_NODEBUG TArrayoperator+= (TArray &&Other)
 
UE_NODEBUG TArrayoperator+= (const TArray &Other)
 
UE_NODEBUG TArrayoperator+= (std::initializer_list< ElementType > InitList)
 
template<typename... ArgsType>
UE_FORCEINLINE_HINT SizeType Emplace (ArgsType &&... Args)
 
template<typename... ArgsType>
UE_FORCEINLINE_HINT ElementTypeEmplace_GetRef (ArgsType &&... Args) UE_LIFETIMEBOUND
 
template<typename... ArgsType>
UE_FORCEINLINE_HINT void EmplaceAt (SizeType Index, ArgsType &&... Args)
 
template<typename... ArgsType>
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
 
template<typename AliasElementType = ElementType>
 operator TArray< typename TContainerElementTypeCompatibility< AliasElementType >::ReinterpretType, AllocatorType > & ()
 
template<typename AliasElementType = ElementType>
 operator const TArray< typename TContainerElementTypeCompatibility< AliasElementType >::ReinterpretType, AllocatorType > & () const
 
template<typename AliasElementType = ElementType>
TArrayoperator= (TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, AllocatorType > &&Other)
 
template<typename OtherAllocator , typename AliasElementType = ElementType>
TArrayoperator= (const TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &Other)
 
template<typename OtherAllocator , typename AliasElementType = ElementType>
SizeType Insert (const TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &Items, const SizeType InIndex)
 
template<typename OtherAllocator , typename AliasElementType = ElementType>
SizeType Insert (TArray< typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType, OtherAllocator > &&Items, const SizeType InIndex)
 
template<typename AliasElementType = ElementType>
void Append (const typename TContainerElementTypeCompatibility< ElementType >::CopyFromOtherType *Ptr, SizeType Count)
 
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)
 
template<class PREDICATE_CLASS >
SizeType RemoveAll (const PREDICATE_CLASS &Predicate)
 
template<class PREDICATE_CLASS >
SizeType RemoveAllSwap (const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
template<class PREDICATE_CLASS >
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)
 
template<typename SearchType >
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 ()
 
template<class PREDICATE_CLASS >
UE_NODEBUG void Sort (const PREDICATE_CLASS &Predicate)
 
UE_NODEBUG void StableSort ()
 
template<class PREDICATE_CLASS >
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
 
template<class PREDICATE_CLASS >
UE_NODEBUG UE_FORCEINLINE_HINT void Heapify (const PREDICATE_CLASS &Predicate)
 
UE_NODEBUG 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)
 
UE_NODEBUG SizeType HeapPush (ElementType &&InItem)
 
UE_NODEBUG SizeType HeapPush (const ElementType &InItem)
 
template<class PREDICATE_CLASS >
void HeapPop (ElementType &OutItem, const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
template<class PREDICATE_CLASS >
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)
 
template<class PREDICATE_CLASS >
UE_NODEBUG void VerifyHeap (const PREDICATE_CLASS &Predicate)
 
template<class PREDICATE_CLASS >
void HeapPopDiscard (const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
template<class PREDICATE_CLASS >
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
 
template<class PREDICATE_CLASS >
void HeapRemoveAt (SizeType Index, const PREDICATE_CLASS &Predicate, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
 
template<class PREDICATE_CLASS >
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)
 
template<class PREDICATE_CLASS >
UE_NODEBUG void HeapSort (const PREDICATE_CLASS &Predicate)
 
UE_NODEBUG void HeapSort ()
 
UE_NODEBUG const ElementAllocatorTypeGetAllocatorInstance () const
 
UE_NODEBUG ElementAllocatorTypeGetAllocatorInstance ()
 
template<typename OtherElementType , typename OtherSizeType >
UE_FORCEINLINE_HINT TArray (const TArrayView< OtherElementType, OtherSizeType > &Other)
 
template<typename OtherElementType , typename OtherSizeType >
TArray< InElementType, InAllocatorType > & operator= (const TArrayView< OtherElementType, OtherSizeType > &Other)
 

Additional Inherited Members

- Static Public Member Functions inherited from TArray< InElementType, InAllocatorType >
UE_NODEBUG static UE_FORCEINLINE_HINT constexpr uint32 GetTypeSize ()
 
static void AppendHash (const FPlatformTypeLayoutParameters &LayoutParams, FSHA1 &Hasher)
 
- Static Public Attributes inherited from TArray< InElementType, InAllocatorType >
static constexpr bool bHasIntrusiveUnsetOptionalState = true
 
- Protected Attributes inherited from TArray< InElementType, InAllocatorType >
ElementAllocatorType AllocatorInstance
 
SizeType ArrayNum
 
SizeType ArrayMax
 

Detailed Description

template<typename ElementType, uint32 Alignment = DEFAULT_ALIGNMENT>
class TResourceArray< ElementType, Alignment >

A array which allocates memory which can be used for UMA rendering resources. In the dynamically bound RHI, it isn't any different from the default array type, since none of the dynamically bound RHI implementations have UMA.

Parameters
Alignment- memory alignment to use for the allocation

Member Typedef Documentation

◆ Super

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
using TResourceArray< ElementType, Alignment >::Super = ParentArrayType

Constructor & Destructor Documentation

◆ TResourceArray() [1/3]

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
TResourceArray< ElementType, Alignment >::TResourceArray ( bool  InNeedsCPUAccess = false)
inlineexplicit

Constructor

◆ TResourceArray() [2/3]

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
TResourceArray< ElementType, Alignment >::TResourceArray ( TResourceArray< ElementType, Alignment > &&  )
default

◆ TResourceArray() [3/3]

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
TResourceArray< ElementType, Alignment >::TResourceArray ( const TResourceArray< ElementType, Alignment > &  )
default

◆ ~TResourceArray()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
virtual TResourceArray< ElementType, Alignment >::~TResourceArray ( )
virtualdefault

Member Function Documentation

◆ BulkSerialize()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
void TResourceArray< ElementType, Alignment >::BulkSerialize ( FArchive Ar,
bool  bForcePerElementSerialization = false 
)
inline

Serialize data as a single block. See TArray::BulkSerialize for more info.

IMPORTANT:

Parameters
ArFArchive to bulk serialize this TArray to/from

◆ Discard()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
virtual void TResourceArray< ElementType, Alignment >::Discard ( )
inlineoverridevirtual

Called on non-UMA systems after the RHI has copied the resource data, and no longer needs the CPU's copy. Only discard the resource memory on clients, and if the CPU doesn't need access to it. Non-clients can't discard the data because they may need to serialize it.

Implements FResourceArrayUploadInterface.

◆ GetAllowCPUAccess()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
virtual bool TResourceArray< ElementType, Alignment >::GetAllowCPUAccess ( ) const
inlineoverridevirtual
Returns
true if the resource keeps a copy of its resource data after the RHI resource has been created

Implements FResourceArrayInterface.

◆ GetResourceData()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
virtual const void * TResourceArray< ElementType, Alignment >::GetResourceData ( ) const
inlineoverridevirtual
Returns
A pointer to the resource data.

Implements FResourceArrayUploadInterface.

◆ GetResourceDataSize()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
virtual uint32 TResourceArray< ElementType, Alignment >::GetResourceDataSize ( ) const
inlineoverridevirtual
Returns
size of resource data allocation

Implements FResourceArrayUploadInterface.

◆ IsStatic()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
virtual bool TResourceArray< ElementType, Alignment >::IsStatic ( ) const
inlineoverridevirtual
Returns
true if the resource array is static and shouldn't be modified

Implements FResourceArrayInterface.

◆ operator=() [1/3]

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
TResourceArray & TResourceArray< ElementType, Alignment >::operator= ( const Super Other)
inline

◆ operator=() [2/3]

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
TResourceArray & TResourceArray< ElementType, Alignment >::operator= ( const TResourceArray< ElementType, Alignment > &  )
default

◆ operator=() [3/3]

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
TResourceArray & TResourceArray< ElementType, Alignment >::operator= ( TResourceArray< ElementType, Alignment > &&  )
default

◆ SetAllowCPUAccess()

template<typename ElementType , uint32 Alignment = DEFAULT_ALIGNMENT>
virtual void TResourceArray< ElementType, Alignment >::SetAllowCPUAccess ( bool  bInNeedsCPUAccess)
inlineoverridevirtual

Sets whether the resource array will be accessed by CPU.

Implements FResourceArrayInterface.


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