29 , ConstAttributeArray(AttributeArray)
38 , AttributeArray(nullptr)
51 bool IsConst()
const {
return Collection ==
nullptr; }
53 bool IsValid()
const {
return ConstAttributeArray !=
nullptr; }
97 return (*ConstAttributeArray)[
Index];
104 return *ConstAttributeArray;
110 return ConstAttributeArray;
118 return *AttributeArray;
126 (*AttributeArray)[
Index] = NewValue;
152 ConstAttributeArray = AttributeArray = &Collection->
AddAttribute<T>(Name, Group, Params);
153 return *AttributeArray;
186 ConstAttributeArray = AttributeArray;
193 ConstAttributeArray = AttributeArray =
nullptr;
198 return ConstAttributeArray
199 ? ConstAttributeArray->
Num()
211 const FName DefaultGroupDependency;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FORCEINLINE_DEBUGGABLE void MarkDirty()
Definition ManagedArray.h:220
Definition NameTypes.h:617
FORCEINLINE int32 Num() const override
Definition ManagedArray.h:519
void Fill(const ElementType &Value)
Definition ManagedArray.h:428
Definition ManagedArray.h:1099
Definition ManagedArrayAccessor.h:6
EPersistencePolicy
Definition ManagedArrayAccessor.h:8
@ KeepExistingPersistence
U16 Index
Definition radfft.cpp:71
Definition ManagedArrayCollection.h:78
Definition ManagedArrayCollection.h:56
CHAOS_API bool HasAttribute(FName Name, FName Group) const
Definition ManagedArrayCollection.cpp:171
CHAOS_API void AddGroup(FName Group)
Definition ManagedArrayCollection.cpp:64
CHAOS_API int32 NumElements(FName Group) const
Definition ManagedArrayCollection.cpp:236
CHAOS_API FName GetDependency(FName Name, FName Group) const
Definition ManagedArrayCollection.cpp:509
CHAOS_API int32 AddElements(int32 NumberElements, FName Group)
Definition ManagedArrayCollection.cpp:246
TManagedArray< T > * FindAttributeTyped(FName Name, FName Group)
Definition ManagedArrayCollection.h:321
CHAOS_API void RemoveAttribute(FName Name, FName Group)
Definition ManagedArrayCollection.cpp:385
CHAOS_API void CopyAttribute(const FManagedArrayCollection &InCollection, FName Name, FName Group)
Definition ManagedArrayCollection.cpp:621
virtual CHAOS_API void RemoveElements(const FName &Group, const TArray< int32 > &SortedDeletionList, FProcessingParameters Params=FProcessingParameters())
Definition ManagedArrayCollection.cpp:86
TManagedArray< T > & AddAttribute(FName Name, FName Group, FConstructionParameters Parameters=FConstructionParameters())
Definition ManagedArrayCollection.h:139
FORCEINLINE bool HasGroup(FName Group) const
Definition ManagedArrayCollection.h:463
CHAOS_API bool IsAttributePersistent(FName Name, FName Group) const
Definition ManagedArrayCollection.cpp:214
Definition ManagedArrayAccessor.h:20
void Fill(const T &Value)
Definition ManagedArrayAccessor.h:170
bool IsConst() const
Definition ManagedArrayAccessor.h:51
TManagedArray< T > & Add(ManageArrayAccessor::EPersistencePolicy PersistencePolicy=ManageArrayAccessor::EPersistencePolicy::MakePersistent, FName InGroupDependency=FName(NAME_None))
Definition ManagedArrayAccessor.h:130
TManagedArrayAccessor(const FManagedArrayCollection &InCollection, const FName &InAttributeName, const FName &InAttributeGroup, const FName &InDefaultGroupDependency=NAME_None)
Definition ManagedArrayAccessor.h:32
const T & operator[](int32 Index) const
Definition ManagedArrayAccessor.h:94
FName GetGroup() const
Definition ManagedArrayAccessor.h:47
bool IsValidIndex(int32 Index) const
Definition ManagedArrayAccessor.h:57
TManagedArray< T > & Modify()
Definition ManagedArrayAccessor.h:114
const FManagedArrayCollection & GetConstCollection() const
Definition ManagedArrayAccessor.h:42
int32 AddElements(int32 NumElements) const
Definition ManagedArrayAccessor.h:63
FName GetGroupDependency() const
Definition ManagedArrayAccessor.h:49
FManagedArrayCollection * GetCollection()
Definition ManagedArrayAccessor.h:43
bool IsValid() const
Definition ManagedArrayAccessor.h:53
void AddAndFill(const T &Value, ManageArrayAccessor::EPersistencePolicy PersistencePolicy=ManageArrayAccessor::EPersistencePolicy::MakePersistent, FName InGroupDependency=FName(NAME_None))
Definition ManagedArrayAccessor.h:157
void Copy(const TManagedArrayAccessor< T > &FromAttribute)
Definition ManagedArrayAccessor.h:180
bool IsPersistent() const
Definition ManagedArrayAccessor.h:55
void Remove()
Definition ManagedArrayAccessor.h:189
void RemoveElements(int32 NumElements, int32 Position)
Definition ManagedArrayAccessor.h:69
int32 Num() const
Definition ManagedArrayAccessor.h:196
TManagedArrayAccessor(FManagedArrayCollection &InCollection, const FName &InAttributeName, const FName &InAttributeGroup, const FName &InDefaultGroupDependency=NAME_None)
Definition ManagedArrayAccessor.h:22
void SetNumElements(int32 InNumElements)
Definition ManagedArrayAccessor.h:75
void ModifyAt(int32 Index, const T &NewValue)
Definition ManagedArrayAccessor.h:122
FName GetName() const
Definition ManagedArrayAccessor.h:45
const TManagedArray< T > & Get() const
Definition ManagedArrayAccessor.h:101
const TManagedArray< T > * Find() const
Definition ManagedArrayAccessor.h:108