UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSetProperty Class Reference

#include <UnrealType.h>

+ Inheritance diagram for FSetProperty:

Public Types

using TTypeFundamentals = Super::TTypeFundamentals
 
using TCppType = TTypeFundamentals::TCppType
 
- Public Types inherited from TProperty< FScriptSet, FProperty >
typedef FScriptSet TCppType
 
typedef FProperty Super
 
typedef TPropertyTypeFundamentals< FScriptSetTTypeFundamentals
 
- Public Types inherited from FField
typedef FField Super
 
typedef FField ThisClass
 
typedef FField BaseFieldClass
 
typedef FFieldClass FieldTypeClass
 
using FLinkedListBuilder = TLinkedListBuilder< FField >
 
- Public Types inherited from TPropertyTypeFundamentals< InTCppType >
enum  { CPPSize = sizeof(TCppType) , CPPAlignment = alignof(TCppType) }
 
typedef InTCppType TCppType
 

Public Member Functions

UE_API FSetProperty (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
UE_API FSetProperty (FFieldVariant InOwner, const UECodeGen_Private::FSetPropertyParams &Prop)
 
virtual UE_API ~FSetProperty ()
 
virtual UE_API void Serialize (FArchive &Ar) override
 
virtual UE_API void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual UE_API void GetPreloadDependencies (TArray< UObject * > &OutDeps) override
 
virtual UE_API void PostDuplicate (const FField &InField) override
 
virtual UE_API FFieldGetInnerFieldByName (const FName &InName) override
 
virtual UE_API void GetInnerFields (TArray< FField * > &OutFields) override
 
virtual UE_API void AddCppProperty (FProperty *Property) override
 
virtual UE_API FString GetCPPMacroType (FString &ExtendedTypeText) const override
 
virtual UE_API FString GetCPPType (FString *ExtendedTypeText, uint32 CPPExportFlags) const override
 
virtual UE_API void LinkInternal (FArchive &Ar) override
 
virtual UE_API bool Identical (const void *A, const void *B, uint32 PortFlags) const override
 
virtual UE_API void SerializeItem (FStructuredArchive::FSlot Slot, void *Value, void const *Defaults) const override
 
virtual UE_API bool NetSerializeItem (FArchive &Ar, UPackageMap *Map, void *Data, TArray< uint8 > *MetaData=NULL) const override
 
virtual UE_API void CopyValuesInternal (void *Dest, void const *Src, int32 Count) const override
 
virtual UE_API void ClearValueInternal (void *Data) const override
 
virtual UE_API void DestroyValueInternal (void *Dest) const override
 
virtual UE_API void InstanceSubobjects (void *Data, void const *DefaultData, TNotNull< UObject * > Owner, struct FObjectInstancingGraph *InstanceGraph) override
 
virtual UE_API bool ContainsObjectReference (TArray< const FStructProperty * > &EncounteredStructProps, EPropertyObjectReferenceType InReferenceType=EPropertyObjectReferenceType::Strong) const override
 
virtual UE_API void EmitReferenceInfo (UE::GC::FSchemaBuilder &Schema, int32 BaseOffset, TArray< const FStructProperty * > &EncounteredStructProps, UE::GC::FPropertyStack &DebugPath) override
 
virtual UE_API bool SameType (const FProperty *Other) const override
 
virtual UE_API EConvertFromTypeResult ConvertFromType (const FPropertyTag &Tag, FStructuredArchive::FSlot Slot, uint8 *Data, const UStruct *DefaultsStruct, const uint8 *Defaults) override
 
virtual UE_API voidGetValueAddressAtIndex_Direct (const FProperty *Inner, void *InValueAddress, int32 LogicalIndex) const override
 
virtual UE_API bool UseBinaryOrNativeSerialization (const FArchive &Ar) const override
 
virtual UE_API bool LoadTypeName (UE::FPropertyTypeName Type, const FPropertyTag *Tag=nullptr) override
 
virtual UE_API void SaveTypeName (UE::FPropertyTypeNameBuilder &Type) const override
 
virtual UE_API bool CanSerializeFromTypeName (UE::FPropertyTypeName Type) const override
 
virtual UE_API EPropertyVisitorControlFlow Visit (FPropertyVisitorContext &Context, const TFunctionRef< EPropertyVisitorControlFlow(const FPropertyVisitorContext &)> InFunc) const override
 
virtual UE_API voidResolveVisitedPathInfo (void *Data, const FPropertyVisitorInfo &Info) const override
 
UE_API FString GetCPPTypeCustom (FString *ExtendedTypeText, uint32 CPPExportFlags, const FString &ElementTypeText, const FString &InElementExtendedTypeText) const
 
int32 GetNum (void *InSet) const
 
int32 GetStride () const
 
bool IsValidIndex (void *InSet, int32 InternalIndex) const
 
uint8GetElementPtr (void *InSet, int32 InternalIndex) const
 
const FPropertyGetElementProperty () const
 
virtual UE_API bool HasIntrusiveUnsetOptionalState () const override
 
virtual UE_API void InitializeIntrusiveUnsetOptionalValue (void *Data) const override
 
virtual UE_API bool IsIntrusiveOptionalValueSet (const void *Data) const override
 
virtual UE_API void ClearIntrusiveOptionalValue (void *Data) const override
 
virtual UE_API void EmitIntrusiveOptionalReferenceInfo (UE::GC::FSchemaBuilder &Schema, int32 BaseOffset, TArray< const FStructProperty * > &EncounteredStructProps, UE::GC::FPropertyStack &DebugPath) override
 
- Public Member Functions inherited from TProperty< FScriptSet, FProperty >
 TProperty (EInternal InInernal, FFieldClass *InClass)
 
 TProperty (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
 TProperty (FFieldVariant InOwner, PropertyParamsType &Prop)
 
virtual int32 GetMinAlignment () const override
 
virtual void InitializeValueInternal (void *Dest) const override
 
UE_FORCEINLINE_HINT TCppType const * GetPropertyValuePtr_InContainer (void const *A, int32 ArrayIndex=0) const
 
UE_FORCEINLINE_HINT TCppTypeGetPropertyValuePtr_InContainer (void *A, int32 ArrayIndex=0) const
 
UE_FORCEINLINE_HINT TCppType const & GetPropertyValue_InContainer (void const *A, int32 ArrayIndex=0) const
 
UE_FORCEINLINE_HINT TCppType GetOptionalPropertyValue_InContainer (void const *B, int32 ArrayIndex=0) const
 
UE_FORCEINLINE_HINT void SetPropertyValue_InContainer (void *A, TCppType const &Value, int32 ArrayIndex=0) const
 
UE_FORCEINLINE_HINT void SetValue_InContainer (void *OutContainer, const TCppType &InValue) const
 
UE_FORCEINLINE_HINT void GetValue_InContainer (void const *InContainer, TCppType *OutValue) const
 
- Public Member Functions inherited from FProperty
COREUOBJECT_API FProperty (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
COREUOBJECT_API FProperty (FFieldVariant InOwner, const UECodeGen_Private::FPropertyParamsBaseWithOffset &Prop, EPropertyFlags AdditionalPropertyFlags=CPF_None)
 
COREUOBJECT_API FProperty (FFieldVariant InOwner, const UECodeGen_Private::FPropertyParamsBaseWithoutOffset &Prop, EPropertyFlags AdditionalPropertyFlags=CPF_None)
 
COREUOBJECT_API void SetElementSize (int32 NewSize)
 
int32 GetElementSize () const
 
COREUOBJECT_API FString GetNameCPP () const
 
virtual bool HasSetter () const
 
virtual bool HasGetter () const
 
virtual bool HasSetterOrGetter () const
 
virtual void CallSetter (void *Container, const void *InValue) const
 
virtual void CallGetter (const void *Container, void *OutValue) const
 
COREUOBJECT_API EPropertyVisitorControlFlow Visit (const FPropertyVisitorData &Data, const TFunctionRef< EPropertyVisitorControlFlow(const FPropertyVisitorPath &, const FPropertyVisitorData &)> InFunc) const
 
COREUOBJECT_API EPropertyVisitorControlFlow Visit (const FPropertyVisitorData &Data, const TFunctionRef< EPropertyVisitorControlFlow(const FPropertyVisitorContext &)> InFunc) const
 
UE_FORCEINLINE_HINT int32 GetOffset_ForDebug () const
 
UE_FORCEINLINE_HINT int32 GetOffset_ForUFunction () const
 
UE_FORCEINLINE_HINT int32 GetOffset_ForGC () const
 
UE_FORCEINLINE_HINT int32 GetOffset_ForInternal () const
 
UE_FORCEINLINE_HINT int32 GetOffset_ReplaceWith_ContainerPtrToValuePtr () const
 
void LinkWithoutChangingOffset (FArchive &Ar)
 
int32 Link (FArchive &Ar)
 
bool Identical_InContainer (const void *A, const void *B, int32 ArrayIndex=0, uint32 PortFlags=0) const
 
void SerializeBinProperty (FStructuredArchive::FSlot Slot, void *Data, int32 ArrayIdx=-1)
 
void SerializeNonMatchingBinProperty (FStructuredArchive::FSlot Slot, void *Data, void const *DefaultData, UStruct *DefaultStruct)
 
virtual COREUOBJECT_API bool SupportsNetSharedSerialization () const
 
void ExportTextItem_Direct (FString &ValueStr, const void *PropertyValue, const void *DefaultValue, UObject *Parent, int32 PortFlags, UObject *ExportRootScope=nullptr) const
 
void ExportTextItem_InContainer (FString &ValueStr, const void *Container, const void *DefaultValue, UObject *Parent, int32 PortFlags, UObject *ExportRootScope=nullptr) const
 
const TCHARImportText_InContainer (const TCHAR *Buffer, void *Container, UObject *OwnerObject, int32 PortFlags, FOutputDevice *ErrorText=(FOutputDevice *) GWarn) const
 
const TCHARImportText_Direct (const TCHAR *Buffer, void *PropertyPtr, UObject *OwnerObject, int32 PortFlags, FOutputDevice *ErrorText=(FOutputDevice *) GWarn) const
 
void SetValue_InContainer (void *OutContainer, const void *InValue) const
 
void GetValue_InContainer (void const *InContainer, void *OutValue) const
 
COREUOBJECT_API void SetSingleValue_InContainer (void *OutContainer, const void *InValue, int32 ArrayIndex) const
 
COREUOBJECT_API void GetSingleValue_InContainer (const void *InContainer, void *OutValue, int32 ArrayIndex) const
 
COREUOBJECT_API voidAllocateAndInitializeValue () const
 
COREUOBJECT_API void DestroyAndFreeValue (void *InMemory) const
 
COREUOBJECT_API void PerformOperationWithSetter (void *OutContainer, void *DirectPropertyAddress, TFunctionRef< void(void *)> DirectValueAccessFunc) const
 
COREUOBJECT_API void PerformOperationWithGetter (void *OutContainer, const void *DirectPropertyAddress, TFunctionRef< void(const void *)> DirectValueAccessFunc) const
 
COREUOBJECT_API bool ExportText_Direct (FString &ValueStr, const void *Data, const void *Delta, UObject *Parent, int32 PortFlags, UObject *ExportRootScope=nullptr) const
 
UE_FORCEINLINE_HINT bool ExportText_InContainer (int32 Index, FString &ValueStr, const void *Data, const void *Delta, UObject *Parent, int32 PortFlags, UObject *ExportRootScope=nullptr) const
 
template<typename ValueType >
UE_FORCEINLINE_HINT ValueType * ContainerPtrToValuePtr (UObject *ContainerPtr, int32 ArrayIndex=0) const
 
template<typename ValueType >
UE_FORCEINLINE_HINT ValueType * ContainerPtrToValuePtr (void *ContainerPtr, int32 ArrayIndex=0) const
 
template<typename ValueType >
UE_FORCEINLINE_HINT ValueType const * ContainerPtrToValuePtr (UObject const *ContainerPtr, int32 ArrayIndex=0) const
 
template<typename ValueType >
UE_FORCEINLINE_HINT ValueType const * ContainerPtrToValuePtr (void const *ContainerPtr, int32 ArrayIndex=0) const
 
template<typename ValueType >
ValueType * ContainerPtrToValuePtrForDefaults (const UStruct *ContainerClass, UObject *ContainerPtr, int32 ArrayIndex=0) const
 
template<typename ValueType >
ValueType * ContainerPtrToValuePtrForDefaults (const UStruct *ContainerClass, void *ContainerPtr, int32 ArrayIndex=0) const
 
template<typename ValueType >
const ValueType * ContainerPtrToValuePtrForDefaults (const UStruct *ContainerClass, const UObject *ContainerPtr, int32 ArrayIndex=0) const
 
template<typename ValueType >
const ValueType * ContainerPtrToValuePtrForDefaults (const UStruct *ContainerClass, const void *ContainerPtr, int32 ArrayIndex=0) const
 
UE_FORCEINLINE_HINT bool IsInContainer (int32 ContainerSize) const
 
UE_FORCEINLINE_HINT bool IsInContainer (const UStruct *ContainerClass) const
 
void CopySingleValue (void *Dest, void const *Src) const
 
COREUOBJECT_API uint32 GetValueTypeHash (const void *Src) const
 
void CopyCompleteValue (void *Dest, void const *Src) const
 
UE_FORCEINLINE_HINT void CopyCompleteValue_InContainer (void *Dest, void const *Src) const
 
virtual COREUOBJECT_API void CopySingleValueToScriptVM (void *Dest, void const *Src) const
 
virtual COREUOBJECT_API void CopyCompleteValueToScriptVM (void *Dest, void const *Src) const
 
virtual COREUOBJECT_API void CopyCompleteValueToScriptVM_InContainer (void *OutValue, void const *InContainer) const
 
virtual COREUOBJECT_API void CopyCompleteValueFromScriptVM_InContainer (void *OutContainer, void const *InValue) const
 
virtual COREUOBJECT_API void CopySingleValueFromScriptVM (void *Dest, void const *Src) const
 
virtual COREUOBJECT_API void CopyCompleteValueFromScriptVM (void *Dest, void const *Src) const
 
void ClearValue (void *Data) const
 
void ClearValue_InContainer (void *Data, int32 ArrayIndex=0) const
 
void DestroyValue (void *Dest) const
 
void DestroyValue_InContainer (void *Dest) const
 
bool ContainsFinishDestroy (TArray< const FStructProperty * > &EncounteredStructProps) const
 
void FinishDestroy (void *Data) const
 
void FinishDestroy_InContainer (void *Data) const
 
void InitializeValue (void *Dest) const
 
void InitializeValue_InContainer (void *Dest) const
 
COREUOBJECT_API bool ValidateImportFlags (uint32 PortFlags, FOutputDevice *ErrorText=NULL) const
 
COREUOBJECT_API bool ShouldPort (uint32 PortFlags=0) const
 
virtual COREUOBJECT_API FName GetID () const
 
bool ContainsWeakObjectReference () const
 
UE_FORCEINLINE_HINT bool ContainsInstancedObjectProperty () const
 
UE_FORCEINLINE_HINT int32 GetSize () const
 
COREUOBJECT_API bool ShouldSerializeValue (FArchive &Ar) const
 
bool ShouldDuplicateValue () const
 
FPropertyGetOwnerProperty ()
 
const FPropertyGetOwnerProperty () const
 
UE_FORCEINLINE_HINT EPropertyFlags GetPropertyFlags () const
 
UE_FORCEINLINE_HINT void SetPropertyFlags (EPropertyFlags NewFlags)
 
UE_FORCEINLINE_HINT void ClearPropertyFlags (EPropertyFlags NewFlags)
 
UE_FORCEINLINE_HINT bool HasAnyPropertyFlags (uint64 FlagsToCheck) const
 
UE_FORCEINLINE_HINT bool HasAllPropertyFlags (uint64 FlagsToCheck) const
 
UE_FORCEINLINE_HINT FPropertyGetRepOwner ()
 
UE_FORCEINLINE_HINT bool IsEditorOnlyProperty () const
 
ELifetimeCondition GetBlueprintReplicationCondition () const
 
void SetBlueprintReplicationCondition (ELifetimeCondition InBlueprintReplicationCondition)
 
- Public Member Functions inherited from FField
virtual SIZE_T GetFieldSize () const
 
COREUOBJECT_API FField (EInternal InInernal, FFieldClass *InClass)
 
COREUOBJECT_API FField (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
virtual COREUOBJECT_API ~FField ()
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void BeginDestroy ()
 
COREUOBJECT_API bool IsRooted () const
 
COREUOBJECT_API bool IsNative () const
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsIn (const UObject *InOwner) const
 
COREUOBJECT_API bool IsIn (const FField *InOwner) const
 
COREUOBJECT_API FLinkerLoadGetLinker () const
 
virtual COREUOBJECT_API void Bind ()
 
EObjectFlags GetFlags () const
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags NewFlags)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
FFieldClassGetClass () const
 
uint64 GetCastFlags () const
 
bool IsA (const FFieldClass *FieldType) const
 
template<typename T >
bool IsA () const
 
bool HasAnyCastFlags (const uint64 InCastFlags) const
 
bool HasAllCastFlags (const uint64 InCastFlags) const
 
void AppendName (FString &ResultString) const
 
FFieldVariant GetOwnerVariant () const
 
UObjectGetOwnerUObject () const
 
UE_FORCEINLINE_HINT UObjectInternalGetOwnerAsUObjectUnsafe () const
 
COREUOBJECT_API UClassGetOwnerClass () const
 
COREUOBJECT_API UStructGetOwnerStruct () const
 
COREUOBJECT_API UFieldGetOwnerUField () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API UObjectGetTypedOwner (UClass *Target) const
 
COREUOBJECT_API FFieldGetTypedOwner (FFieldClass *Target) const
 
template<typename T >
T * GetOwner () const
 
template<typename T >
FUNCTION_NON_NULL_RETURN_START T * GetOwnerChecked () const FUNCTION_NON_NULL_RETURN_END
 
template<typename T >
T * GetTypedOwner () const
 
FName GetFName () const
 
FString GetName () const
 
void GetName (FString &OutName) const
 
COREUOBJECT_API void Rename (const FName &NewName)
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=nullptr) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
COREUOBJECT_API FString GetFullName () const
 
COREUOBJECT_API FString GetAuthoredName () const
 

Protected Member Functions

virtual UE_API void ExportText_Internal (FString &ValueStr, const void *PropertyValueOrContainer, EPropertyPointerType PropertyPointerType, const void *DefaultValue, UObject *Parent, int32 PortFlags, UObject *ExportRootScope) const override
 
virtual UE_API const TCHARImportText_Internal (const TCHAR *Buffer, void *ContainerOrPropertyPtr, EPropertyPointerType PropertyPointerType, UObject *OwnerObject, int32 PortFlags, FOutputDevice *ErrorText) const override
 
virtual UE_API bool ContainsClearOnFinishDestroyInternal (TArray< const FStructProperty * > &EncounteredStructProps) const override
 
virtual UE_API void FinishDestroyInternal (void *Data) const override
 
- Protected Member Functions inherited from FProperty
COREUOBJECT_API void SetOffset_Internal (int32 NewOffset)
 
COREUOBJECT_API void Init ()
 
voidPointerToValuePtr (void const *ContainerOrPropertyPtr, EPropertyPointerType PropertyPointerType, int32 ArrayIndex=0) const
 
virtual COREUOBJECT_API uint32 GetValueTypeHashInternal (const void *Src) const
 
- Protected Member Functions inherited from FField
void SetFlagsTo (EObjectFlags NewFlags)
 

Additional Inherited Members

- Static Public Member Functions inherited from FProperty
static COREUOBJECT_API const TCHARImportSingleProperty (const TCHAR *Str, void *DestData, const UStruct *ObjectStruct, UObject *SubobjectOuter, int32 PortFlags, FOutputDevice *Warn, TArray< struct FDefinedProperty > &DefinedProperties)
 
static COREUOBJECT_API FName FindRedirectedPropertyName (const UStruct *ObjectStruct, FName OldName)
 
- Static Public Member Functions inherited from FField
static COREUOBJECT_API FFieldClassStaticClass ()
 
static constexpr EClassCastFlags StaticClassCastFlagsPrivate ()
 
static constexpr EClassCastFlags StaticClassCastFlags ()
 
static COREUOBJECT_API FFieldConstruct (const FFieldVariant &InOwner, const FName &InName, EObjectFlags InFlags)
 
static COREUOBJECT_API FFieldConstruct (const FName &FieldTypeName, const FFieldVariant &InOwner, const FName &InName, EObjectFlags InFlags)
 
static COREUOBJECT_API FFieldTryConstruct (const FName &FieldTypeName, const FFieldVariant &InOwner, const FName &InName, EObjectFlags InFlags)
 
static COREUOBJECT_API FFieldDuplicate (const FField *InField, FFieldVariant DestOwner, const FName DestName=NAME_None, EObjectFlags FlagMask=RF_AllFlags, EInternalObjectFlags InternalFlagsMask=EInternalObjectFlags_AllFlags)
 
static COREUOBJECT_API FName GenerateFFieldName (FFieldVariant InOwner, FFieldClass *InClass)
 
- Static Public Member Functions inherited from TPropertyTypeFundamentals< InTCppType >
static UE_FORCEINLINE_HINT TCHAR const * GetTypeName ()
 
static UE_FORCEINLINE_HINT TCppType const * GetPropertyValuePtr (void const *A)
 
static UE_FORCEINLINE_HINT TCppTypeGetPropertyValuePtr (void *A)
 
static UE_FORCEINLINE_HINT TCppType const & GetPropertyValue (void const *A)
 
static UE_FORCEINLINE_HINT TCppType GetDefaultPropertyValue ()
 
static UE_FORCEINLINE_HINT TCppType GetOptionalPropertyValue (void const *B)
 
static UE_FORCEINLINE_HINT void SetPropertyValue (void *A, TCppType const &Value)
 
static UE_FORCEINLINE_HINT TCppTypeInitializePropertyValue (void *A)
 
static UE_FORCEINLINE_HINT void DestroyPropertyValue (void *A)
 
static UE_FORCEINLINE_HINT bool HasIntrusiveUnsetOptionalState ()
 
static UE_FORCEINLINE_HINT void InitializeIntrusiveUnsetOptionalValue (void *Data)
 
static UE_FORCEINLINE_HINT bool IsIntrusiveOptionalValueSet (const void *A)
 
static UE_FORCEINLINE_HINT void ClearIntrusiveOptionalValue (void *A)
 
- Public Attributes inherited from FProperty
EPropertyFlags PropertyFlags
 
uint16 RepIndex
 
FPropertyPropertyLinkNext = nullptr
 
union { 
 
   FProperty *   NextRef = nullptr 
 
};  
 
union { 
 
   FProperty *   DestructorLinkNext = nullptr 
 
};  
 
FPropertyPostConstructLinkNext = 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
 
FFieldNext
 
FName NamePrivate
 
EObjectFlags FlagsPrivate
 
- Static Protected Member Functions inherited from TPropertyTypeFundamentals< InTCppType >
static EPropertyFlags GetComputedFlagsPropertyFlags ()
 
- Protected Attributes inherited from FProperty
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
 

Member Typedef Documentation

◆ TCppType

using FSetProperty::TCppType = TTypeFundamentals::TCppType

◆ TTypeFundamentals

using FSetProperty::TTypeFundamentals = Super::TTypeFundamentals

Constructor & Destructor Documentation

◆ FSetProperty() [1/2]

FSetProperty::FSetProperty ( FFieldVariant  InOwner,
const FName InName,
EObjectFlags  InObjectFlags 
)

◆ FSetProperty() [2/2]

FSetProperty::FSetProperty ( FFieldVariant  InOwner,
const UECodeGen_Private::FSetPropertyParams &  Prop 
)

Constructor used for constructing compiled in properties

Parameters
InOwnerOwner of the property
PropBasePointer to the compiled in structure describing the property

◆ ~FSetProperty()

FSetProperty::~FSetProperty ( )
virtual

Member Function Documentation

◆ AddCppProperty()

void FSetProperty::AddCppProperty ( FProperty Property)
overridevirtual

Reimplemented from FField.

◆ AddReferencedObjects()

void FSetProperty::AddReferencedObjects ( FReferenceCollector Collector)
overridevirtual

Reimplemented from FField.

◆ CanSerializeFromTypeName()

bool FSetProperty::CanSerializeFromTypeName ( UE::FPropertyTypeName  Type) const
overridevirtual

Returns true if the type of this property matches the type name.

Reimplemented from FProperty.

◆ ClearIntrusiveOptionalValue()

void FSetProperty::ClearIntrusiveOptionalValue ( void Data) const
overridevirtual

Set the value to it's special unset state. Equivalent to TOptional<T>::Reset. Only valid to call if HasIntrusiveUnsetOptionalState returns true.

See also
operator=(FIntrusiveUnsetOptionalState)
Parameters
DataAddress of the alue, already offset.

Reimplemented from TProperty< FScriptSet, FProperty >.

◆ ClearValueInternal()

void FSetProperty::ClearValueInternal ( void Data) const
overridevirtual

◆ ContainsClearOnFinishDestroyInternal()

bool FSetProperty::ContainsClearOnFinishDestroyInternal ( TArray< const FStructProperty * > &  EncounteredStructProps) const
overrideprotectedvirtual

Reimplemented from FProperty.

◆ ContainsObjectReference()

bool FSetProperty::ContainsObjectReference ( TArray< const FStructProperty * > &  EncounteredStructProps,
EPropertyObjectReferenceType  InReferenceType = EPropertyObjectReferenceType::Strong 
) const
overridevirtual

Returns true if this property, or in the case of e.g. array or struct properties any sub- property, contains a UObject reference.

Returns
true if property (or sub- properties) contain a UObject reference, false otherwise

Reimplemented from FProperty.

◆ ConvertFromType()

EConvertFromTypeResult FSetProperty::ConvertFromType ( const FPropertyTag Tag,
FStructuredArchive::FSlot  Slot,
uint8 Data,
const UStruct DefaultsStruct,
const uint8 Defaults 
)
overridevirtual

Allows a property to implement backwards compatibility handling for tagged properties

Parameters
Tagproperty tag of the loading data
Arthe archive the data is being loaded from
Dataa pointer to the container to write the loaded data to
DefaultsStruct
Defaultsif available, a pointer to the container containing the default value for this property, or null
Returns
A state which tells the tagged property system how the property dealt with the data. Converted: the function handled conversion. CannotConvert: the tag is not something that the property can convert. Serialized: the function handled serialization without conversion. UseSerializeItem: no conversion was done on the property - this can mean that the tag is correct and normal serialization applies or that the tag is incompatible.

Reimplemented from FProperty.

◆ CopyValuesInternal()

void FSetProperty::CopyValuesInternal ( void Dest,
void const *  Src,
int32  Count 
) const
overridevirtual

◆ DestroyValueInternal()

void FSetProperty::DestroyValueInternal ( void Dest) const
overridevirtual

◆ EmitIntrusiveOptionalReferenceInfo()

void FSetProperty::EmitIntrusiveOptionalReferenceInfo ( UE::GC::FSchemaBuilder Schema,
int32  BaseOffset,
TArray< const FStructProperty * > &  EncounteredStructProps,
UE::GC::FPropertyStack DebugPath 
)
overridevirtual

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 from FProperty.

◆ EmitReferenceInfo()

void FSetProperty::EmitReferenceInfo ( UE::GC::FSchemaBuilder Schema,
int32  BaseOffset,
TArray< const FStructProperty * > &  EncounteredStructProps,
UE::GC::FPropertyStack DebugPath 
)
overridevirtual

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 from FProperty.

◆ ExportText_Internal()

void FSetProperty::ExportText_Internal ( FString &  ValueStr,
const void PropertyValueOrContainer,
EPropertyPointerType  PropertyPointerType,
const void DefaultValue,
UObject Parent,
int32  PortFlags,
UObject ExportRootScope 
) const
overrideprotectedvirtual

◆ FinishDestroyInternal()

void FSetProperty::FinishDestroyInternal ( void Data) const
overrideprotectedvirtual

Reimplemented from FProperty.

◆ GetCPPMacroType()

FString FSetProperty::GetCPPMacroType ( FString &  ExtendedTypeText) const
overridevirtual

Reimplemented from FProperty.

◆ GetCPPType()

FString FSetProperty::GetCPPType ( FString *  ExtendedTypeText,
uint32  CPPExportFlags 
) const
overridevirtual

◆ GetCPPTypeCustom()

FString FSetProperty::GetCPPTypeCustom ( FString *  ExtendedTypeText,
uint32  CPPExportFlags,
const FString &  ElementTypeText,
const FString &  InElementExtendedTypeText 
) const

◆ GetElementProperty()

const FProperty * FSetProperty::GetElementProperty ( ) const
inline

◆ GetElementPtr()

uint8 * FSetProperty::GetElementPtr ( void InSet,
int32  InternalIndex 
) const
inline

◆ GetInnerFieldByName()

FField * FSetProperty::GetInnerFieldByName ( const FName InName)
overridevirtual

Returns an inner field by name if the field has any

Reimplemented from FField.

◆ GetInnerFields()

void FSetProperty::GetInnerFields ( TArray< FField * > &  OutFields)
overridevirtual

Fills the provided array with all inner fields this field owns (recursively)

Reimplemented from FField.

◆ GetNum()

int32 FSetProperty::GetNum ( void InSet) const
inline

◆ GetPreloadDependencies()

void FSetProperty::GetPreloadDependencies ( TArray< UObject * > &  OutDeps)
overridevirtual

Reimplemented from FField.

◆ GetStride()

int32 FSetProperty::GetStride ( ) const
inline

◆ GetValueAddressAtIndex_Direct()

void * FSetProperty::GetValueAddressAtIndex_Direct ( const FProperty Inner,
void InValueAddress,
int32  Index 
) const
overridevirtual

Gets value address at given index inside of a static array or container

Parameters
InValueAddressaddress of the value represented by this property
Indexinto the static array or container
Returns
address of the value at given index

Reimplemented from FProperty.

◆ HasIntrusiveUnsetOptionalState()

bool FSetProperty::HasIntrusiveUnsetOptionalState ( ) const
overridevirtual

◆ Identical()

bool FSetProperty::Identical ( const void A,
const void B,
uint32  PortFlags 
) const
overridevirtual

◆ ImportText_Internal()

const TCHAR * FSetProperty::ImportText_Internal ( const TCHAR Buffer,
void ContainerOrPropertyPtr,
EPropertyPointerType  PropertyPointerType,
UObject OwnerObject,
int32  PortFlags,
FOutputDevice ErrorText 
) const
overrideprotectedvirtual

◆ InitializeIntrusiveUnsetOptionalValue()

void FSetProperty::InitializeIntrusiveUnsetOptionalValue ( void Data) const
overridevirtual

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.

See also
Optional.h - HasIntrusiveUnsetOptionalState
FOptionalProperty Initialize the value at the given address to an unset TOptional using an intrusive state rather than a trailing boolean.
TOptional::TOptional
Constructor taking FIntrusiveUnsetOptionalState

Reimplemented from TProperty< FScriptSet, FProperty >.

◆ InstanceSubobjects()

void FSetProperty::InstanceSubobjects ( void Data,
void const *  DefaultData,
TNotNull< UObject * >  InOwner,
struct FObjectInstancingGraph InstanceGraph 
)
overridevirtual

Creates new copies of components

Parameters
Datapointer to the address of the instanced object referenced by this UComponentProperty
DefaultDatapointer to the address of the default value of the instanced object referenced by this UComponentProperty
Ownerthe object that contains this property's data
InstanceGraphcontains the mappings of instanced objects and components to their templates

Reimplemented from FProperty.

◆ IsIntrusiveOptionalValueSet()

bool FSetProperty::IsIntrusiveOptionalValueSet ( const void Data) const
overridevirtual

Returns whether an optional value of this inner type is unset. Only valid to call if HasIntrusiveUnsetOptionalState returns true. Equivalent to TOptional<T>::IsSet()

See also
operator==(FIntrusiveUnsetOptionalState)
Parameters
DataAddress of value to inspect, already offset.
Returns
true if the value is unset

Reimplemented from TProperty< FScriptSet, FProperty >.

◆ IsValidIndex()

bool FSetProperty::IsValidIndex ( void InSet,
int32  InternalIndex 
) const
inline

◆ LinkInternal()

void FSetProperty::LinkInternal ( FArchive Ar)
overridevirtual

◆ LoadTypeName()

bool FSetProperty::LoadTypeName ( UE::FPropertyTypeName  Type,
const FPropertyTag Tag = nullptr 
)
overridevirtual

Restores this property and its owned properties from the type name.

Returns
true if this property loaded from the type name and is in a valid and usable state.

Reimplemented from FProperty.

◆ NetSerializeItem()

bool FSetProperty::NetSerializeItem ( FArchive Ar,
UPackageMap Map,
void Data,
TArray< uint8 > *  MetaData = NULL 
) const
overridevirtual

◆ PostDuplicate()

void FSetProperty::PostDuplicate ( const FField InField)
overridevirtual

Fixups after duplicating a Field

Reimplemented from FProperty.

◆ ResolveVisitedPathInfo()

void * FSetProperty::ResolveVisitedPathInfo ( void Data,
const FPropertyVisitorInfo Info 
) const
overridevirtual

Attempt to resolve the given inner path info against this outer property to get the inner property value.

Returns
The inner property value, or null if the path info is incompatible/missing on this property.

Reimplemented from FProperty.

◆ SameType()

bool FSetProperty::SameType ( const FProperty Other) const
overridevirtual

returns true, if Other is property of exactly the same type

Reimplemented from FProperty.

◆ SaveTypeName()

void FSetProperty::SaveTypeName ( UE::FPropertyTypeNameBuilder Type) const
overridevirtual

Saves the type name of this property and its owned properties.

Reimplemented from FProperty.

◆ Serialize()

void FSetProperty::Serialize ( FArchive Ar)
overridevirtual

Reimplemented from FProperty.

◆ SerializeItem()

void FSetProperty::SerializeItem ( FStructuredArchive::FSlot  Slot,
void Value,
void const *  Defaults 
) const
overridevirtual

◆ UseBinaryOrNativeSerialization()

bool FSetProperty::UseBinaryOrNativeSerialization ( const FArchive Ar) const
overridevirtual

Reimplemented from FProperty.

◆ Visit()

EPropertyVisitorControlFlow FSetProperty::Visit ( FPropertyVisitorContext Context,
const TFunctionRef< EPropertyVisitorControlFlow(const FPropertyVisitorContext &)>  InFunc 
) const
overridevirtual

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.

Parameters
Contextwhich containes the path that was computed until we reached this property and the sata to the property to visit
InFuncto call on each visited property, the return value controls what is the next behavior once this property has been visited
Returns
the new action to take one visited this property

Reimplemented from FProperty.


The documentation for this class was generated from the following files: