Navigation
API > API/Plugins > API/Plugins/PCG
Base class for accessor. GetRange and SetRange will be sepcialized for all supported types, and there are a GetRange and SetRange virtual for each supported type. For Get/Set, you need a key, that will represent how you can access the value wanted. cf PCGAttributeAccessorKeys. NOTE: This is not threadsafe and not intended to be used unprotected.
| Name | IPCGAttributeAccessor |
| Type | class |
| Header File | /Engine/Plugins/PCG/Source/PCG/Public/Metadata/Accessors/IPCGAttributeAccessor.h |
| Include Path | #include "Metadata/Accessors/IPCGAttributeAccessor.h" |
Syntax
class IPCGAttributeAccessor
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
IPCGAttributeAccessor
(
bool bInReadOnly, |
Metadata/Accessors/IPCGAttributeAccessor.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~IPCGAttributeAccessor() |
Metadata/Accessors/IPCGAttributeAccessor.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CopyTo
(
const IPCGAttributeAccessorKeys& SrcKeys, |
Partial copy an accessor into another. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool CopyTo
(
const IPCGAttributeAccessorKeys& SrcKeys, |
Copy an accessor into another. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool Get
(
T& OutValue, |
Both GetRange and SetRange will be specialized for all supported types. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool Get
(
T& OutValue, |
Get a value from the accessor for a given type at index 0. Not threadsafe for all accessors. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool GetRange
(
PCG::Private::FOutValues OutValues, |
Type erased version of GetRange. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool GetRange
(
TArrayView< T > OutValues, |
Get a range of values from the accessor for a given type. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool GetRangeVirtual
(
PCG::Private::FOutValues OutValues, |
To not be used directly, used by other accessors to chain calls. | Metadata/Accessors/IPCGAttributeAccessor.h | |
const FPCGMetadataAttributeDesc & GetUnderlyingDesc() |
Metadata/Accessors/IPCGAttributeAccessor.h | ||
int16 GetUnderlyingType() |
Since underlying type was only working for Single Values (and not arrays or other containers), make sure we never return a valid value if this is not a single value. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool IsReadOnly() |
Metadata/Accessors/IPCGAttributeAccessor.h | ||
bool Set
(
const T& InValue, |
Set a value to the accessor for a given type at index 0. Not threadsafe for all accessors. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool Set
(
const T& InValue, |
Set a value to the accessor for a given type. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool SetRange
(
TArrayView< const T > InValues, |
Set a range of values to the accessor for a given type. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool SetRange
(
PCG::Private::FInValues InValues, |
Type erased version of SetRange. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool SetRangeVirtual
(
PCG::Private::FInValues InValues, |
Metadata/Accessors/IPCGAttributeAccessor.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool IsAttribute() |
To know if we can do default value operations. | Metadata/Accessors/IPCGAttributeAccessor.h | |
virtual void Prepare
(
IPCGAttributeAccessorKeys& Keys, |
Metadata/Accessors/IPCGAttributeAccessor.h | ||
virtual bool SupportsGet
(
const PCG::Private::FOutValues& OutValues |
To be overridden by child classes to know if we can process the Out/InValues By default, it is if the underlying desc matches, but if we support more (like pointers), it needs to be explicitly set. | Metadata/Accessors/IPCGAttributeAccessor.h | |
virtual bool SupportsSet
(
const PCG::Private::FInValues& InValues |
Metadata/Accessors/IPCGAttributeAccessor.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool GetRange_Internal
(
TArrayView< PCG::TPCGArrayAccessorWrapper< T > > OutValues, |
Array version. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool GetRange_Internal
(
PCG::Private::FOutValues OutValues, |
Metadata/Accessors/IPCGAttributeAccessor.h | ||
bool GetRange_Internal
(
TArrayView< PCG::TScriptMapWrapper< KeyType, ValueType > > OutValues, |
Maps version. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool GetRange_Internal
(
TArrayView< PCG::TScriptSetWrapper< T > > OutValues, |
Sets version. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool GetRange_Internal
(
TArrayView< T > OutValues, |
Metadata/Accessors/IPCGAttributeAccessor.h | ||
bool GetRange_Internal
(
TArrayView< const T* > OutValues, |
Pointer version. | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool SetRange_Internal
(
TArrayView< const T > InValues, |
Metadata/Accessors/IPCGAttributeAccessor.h | ||
bool SetRange_Internal
(
TConstArrayView< ArrayContainer > InValues, |
Version that accept anything that is array like, like [TArray](API\Runtime\Core\TArray)<T>_, TArrayView[TStaticArray](API\Runtime\Core\TStaticArray)<T, 5>_, TArray |
Metadata/Accessors/IPCGAttributeAccessor.h | |
bool SetRange_Internal
(
TConstArrayView< TSet< T, Extra... > > InValues, |
Version that accepts Sets | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool SetRange_Internal
(
TConstArrayView< TMap< KeyType, ValueType, Extra... > > InValues, |
Version that accepts Maps | Metadata/Accessors/IPCGAttributeAccessor.h | |
bool SetRange_Internal
(
PCG::Private::FInValues InValues, |
Metadata/Accessors/IPCGAttributeAccessor.h |