![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <UnrealType.h>
Inheritance diagram for FProperty:Public Attributes | ||
| EPropertyFlags | PropertyFlags | |
| uint16 | RepIndex | |
| FProperty * | PropertyLinkNext = nullptr | |
| union { | ||
| FProperty * NextRef = nullptr | ||
| }; | ||
| union { | ||
| FProperty * DestructorLinkNext = nullptr | ||
| }; | ||
| FProperty * | PostConstructLinkNext = nullptr | |
| FName | RepNotifyFunc | |
| virtual FString | GetCPPType (FString *ExtendedTypeText=NULL, uint32 CPPExportFlags=0) const PURE_VIRTUAL(FProperty | |
| virtual bool | Identical (const void *A, const void *B, uint32 PortFlags=0) const PURE_VIRTUAL(FProperty | |
| virtual void SerializeItem(FStructuredArchive::FSlot Slot, void *Value, void const *Defaults=NULL) const PURE_VIRTUAL(FProperty virtual COREUOBJECT_API boo | NetSerializeItem )(FArchive &Ar, UPackageMap *Map, void *Data, TArray< uint8 > *MetaData=NULL) const | |
Public Attributes inherited from FField | ||
| FFieldVariant | Owner | |
| FField * | Next | |
| FName | NamePrivate | |
| EObjectFlags | FlagsPrivate | |
Protected Member Functions | |
| COREUOBJECT_API void | SetOffset_Internal (int32 NewOffset) |
| COREUOBJECT_API void | Init () |
| virtual COREUOBJECT_API void | LinkInternal (FArchive &Ar) |
| void * | PointerToValuePtr (void const *ContainerOrPropertyPtr, EPropertyPointerType PropertyPointerType, int32 ArrayIndex=0) const |
| virtual COREUOBJECT_API void | CopyValuesInternal (void *Dest, void const *Src, int32 Count) const |
| virtual COREUOBJECT_API uint32 | GetValueTypeHashInternal (const void *Src) const |
| virtual COREUOBJECT_API void | ClearValueInternal (void *Data) const |
| virtual COREUOBJECT_API void | DestroyValueInternal (void *Dest) const |
| virtual COREUOBJECT_API bool | ContainsClearOnFinishDestroyInternal (TArray< const FStructProperty * > &EncounteredStructProps) const |
| virtual COREUOBJECT_API void | FinishDestroyInternal (void *Data) const |
| virtual COREUOBJECT_API void | InitializeValueInternal (void *Dest) const |
Protected Member Functions inherited from FField | |
| void | SetFlagsTo (EObjectFlags NewFlags) |
Protected Attributes | |
| virtual void virtual ExportText_Internal(FString &ValueStr, const void *PropertyValueOrContainer, EPropertyPointerType PointerType, const void *DefaultValue, UObject *Parent, int32 PortFlags, UObject *ExportRootScope=nullptr) const PURE_VIRTUAL(FProperty const TCHAR | ImportText_Internal )(const TCHAR *Buffer, void *ContainerOrPropertyPtr, EPropertyPointerType PointerType, UObject *OwnerObject, int32 PortFlags, FOutputDevice *ErrorText) const PURE_VIRTUAL(FProperty |
Friends | |
| class | FMapProperty |
| class | UEProperty_Private::FProperty_DoNotUse |
| const TCHAR * | UE::CoreUObject::Private::ImportEnumFromBuffer (UEnum *Enum, const FProperty *PropertyToSet, const FNumericProperty *UnderlyingProp, const TCHAR *PropertyClassName, const TCHAR *Buffer, void *ContainerOrPropertyPtr, EPropertyPointerType PropertyPointerType, FOutputDevice *ErrorText) |
| void | UE::CoreUObject::Private::ExportEnumToBuffer (const UEnum *Enum, const FProperty *Prop, const FNumericProperty *NumericProp, FString &ValueStr, const void *PropertyValueOrContainer, EPropertyPointerType PropertyPointerType, const void *DefaultValue, UObject *Parent, int32 PortFlags, UObject *ExportRootScope) |
Additional Inherited Members | |
Public Types inherited from FField | |
| typedef FField | Super |
| typedef FField | ThisClass |
| typedef FField | BaseFieldClass |
| typedef FFieldClass | FieldTypeClass |
| using | FLinkedListBuilder = TLinkedListBuilder< FField > |
| FProperty::FProperty | ( | FFieldVariant | InOwner, |
| const FName & | InName, | ||
| EObjectFlags | InObjectFlags | ||
| ) |
| FProperty::FProperty | ( | FFieldVariant | InOwner, |
| const UECodeGen_Private::FPropertyParamsBaseWithOffset & | Prop, | ||
| EPropertyFlags | AdditionalPropertyFlags = CPF_None |
||
| ) |
Constructor used for constructing compiled-in properties
| InOwner | Owner of the property |
| PropBase | Pointer to the compiled in structure describing the property |
| FProperty::FProperty | ( | FFieldVariant | InOwner, |
| const UECodeGen_Private::FPropertyParamsBaseWithoutOffset & | Prop, | ||
| EPropertyFlags | AdditionalPropertyFlags = CPF_None |
||
| ) |
Constructor used for constructing compiled-in properties
| InOwner | Owner of the property |
| PropBase | Pointer to the compiled in structure describing the property |
| void * FProperty::AllocateAndInitializeValue | ( | ) | const |
Allocates and initializes memory to hold a value this property represents
Calls the native getter function for this property
| Container | Pointer to the owner of this property (either UObject or struct) |
| OutValue | Pointer to the value where the existing property value will be copied to |
Calls the native setter function for this property
| Container | Pointer to the owner of this property (either UObject or struct) |
| InValue | Pointer to the new value |
|
virtual |
Returns true if the type of this property matches the type name.
Reimplemented in FEnumProperty, FOptionalProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
Set the value to it's special unset state. Equivalent to TOptional<T>::Reset. Only valid to call if HasIntrusiveUnsetOptionalState returns true.
| Data | Address of the alue, already offset. |
Reimplemented in TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
inline |
Zeros the value for this property. The existing data is assumed valid (so for example this calls FString::Empty) This only does one item and not the entire fixed size array.
| Data | the address of the value for this property that should be cleared. |
Zeros the value for this property. The existing data is assumed valid (so for example this calls FString::Empty) This only does one item and not the entire fixed size array.
| Data | the address of the container of the value for this property that should be cleared. |
Reimplemented in FOptionalProperty, TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FBoolProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
inline |
Get the pointer to property value in a supplied 'container'. You can only call this function on a UObject* or a uint8*. If the property you want is a 'top level' UObject property, you must call the function passing in a UObject* and not a uint8*. There are checks inside the function to vertify this.
| ContainerPtr | UObject* or uint8* to container of property value |
| ArrayIndex | In array case, index of array element we want |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protectedvirtual |
Reimplemented in FOptionalProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
inline |
Returns true if the property or any of the child properties should be cleared on FinishDestroy.
|
inline |
Returns true if this property, or in the case of e.g. array or struct properties any sub- property, contains a UObject reference that is marked CPF_NeedCtorLink (i.e. instanced keyword).
|
virtual |
Returns true if this property, or in the case of e.g. array or struct properties any sub- property, contains a UObject reference.
| EncounteredStructProps | used to check for recursion in arrays |
| InReferenceType | type of object reference (strong / weak) |
Returns true if this property, or in the case of e.g. array or struct properties any sub- property, contains a UObject reference.
Reimplemented in FFieldPathProperty, FOptionalProperty, TFObjectPropertyBase< InTCppType >, FInterfaceProperty, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, FDelegateProperty, FMulticastDelegateProperty, and FVerseDynamicProperty.
|
inline |
|
virtual |
Allows a property to implement backwards compatibility handling for tagged properties
| Tag | property tag of the loading data |
| Ar | the archive the data is being loaded from |
| Data | a pointer to the container to write the loaded data to |
| DefaultsStruct | |
| Defaults | if available, a pointer to the container containing the default value for this property, or null |
Reimplemented in FEnumProperty, FFieldPathProperty, FOptionalProperty, FTextProperty, FBoolProperty, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, and FMulticastDelegateProperty.
Copy the value for all elements of this property.
| Dest | the address where the value should be copied to. This should always correspond to the BASE + OFFSET, where BASE = (for member properties) the address of the UObject which contains this data, (for locals/parameters) the address of the space allocated for the function's locals OFFSET = the Offset of this FProperty |
| Src | the address of the value to copy from. should be evaluated the same way as Dest |
| InstancingParams | contains information about instancing (if any) to perform |
|
inline |
Copy the value for all elements of this property. From the script VM.
| Dest | the address where the value should be copied to. This should always correspond to the BASE + OFFSET, where BASE = (for member properties) the address of the UObject which contains this data, (for locals/parameters) the address of the space allocated for the function's locals OFFSET = the Offset of this FProperty |
| Src | the address of the value to copy from. should be evaluated the same way as Dest |
|
virtual |
Copy the value for all elements of this property. To the script VM.
| Dest | the address where the value should be copied to. This should always correspond to the BASE + OFFSET, where BASE = (for member properties) the address of the UObject which contains this data, (for locals/parameters) the address of the space allocated for the function's locals OFFSET = the Offset of this FProperty |
| Src | the address of the value to copy from. should be evaluated the same way as Dest |
|
virtual |
Equivalent to the above functions, but using the container and aware of getters/setters when the container has them.
Copy the value for a single element of this property.
| Dest | the address where the value should be copied to. This should always correspond to the BASE + OFFSET + INDEX * SIZE, where BASE = (for member properties) the address of the UObject which contains this data, (for locals/parameters) the address of the space allocated for the function's locals OFFSET = the Offset of this FProperty INDEX = the index that you want to copy. for properties which are not arrays, this should always be 0 SIZE = the ElementSize of this FProperty |
| Src | the address of the value to copy from. should be evaluated the same way as Dest |
| InstancingParams | contains information about instancing (if any) to perform |
Copy the value for a single element of this property. From the script VM.
| Dest | the address where the value should be copied to. This should always correspond to the BASE + OFFSET + INDEX * SIZE, where BASE = (for member properties) the address of the UObject which contains this data, (for locals/parameters) the address of the space allocated for the function's locals OFFSET = the Offset of this FProperty INDEX = the index that you want to copy. for properties which are not arrays, this should always be 0 SIZE = the ElementSize of this FProperty |
| Src | the address of the value to copy from. should be evaluated the same way as Dest |
Copy the value for a single element of this property. To the script VM.
| Dest | the address where the value should be copied to. This should always correspond to the BASE + OFFSET + INDEX * SIZE, where BASE = (for member properties) the address of the UObject which contains this data, (for locals/parameters) the address of the space allocated for the function's locals OFFSET = the Offset of this FProperty INDEX = the index that you want to copy. for properties which are not arrays, this should always be 0 SIZE = the ElementSize of this FProperty |
| Src | the address of the value to copy from. should be evaluated the same way as Dest |
|
protectedvirtual |
Reimplemented in FOptionalProperty, TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FBoolProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
Destroys and frees memory with a value this property represents
Destroys the value for this property. The existing data is assumed valid (so for example this calls FString::Empty) This does the entire fixed size array.
| Dest | the address of the value for this property that should be destroyed. |
Destroys the value for this property. The existing data is assumed valid (so for example this calls FString::Empty) This does the entire fixed size array.
| Dest | the address of the container containing the value that should be destroyed. |
Reimplemented in FOptionalProperty, TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
virtual |
For properties returning true from HasIntrusiveUnsetOptionalState which also contain object references, emit information for the garbage collector to safely gather the references from the value whether the optional value is set or unset.
Reimplemented in FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
virtual |
Emits tokens used by realtime garbage collection code to passed in ReferenceTokenStream. The offset emitted is relative to the passed in BaseOffset which is used by e.g. arrays of structs.
Reimplemented in FFieldPathProperty, FOptionalProperty, FInterfaceProperty, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, and FVerseDynamicProperty.
| bool FProperty::ExportText_Direct | ( | FString & | ValueStr, |
| const void * | Data, | ||
| const void * | Delta, | ||
| UObject * | Parent, | ||
| int32 | PortFlags, | ||
| UObject * | ExportRootScope = nullptr |
||
| ) | const |
|
inline |
|
inline |
|
inline |
Gets a redirected property name, will return NAME_None if no redirection was found
Applies appropriate finish destroy actions for the property if needed. This is used during UObject destruction to e.g. safely clear values which rely on UScriptStructs. This does the entire fixed size array.
| Data | the address of the value for this property that should be handled for finish destroy. |
Applies appropriate finish destroy actions for the property if needed. This is used during UObject destruction to e.g. safely clear values which rely on UScriptStructs. This does the entire fixed size array.
| Data | the address of the container containing the value that should be handled for finish destroy. |
Reimplemented in FOptionalProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
inline |
|
virtual |
Reimplemented in FEnumProperty, FFieldPathProperty, FOptionalProperty, FBoolProperty, FInterfaceProperty, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, and FVerseDynamicProperty.
|
inline |
|
virtual |
Reimplemented in FObjectPropertyBase.
|
virtual |
Reimplemented in FEnumProperty, FOptionalProperty, TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FBoolProperty, FArrayProperty, and FStructProperty.
| FString FProperty::GetNameCPP | ( | ) | const |
Returns the C++ name of the property, including the _DEPRECATED suffix if the property is deprecated.
|
inline |
Return offset of property from container base.
|
inline |
Return offset of property from container base.
|
inline |
Return offset of property from container base.
|
inline |
Return offset of property from container base.
|
inline |
Return offset of property from container base.
|
inline |
|
inline |
|
inline |
Returns this property's propertyflags
|
inline |
Returns the replication owner, which is the property itself, or NULL if this isn't important for replication. It is relevant if the property is a net relevant and not being run in the editor
| void FProperty::GetSingleValue_InContainer | ( | const void * | InContainer, |
| void * | OutValue, | ||
| int32 | ArrayIndex | ||
| ) | const |
Copies a single value to OutValue even if the property represents a static array of values
| InContainer | Instance owner of the property |
| OutValue | Pointer to the memory that the value will be copied to. Must be at least ElementSize big |
| ArrayIndex | Index into the static array to copy the value from. If the property is not a static array it should be 0 |
|
inline |
|
virtual |
Gets value address at given index inside of a static array or container
| InValueAddress | address of the value represented by this property |
| Index | into the static array or container |
Reimplemented in FArrayProperty, FMapProperty, and FSetProperty.
Returns the hash value for an element of this property.
Reimplemented in FFieldPathProperty, FOptionalProperty, FBoolProperty, and FVerseDynamicProperty.
|
inline |
Used to safely check whether all of the passed in flags are set.
| FlagsToCheck | Object flags to check for |
|
inline |
Used to safely check whether any of the passed in flags are set.
| FlagsToCheck | Object flags to check for. |
Checks if this property as a native getter function
Checks if this property as a native setter function
Checks if this property as a native setter or getter function
|
inline |
Determines whether the property values are identical.
| A | property container of data to be compared, NOT offset |
| B | property container of data to be compared, NOT offset |
| PortFlags | allows caller more control over how the property values are compared |
|
static |
parses and imports a text definition of a single property's value (if array, may be an individual element) also includes parsing of special operations for array properties (Add/Remove/RemoveIndex/Empty)
| Str | the string to parse |
| DestData | base location the parsed property should place its data (DestData + ParsedProperty->Offset) |
| ObjectStruct | the struct containing the valid fields |
| SubobjectOuter | owner of DestData and any subobjects within it |
| PortFlags | property import flags |
| Warn | output device for any error messages |
| DefinedProperties | (out) list of properties/indices that have been parsed by previous calls, so duplicate definitions cause an error |
|
inline |
Import a text value
| Buffer | Text representing the property value |
| PropertyPtr | Pointer to property value |
| OwnerObject | Object that owns the property |
| PortFlags | Flags controlling the behavior when importing the value |
| ErrorText | Output device for throwing warnings or errors on import |
|
inline |
Import a text value
| Buffer | Text representing the property value |
| Container | Pointer to the container that owns this property (either UObject pointer or a struct pointer) |
| OwnerObject | Object that owns the property container (if the container is an UObject then Container is also OwnerObject) |
| PortFlags | Flags controlling the behavior when importing the value |
| ErrorText | Output device for throwing warnings or errors on import |
|
protected |
Initializes internal state.
Returns whether this type has a special state for an unset TOptional meaning the size TOptional<T> and T are the same.
Properties must implement this function explicitly even if they do not have such a state.
Reimplemented in TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
Zeros, copies from the default, or calls the constructor for on the value for this property. The existing data is assumed invalid (so for example this might indirectly call FString::FString, This will do the entire fixed size array.
| Dest | the address of the value for this property that should be cleared. |
Zeros, copies from the default, or calls the constructor for on the value for this property. The existing data is assumed invalid (so for example this might indirectly call FString::FString, This will do the entire fixed size array.
| Dest | the address of the container of value for this property that should be cleared. |
Reimplemented in FOptionalProperty, TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FBoolProperty, FArrayProperty, FMapProperty, and FStructProperty.
|
virtual |
Creates new copies of components
| Data | pointer to the address of the instanced object referenced by this UComponentProperty |
| DefaultData | pointer to the address of the default value of the instanced object referenced by this UComponentProperty |
| Owner | the object that contains this property's data |
| InstanceGraph | contains the mappings of instanced objects and components to their templates |
Reimplemented in FOptionalProperty, FObjectPropertyBase, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, FDelegateProperty, FMulticastDelegateProperty, and FVerseDynamicProperty.
|
inline |
Editor-only properties are those that only are used with the editor is present or cannot be removed from serialisation. Editor-only properties include: EditorOnly properties Properties that cannot be removed from serialisation are: Boolean properties (may affect GCC_BITFIELD_MAGIC computation) Native properties (native serialisation)
|
inline |
See if the offset of this property is below the supplied container size
|
inline |
See if the offset of this property is below the supplied container size
Returns whether an optional value of this inner type is unset. Only valid to call if HasIntrusiveUnsetOptionalState returns true. Equivalent to TOptional<T>::IsSet()
| Data | Address of value to inspect, already offset. |
Reimplemented in TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
Reimplemented in FEnumProperty, FOptionalProperty, TProperty< double, FNumericProperty >, TProperty< FFieldPath, FProperty >, TProperty< FLazyObjectPtr, FObjectPropertyBase >, TProperty< float, FNumericProperty >, TProperty< FMulticastScriptDelegate, FMulticastDelegateProperty >, TProperty< FName, FProperty >, TProperty< FScriptArray, FProperty >, TProperty< FScriptDelegate, FProperty >, TProperty< FScriptInterface, FProperty >, TProperty< FScriptMap, FProperty >, TProperty< FScriptSet, FProperty >, TProperty< FSoftObjectPtr, FObjectPropertyBase >, TProperty< FSparseDelegate, FMulticastDelegateProperty >, TProperty< FText, FProperty >, TProperty< FWeakObjectPtr, FObjectPropertyBase >, TProperty< int16, FNumericProperty >, TProperty< int32, FNumericProperty >, TProperty< int64, FNumericProperty >, TProperty< int8, FNumericProperty >, TProperty< InTCppType, FMulticastDelegateProperty >, TProperty< InTCppType, FNumericProperty >, TProperty< InTCppType, FObjectPropertyBase >, TProperty< TObjectPtr< UObject >, FObjectPropertyBase >, TProperty< UE::FDynamicallyTypedValue, FProperty >, TProperty< UE_STRPROPERTY_STRINGTYPE, FProperty >, TProperty< uint16, FNumericProperty >, TProperty< uint32, FNumericProperty >, TProperty< uint64, FNumericProperty >, TProperty< uint8, FNumericProperty >, FBoolProperty, FInterfaceProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
virtual |
Restores this property and its owned properties from the type name.
Reimplemented in FEnumProperty, FOptionalProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
| void FProperty::PerformOperationWithGetter | ( | void * | OutContainer, |
| const void * | DirectPropertyAddress, | ||
| TFunctionRef< void(const void *)> | DirectValueAccessFunc | ||
| ) | const |
Helper function for getting container / struct property value and performing operation directly on the value memory
| OutContainer | Pointer to the container that owns the property. Can be null but then setters and getters will not be used. |
| DirectPropertyAddress | Direct property value address. Can be null only if OutContainer is a valid pointer. |
| DirectValueAccessFunc | Function that manipulates directly on property value address. The value address can be different than the passed in DirectPropertyAddress if setters and getters are present and OutContainer pointer is valid. |
| void FProperty::PerformOperationWithSetter | ( | void * | OutContainer, |
| void * | DirectPropertyAddress, | ||
| TFunctionRef< void(void *)> | DirectValueAccessFunc | ||
| ) | const |
Helper function for setting container / struct property value and performing operation directly on the value memory
| OutContainer | Pointer to the container that owns the property. Can be null but then setters and getters will not be used. |
| DirectPropertyAddress | Direct property value address. Can be null only if OutContainer is a valid pointer. |
| DirectValueAccessFunc | Function that manipulates directly on property value address. The value address can be different than the passed in DirectPropertyAddress if setters and getters are present and OutContainer pointer is valid. |
|
inlineprotected |
Fixups after duplicating a Field
Reimplemented from FField.
Reimplemented in FEnumProperty, FOptionalProperty, FBoolProperty, FObjectPropertyBase, FInterfaceProperty, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, FDelegateProperty, and FMulticastDelegateProperty.
|
virtual |
Attempt to resolve the given inner path info against this outer property to get the inner property value.
Reimplemented in FOptionalProperty, FObjectPropertyBase, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
returns true, if Other is property of exactly the same type
Reimplemented in FEnumProperty, FOptionalProperty, FObjectPropertyBase, FInterfaceProperty, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, FDelegateProperty, and FMulticastDelegateProperty.
|
virtual |
Saves the type name of this property and its owned properties.
Reimplemented in FEnumProperty, FOptionalProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
Reimplemented from FField.
Reimplemented in FEnumProperty, FFieldPathProperty, FOptionalProperty, FBoolProperty, FObjectPropertyBase, FInterfaceProperty, FArrayProperty, FMapProperty, FSetProperty, FStructProperty, FDelegateProperty, and FMulticastDelegateProperty.
|
inline |
Serializes the property with the struct's data residing in Data.
| Ar | the archive to use for serialization |
| Data | pointer to the location of the beginning of the struct's property data |
| ArrayIdx | if not -1 (default), only this array slot will be serialized |
|
inline |
Serializes the property with the struct's data residing in Data, unless it matches the default
| Ar | the archive to use for serialization |
| Data | pointer to the location of the beginning of the struct's property data |
| DefaultData | pointer to the location of the beginning of the data that should be compared against |
| DefaultStruct | struct corresponding to the block of memory located at DefaultData |
|
inline |
Set the alignment offset for this property - added for FMapProperty
|
inline |
| void FProperty::SetSingleValue_InContainer | ( | void * | OutContainer, |
| const void * | InValue, | ||
| int32 | ArrayIndex | ||
| ) | const |
Copies a single value to the property even if the property represents a static array of values
| OutContainer | Instance owner of the property |
| InValue | Pointer to the memory that the value will be copied from. Must be at least ElementSize big |
| ArrayIndex | Index into the static array to copy the value from. If the property is not a static array it should be 0 |
|
inline |
Determines whether this property value is eligible for copying when duplicating an object
|
virtual |
Reimplemented in FFieldPathProperty, FOptionalProperty, FObjectPropertyBase, FInterfaceProperty, and FStructProperty.
Reimplemented in FOptionalProperty, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
| bool FProperty::ValidateImportFlags | ( | uint32 | PortFlags, |
| FOutputDevice * | ErrorHandler = NULL |
||
| ) | const |
Verify that modifying this property's value via ImportText is allowed.
| PortFlags | the flags specified in the call to ImportText |
| ErrorText | [out] set to the error message that should be displayed if returns false |
Verify that modifying this property's value via ImportText is allowed.
| PortFlags | the flags specified in the call to ImportText |
| PRAGMA_ENABLE_DEPRECATION_WARNINGS EPropertyVisitorControlFlow FProperty::Visit | ( | const FPropertyVisitorData & | Data, |
| const TFunctionRef< EPropertyVisitorControlFlow(const FPropertyVisitorContext &)> | InFunc | ||
| ) | const |
Visits this property and allows recursion into the inner properties This method allows callers to visit inner properties without knowing about its container type as opposed to TPropertyIterator. This visit property pattern facilitates the recursion into user defined properties and allows users to add specific visit logic on UStruct via traits.
| Data | to the property to visit |
| InFunc | to call on each visited property, the return value controls what is the next behavior once this property has been visited |
| PRAGMA_DISABLE_DEPRECATION_WARNINGS EPropertyVisitorControlFlow FProperty::Visit | ( | const FPropertyVisitorData & | Data, |
| const TFunctionRef< EPropertyVisitorControlFlow(const FPropertyVisitorPath &, const FPropertyVisitorData &)> | InFunc | ||
| ) | const |
|
virtual |
Visits this property and allows recursion into the inner properties This method allows callers to visit inner properties without knowing about its container type as opposed to TPropertyIterator. This visit property pattern facilitates the recursion into user defined properties and allows users to add specific visit logic on UStruct via traits.
| Context | which containes the path that was computed until we reached this property and the sata to the property to visit |
| InFunc | to call on each visited property, the return value controls what is the next behavior once this property has been visited |
Reimplemented in FOptionalProperty, FObjectPropertyBase, FArrayProperty, FMapProperty, FSetProperty, and FStructProperty.
|
friend |
|
friend |
|
friend |
|
friend |
| union { ... } FProperty |
| union { ... } FProperty |
| FProperty* FProperty::DestructorLinkNext = nullptr |
In memory only: Linked list of properties requiring destruction. Note this does not include things that will be destroyed by the native destructor
| virtual FString FProperty::GetCPPType(FString *ExtendedTypeText=NULL, uint32 CPPExportFlags=0) const PURE_VIRTUAL(FProperty |
Returns the text to use for exporting this property to header file.
| ExtendedTypeText | for property types which use templates, will be filled in with the type |
| CPPExportFlags | flags for modifying the behavior of the export |
| virtual bool FProperty::Identical(const void *A, const void *B, uint32 PortFlags=0) const PURE_VIRTUAL(FProperty |
Determines whether the property values are identical.
| A | property data to be compared, already offset |
| B | property data to be compared, already offset |
| PortFlags | allows caller more control over how the property values are compared |
|
protected |
| bool FProperty::NetSerializeItem |
| FProperty* FProperty::NextRef = nullptr |
In memory only: Linked list of object reference properties from most-derived to base
| FProperty* FProperty::PostConstructLinkNext = nullptr |
In memory only: Linked list of properties requiring post constructor initialization.
| EPropertyFlags FProperty::PropertyFlags |
| FProperty* FProperty::PropertyLinkNext = nullptr |
In memory only: Linked list of properties from most-derived to base
| uint16 FProperty::RepIndex |
| FName FProperty::RepNotifyFunc |