Navigation
API > API/Runtime > API/Runtime/CoreUObject > API/Runtime/CoreUObject/UObject
Inheritance Hierarchy
- FField
- FProperty
- FBoolProperty
- FEnumProperty
- FMulticastDelegateProperty
- FNumericProperty
- FObjectPropertyBase
- FOptionalProperty
- FStructProperty
References
| Module | CoreUObject |
| Header | /Engine/Source/Runtime/CoreUObject/Public/UObject/UnrealType.h |
| Include | #include "UObject/UnrealType.h" |
Syntax
class FProperty : public FField
Remarks
An UnrealScript variable.
Variables
| Type | Name | Description | |
|---|---|---|---|
| int32 | ArrayDim | Persistent variables. | |
| FProperty * | DestructorLinkNext | In memory only: Linked list of properties requiring destruction. | |
| int32 | ElementSize | ||
| FProperty * | NextRef | In memory only: Linked list of object reference properties from most-derived to base | |
| FProperty * | PostConstructLinkNext | In memory only: Linked list of properties requiring post constructor initialization. | |
| EPropertyFlags | PropertyFlags | ||
| FProperty * | PropertyLinkNext | In memory only: Linked list of properties from most-derived to base | |
| uint16 | RepIndex | ||
| FName | RepNotifyFunc |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FProperty
(
EInternal InInernal, |
|||
FProperty
(
FFieldVariant InOwner, |
Constructors. | ||
FProperty
(
FFieldVariant InOwner, |
Constructor used for constructing compiled-in properties | ||
FProperty
(
FFieldVariant InOwner, |
Constructor used for constructing compiled-in properties |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void * | Allocates and initializes memory to hold a value this property represents | ||
| void | AppendSchemaHash
(
FBlake3& Builder, |
Updates the given HashBuilder with name and type information of this Property. | |
| void | CallGetter
(
const void* Container, |
Calls the native getter function for this property | |
| void | CallSetter
(
void* Container, |
Calls the native setter function for this property | |
| bool | Returns true if the type of this property matches the type name. | ||
| void | ClearIntrusiveOptionalValue
(
void* Data |
Set the value to it's special unset state. | |
| void | ClearPropertyFlags
(
EPropertyFlags NewFlags |
||
| void | ClearValue
(
void* Data |
Zeros the value for this property. | |
| void | ClearValue_InContainer
(
void* Data, |
Zeros the value for this property. | |
| void | ClearValueInternal
(
void* Data |
||
| FField * | Construct
(
const FFieldVariant& InOwner, |
||
| ValueType const * | ContainerPtrToValuePtr
(
UObject const* ContainerPtr, |
||
| ValueType const * | ContainerPtrToValuePtr
(
void const* ContainerPtr, |
||
| ValueType * | ContainerPtrToValuePtr
(
void* ContainerPtr, |
||
| ValueType * | ContainerPtrToValuePtr
(
UObject* ContainerPtr, |
Get the pointer to property value in a supplied 'container'. | |
| ValueType const * | ContainerPtrToValuePtrForDefaults
(
UStruct* ContainerClass, |
||
| ValueType * | ContainerPtrToValuePtrForDefaults
(
UStruct* ContainerClass, |
||
| ValueType * | ContainerPtrToValuePtrForDefaults
(
UStruct* ContainerClass, |
Default variants, these accept and return NULL, and also check the property against the size of the container. | |
| ValueType const * | ContainerPtrToValuePtrForDefaults
(
UStruct* ContainerClass, |
||
| bool | ContainsClearOnFinishDestroyInternal
(
TArray< const FStructProperty* >& EncounteredStructProps |
||
| bool | ContainsFinishDestroy
(
TArray< const FStructProperty* >& EncounteredStructProps |
Returns true if the property or any of the child properties should be cleared on FinishDestroy. | |
| bool | 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). | ||
| bool | ContainsObjectReference
(
TArray< const FStructProperty* >& EncounteredStructProps, |
Returns true if this property, or in the case of e.g. array or struct properties any sub- property, contains a UObject reference. | |
| bool | Returns true if this property, or in the case of e.g. array or struct properties any sub- property, contains a weak UObject reference. | ||
| EConvertFromTypeResult | ConvertFromType
(
const FPropertyTag& Tag, |
Allows a property to implement backwards compatibility handling for tagged properties | |
| void | CopyCompleteValue
(
void* Dest, |
Copy the value for all elements of this property. | |
| void | CopyCompleteValue_InContainer
(
void* Dest, |
||
| void | CopyCompleteValueFromScriptVM
(
void* Dest, |
Copy the value for all elements of this property. From the script VM. | |
| void | CopyCompleteValueFromScriptVM_InContainer
(
void* OutContainer, |
||
| void | CopyCompleteValueToScriptVM
(
void* Dest, |
Copy the value for all elements of this property. To the script VM. | |
| void | CopyCompleteValueToScriptVM_InContainer
(
void* OutValue, |
Equivalent to the above functions, but using the container and aware of getters/setters when the container has them. | |
| void | CopySingleValue
(
void* Dest, |
Copy the value for a single element of this property. | |
| void | CopySingleValueFromScriptVM
(
void* Dest, |
Copy the value for a single element of this property. From the script VM. | |
| void | CopySingleValueToScriptVM
(
void* Dest, |
Copy the value for a single element of this property. To the script VM. | |
| void | CopyValuesInternal
(
void* Dest, |
||
| void | DestroyAndFreeValue
(
void* InMemory |
Destroys and frees memory with a value this property represents | |
| void | DestroyValue
(
void* Dest |
Destroys the value for this property. | |
| void | DestroyValue_InContainer
(
void* Dest |
Destroys the value for this property. | |
| void | DestroyValueInternal
(
void* Dest |
||
| void | EmitIntrusiveOptionalReferenceInfo
(
UE::GC::FSchemaBuilder& Schema, |
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. | |
| void | EmitReferenceInfo
(
UE::GC::FSchemaBuilder& Schema, |
Emits tokens used by realtime garbage collection code to passed in ReferenceTokenStream. | |
| PRAGMA_DISABLE_DEPRECATION_WARNINGS void | ExportCppDeclaration
(
FOutputDevice& Out, |
||
| bool | ExportText_Direct
(
FString& ValueStr, |
||
| bool | |||
| void | ExportText_Internal
(
FString& ValueStr, |
||
| void | ExportTextItem_Direct
(
FString& ValueStr, |
||
| void | ExportTextItem_InContainer
(
FString& ValueStr, |
||
| FName | FindRedirectedPropertyName
(
const UStruct* ObjectStruct, |
Gets a redirected property name, will return NAME_None if no redirection was found | |
| void | FinishDestroy
(
void* Data |
Applies appropriate finish destroy actions for the property if needed. | |
| void | FinishDestroy_InContainer
(
void* Data |
Applies appropriate finish destroy actions for the property if needed. | |
| void | FinishDestroyInternal
(
void* Data |
||
| ELifetimeCondition | |||
| PRAGMA_ENABLE_DEPRECATION_WARNINGSFString | GetCPPMacroType
(
FString& ExtendedTypeText |
||
| FString | GetCPPType
(
FString* ExtendedTypeText, |
Returns the text to use for exporting this property to header file. | |
| FString | |||
| int32 | |||
| FName | GetID () |
||
| UE_INTERNALint32 | Return the index of the property in its owner. | ||
| int32 | |||
| FString | GetNameCPP () |
Returns the C++ name of the property, including the _DEPRECATED suffix if the property is deprecated. | |
| int32 | Return offset of property from container base. | ||
| int32 | Return offset of property from container base. | ||
| int32 | Return offset of property from container base. | ||
| int32 | Return offset of property from container base. | ||
| int32 | Return offset of property from container base. | ||
| const FProperty * | |||
| FProperty * | Returns the first FProperty in this property's Outer chain that does not have a FProperty for an Outer | ||
| EPropertyFlags | Returns this property's propertyflags | ||
| FProperty * | GetRepOwner () |
Returns the replication owner, which is the property itself, or NULL if this isn't important for replication. | |
| void | GetSingleValue_InContainer
(
const void* InContainer, |
Copies a single value to OutValue even if the property represents a static array of values | |
| int32 | GetSize () |
@TODO: Surely this can have an int32 overflow. | |
| UPropertyWrapper * | Gets the wrapper object for this property or creates one if it doesn't exist yet | ||
| void | GetValue_InContainer
(
void const* InContainer, |
||
| void * | GetValueAddressAtIndex_Direct
(
const FProperty* Inner, |
Gets value address at given index inside of a static array or container | |
| uint32 | GetValueTypeHash
(
const void* Src |
Returns the hash value for an element of this property. | |
| uint32 | GetValueTypeHashInternal
(
const void* Src |
||
| bool | HasAllPropertyFlags
(
uint64 FlagsToCheck |
Used to safely check whether all of the passed in flags are set. | |
| bool | HasAnyPropertyFlags
(
uint64 FlagsToCheck |
Used to safely check whether any of the passed in flags are set. | |
| bool | HasGetter () |
Checks if this property as a native getter function | |
| bool | Returns whether this type has a special state for an unset TOptional meaning the size TOptional |
||
| bool | HasSetter () |
Checks if this property as a native setter function | |
| bool | Checks if this property as a native setter or getter function | ||
| bool | Determines whether the property values are identical. | ||
| bool | Identical_InContainer
(
const void* A, |
Determines whether the property values are identical. | |
| const TCHAR * | ImportSingleProperty
(
const TCHAR* Str, |
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) | |
| const TCHAR * | ImportText_Direct
(
const TCHAR* Buffer, |
Import a text value | |
| const TCHAR * | ImportText_InContainer
(
const TCHAR* Buffer, |
Import a text value | |
| const TCHAR * | ImportText_Internal
(
const TCHAR* Buffer, |
||
| void | Init () |
Initializes internal state. | |
| void | InitializeIntrusiveUnsetOptionalValue
(
void* Data |
Initialize the value at the given address to an unset TOptional using an intrusive state rather than a trailing boolean. | |
| void | InitializeValue
(
void* Dest |
Zeros, copies from the default, or calls the constructor for on the value for this property. | |
| void | InitializeValue_InContainer
(
void* Dest |
Zeros, copies from the default, or calls the constructor for on the value for this property. | |
| void | InitializeValueInternal
(
void* Dest |
||
| void | InstanceSubobjects
(
void* Data, |
Creates new copies of components | |
| bool | Editor-only properties are those that only are used with the editor is present or cannot be removed from serialisation. | ||
| bool | IsInContainer
(
int32 ContainerSize |
See if the offset of this property is below the supplied container size | |
| bool | IsInContainer
(
const UStruct* ContainerClass |
See if the offset of this property is below the supplied container size | |
| bool | IsIntrusiveOptionalValueSet
(
const void* Data |
Returns whether an optional value of this inner type is unset. | |
| int32 | |||
| void | LinkInternal
(
FArchive& Ar |
||
| void | LinkWithoutChangingOffset
(
FArchive& Ar |
||
| bool | LoadTypeName
(
UE::FPropertyTypeName Type, |
Restores this property and its owned properties from the type name. | |
| bool | NetSerializeItem
(
FArchive& Ar, |
||
| bool | |||
| void | PerformOperationWithGetter
(
void* OutContainer, |
Helper function for getting container / struct property value and performing operation directly on the value memory | |
| void | PerformOperationWithSetter
(
void* OutContainer, |
Helper function for setting container / struct property value and performing operation directly on the value memory | |
| void * | PointerToValuePtr
(
void const* ContainerOrPropertyPtr, |
||
| void * | ResolveVisitedPathInfo
(
void* Data, |
Attempt to resolve the given inner path info against this outer property to get the inner property value. | |
| bool | Returns true, if Other is property of exactly the same type | ||
| void | SaveTypeName
(
UE::FPropertyTypeNameBuilder& Type |
Saves the type name of this property and its owned properties. | |
| void | SerializeBinProperty
(
FStructuredArchive::FSlot Slot, |
Serializes the property with the struct's data residing in Data. | |
| void | SerializeItem
(
FStructuredArchive::FSlot Slot, |
||
| void | SerializeNonMatchingBinProperty
(
FStructuredArchive::FSlot Slot, |
Serializes the property with the struct's data residing in Data, unless it matches the default | |
| void | SetBlueprintReplicationCondition
(
ELifetimeCondition InBlueprintReplicationCondition |
||
| void | SetElementSize
(
int32 NewSize |
ElementSize accessors to facilitate underlying type change. | |
| void | SetOffset_Internal
(
int32 NewOffset |
Set the alignment offset for this property - added for FMapProperty | |
| void | SetPropertyFlags
(
EPropertyFlags NewFlags |
||
| void | SetSingleValue_InContainer
(
void* OutContainer, |
Copies a single value to the property even if the property represents a static array of values | |
| void | SetValue_InContainer
(
void* OutContainer, |
||
| bool | Determines whether this property value is eligible for copying when duplicating an object | ||
| bool | ShouldPort
(
uint32 PortFlags |
||
| bool | ShouldSerializeValue
(
FArchive& Ar |
||
| FFieldClass * | StaticClass () |
||
| uint64 | |||
| uint64 | |||
| bool | |||
| bool | UseBinaryOrNativeSerialization
(
const FArchive& Ar |
||
| bool | ValidateImportFlags
(
uint32 PortFlags, |
Verify that modifying this property's value via ImportText is allowed. | |
| EPropertyVisitorControlFlow | Visit
(
const FPropertyVisitorData& Data, |
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. | |
| EPropertyVisitorControlFlow | Visit
(
FPropertyVisitorPath& Path, |
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. |
Overridden from FField
| Type | Name | Description | |
|---|---|---|---|
| SIZE_T | GetFieldSize () |
||
| void | PostDuplicate
(
const FField& InField |
Fixups after duplicating a Field | |
| void | Begin UObject interface: the following functions mimic UObject interface for easier transition from UProperties to FProperties. |
Operators
| Type | Name | Description | |
|---|---|---|---|
| void | operator delete
(
void* InMem |
||
| void * | operator new
(
const size_t InSize, |
||
| void * | operator new
(
const size_t InSize |