Navigation
API > API/Runtime > API/Runtime/InterchangeCore
This class is a Key/Value storage inside a TArray64
The storage is multi-thread safe. It uses a mutex to lock the storage for every read/write operation. The hash of the storage is deterministic because it sorts the attributes before calculating the hash.
| Name | FAttributeStorage |
| Type | class |
| Header File | /Engine/Source/Runtime/Interchange/Core/Public/Types/AttributeStorage.h |
| Include Path | #include "Types/AttributeStorage.h" |
Syntax
class FAttributeStorage
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FAttributeStorage
(
const FAttributeStorage& Other |
Types/AttributeStorage.h | ||
| Types/AttributeStorage.h |
Classes
| Name | Remarks |
|---|---|
| TAttributeHandle |
Structs
| Name | Remarks |
|---|---|
| FAttributeAllocationInfo | Structure used to hold the attribute information stored in the attribute allocation table. |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool ContainAttribute
(
const FAttributeKey& ElementAttributeKey |
Return true if the attribute key points to an existing attribute in the storage. | Types/AttributeStorage.h | |
EAttributeStorageResult GetAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect TEnumAsByte instantiations to underlying type. | Types/AttributeStorage.h | |
EAttributeStorageResult GetAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect TArray |
Types/AttributeStorage.h | |
EAttributeStorageResult GetAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect TArray |
Types/AttributeStorage.h | |
EAttributeStorageResult GetAttribute
(
const FAttributeKey& ElementAttributeKey, |
Retrieve a copy of an attribute value. | Types/AttributeStorage.h | |
EAttributeStorageResult GetAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect enum instantiations to underlying type. | Types/AttributeStorage.h | |
TAttributeHandle< ArrayOfB > GetAttributeHandle
(
const FAttributeKey& ElementAttributeKey |
Redirect TArray |
Types/AttributeStorage.h | |
TAttributeHandle< ArrayOfE > GetAttributeHandle
(
const FAttributeKey& ElementAttributeKey |
Redirect TArray |
Types/AttributeStorage.h | |
TAttributeHandle< B > GetAttributeHandle
(
const FAttributeKey& ElementAttributeKey |
Redirect TEnumAsByte instantiations to underlying type. | Types/AttributeStorage.h | |
TAttributeHandle< E > GetAttributeHandle
(
const FAttributeKey& ElementAttributeKey |
Redirect enum instantiations to underlying type. | Types/AttributeStorage.h | |
TAttributeHandle< T > GetAttributeHandle
(
const FAttributeKey& ElementAttributeKey |
Return an attribute handle for the specified attribute. | Types/AttributeStorage.h | |
bool GetAttributeHash
(
const FAttributeKey& ElementAttributeKey, |
This function fills the OutGuid with the hash of the specified attribute. | Types/AttributeStorage.h | |
FGuid GetAttributeHash
(
const FAttributeKey& ElementAttributeKey |
Return an FGuid built from the FSHA1 of the specified attribute data. | Types/AttributeStorage.h | |
void GetAttributeKeys
(
TArray< FAttributeKey >& AttributeKeys |
Retrieve the array of keys that can be used to iterate and do reflection on the storage content. | Types/AttributeStorage.h | |
EAttributeTypes GetAttributeType
(
const FAttributeKey& ElementAttributeKey |
Return the attribute type if the key exists, or None if the key is missing. | Types/AttributeStorage.h | |
float GetDefragRatio() |
Types/AttributeStorage.h | ||
| Return an FGuid built from the FSHA1 of all the attribute data contained in the node. | Types/AttributeStorage.h | ||
EAttributeStorageResult RegisterAttribute
(
const FAttributeKey& ElementAttributeKey, |
Register an attribute in the storage. | Types/AttributeStorage.h | |
EAttributeStorageResult RegisterAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect enum instantiations to underlying type. | Types/AttributeStorage.h | |
EAttributeStorageResult RegisterAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect TEnumAsByte instantiations to underlying type. | Types/AttributeStorage.h | |
EAttributeStorageResult RegisterAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect TArray |
Types/AttributeStorage.h | |
EAttributeStorageResult RegisterAttribute
(
const FAttributeKey& ElementAttributeKey, |
Redirect TArray |
Types/AttributeStorage.h | |
void Reserve
(
int64 NewAttributeCount, |
Reserve the allocation table and the storage data. | Types/AttributeStorage.h | |
void SetDefragRatio
(
const float InDefragRatio |
Set the defrag ratio. See GetDefragRatio() for the defrag documentation. | Types/AttributeStorage.h | |
EAttributeStorageResult UnregisterAttribute
(
const FAttributeKey& ElementAttributeKey |
Remove an attribute from the storage. | Types/AttributeStorage.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AreAllocationInfosEqual
(
const FAttributeKey& BaseKey, |
Compare two allocation infos. Returns true if they are equal | Types/AttributeStorage.h | |
void DefragInternal() |
Defrag the storage by using memmove on the attribute store after a hole in the storage. | Types/AttributeStorage.h | |
EAttributeStorageResult GenericArrayGetAttribute
(
const FAttributeKey& ElementAttributeKey, |
Types/AttributeStorage.h | ||
const FStringView GetFStringViewAttributeFromStorage
(
const uint8* StorageData, |
Types/AttributeStorage.h | ||
EAttributeStorageResult MultiSizeSetAttribute
(
FAttributeAllocationInfo* AttributeAllocationInfo, |
Set a multisize(TArray |
Types/AttributeStorage.h | |
EAttributeStorageResult SetAttribute
(
const FAttributeKey& ElementAttributeKey, |
Set an attribute value into the storage. | Types/AttributeStorage.h | |
EAttributeStorageResult SetAttribute
(
FAttributeAllocationInfo* AttributeAllocationInfo, |
Types/AttributeStorage.h | ||
void UpdateAllocationCount() |
Types/AttributeStorage.h | ||
void UpdateAllocationInfoHash
(
FAttributeAllocationInfo& AllocationInfo |
Types/AttributeStorage.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void CompareStorage
(
const FAttributeStorage& BaseStorage, |
Compare two storage objects to know which properties were modified/added/removed. | Types/AttributeStorage.h | |
static void CopyStorageAttributes
(
const FAttributeStorage& SourceStorage, |
Copy an array of attributes from the source storage to the destination storage. | Types/AttributeStorage.h | |
static void CopyStorageAttributes
(
const FAttributeStorage& SourceStorage, |
Copy an array of attributes from the source storage to the destination storage. | Types/AttributeStorage.h | |
static uint64 GetValueSize
(
const T& Value |
Types/AttributeStorage.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FAttributeStorage & operator=
(
const FAttributeStorage& Other |
Types/AttributeStorage.h |