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

#include <UnrealType.h>

+ Inheritance diagram for FClassProperty:

Public Member Functions

UE_API FClassProperty (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
UE_API FClassProperty (FFieldVariant InOwner, const UECodeGen_Private::FClassPropertyParams &Prop)
 
virtual UE_API void Serialize (FArchive &Ar) override
 
virtual UE_API void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual UE_API void BeginDestroy () override
 
virtual UE_API void PostDuplicate (const FField &InField) override
 
virtual UE_API FString GetCPPType (FString *ExtendedTypeText, uint32 CPPExportFlags) const override
 
virtual UE_API FString GetCPPMacroType (FString &ExtendedTypeText) 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 SameType (const FProperty *Other) const override
 
virtual UE_API bool Identical (const void *A, const void *B, uint32 PortFlags) const override
 
UE_FORCEINLINE_HINT void SetMetaClass (UClass *NewMetaClass)
 
- Public Member Functions inherited from FObjectProperty
virtual UE_API void CopySingleValueToScriptVM (void *Dest, void const *Src) const override
 
virtual UE_API void CopySingleValueFromScriptVM (void *Dest, void const *Src) const override
 
virtual UE_API void CopyCompleteValueToScriptVM (void *Dest, void const *Src) const override
 
virtual UE_API void CopyCompleteValueFromScriptVM (void *Dest, void const *Src) const override
 
virtual UE_API void CopyCompleteValueToScriptVM_InContainer (void *OutValue, void const *InContainer) const override
 
virtual UE_API void CopyCompleteValueFromScriptVM_InContainer (void *OutContainer, void const *InValue) const override
 
virtual UE_API UObjectGetObjectPropertyValue (const void *PropertyValueAddress) const override
 
virtual UE_API TObjectPtr< UObjectGetObjectPtrPropertyValue (const void *PropertyValueAddress) const override
 
virtual UE_API UObjectGetObjectPropertyValue_InContainer (const void *ContainerAddress, int32 ArrayIndex=0) const override
 
virtual UE_API TObjectPtr< UObjectGetObjectPtrPropertyValue_InContainer (const void *ContainerAddress, int32 ArrayIndex=0) const override
 
UE_API void PostSerializeObjectItem (FArchive &SerializingArchive, void *Value, UObject *CurrentValue, UObject *ObjectValue, EObjectPropertyOptions Options=EObjectPropertyOptions::None, const void *Defaults=nullptr) const
 
TObjectPtr< UObject > * GetObjectPtrPropertyValuePtr (const void *PropertyValueAddress) const
 
TObjectPtr< UObject > & GetObjectPtrPropertyValueRef (const void *PropertyValueAddress) const
 
virtual bool HasIntrusiveUnsetOptionalState () const
 
virtual void InitializeIntrusiveUnsetOptionalValue (void *Data) const override
 
virtual bool IsIntrusiveOptionalValueSet (const void *Data) const
 
virtual void ClearIntrusiveOptionalValue (void *Data) const
 
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 TFObjectPropertyBase< TObjectPtr< UObject > >
 TFObjectPropertyBase (EInternal InInernal, FFieldClass *InClass)
 
 TFObjectPropertyBase (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
 TFObjectPropertyBase (FFieldVariant InOwner, const UECodeGen_Private::FObjectPropertyParams &Prop)
 
 TFObjectPropertyBase (FFieldVariant InOwner, const UECodeGen_Private::FObjectPropertyParamsWithoutClass &Prop, UClass *InClass)
 
virtual bool ContainsObjectReference (TArray< const FStructProperty * > &EncounteredStructProps, EPropertyObjectReferenceType InReferenceType=EPropertyObjectReferenceType::Strong) const override
 
- Public Member Functions inherited from TProperty< InTCppType, TInPropertyBaseClass >
 TProperty (EInternal InInernal, FFieldClass *InClass)
 
 TProperty (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
template<typename PropertyParamsType >
 TProperty (FFieldVariant InOwner, PropertyParamsType &Prop)
 
virtual int32 GetMinAlignment () const override
 
virtual void LinkInternal (FArchive &Ar) override
 
virtual void ClearValueInternal (void *Data) const override
 
virtual void InitializeValueInternal (void *Dest) const override
 
virtual void DestroyValueInternal (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
 

Additional Inherited Members

- Public Types inherited from TFObjectPropertyBase< TObjectPtr< UObject > >
typedef TProperty< TObjectPtr< UObject >, FObjectPropertyBaseSuper
 
typedef TObjectPtr< UObjectTCppType
 
typedef Super::TTypeFundamentals TTypeFundamentals
 
- Public Types inherited from TProperty< InTCppType, TInPropertyBaseClass >
typedef InTCppType TCppType
 
typedef TInPropertyBaseClass Super
 
typedef TPropertyTypeFundamentals< InTCppTypeTTypeFundamentals
 
- Public Types inherited from TPropertyTypeFundamentals< InTCppType >
enum  { CPPSize = sizeof(TCppType) , CPPAlignment = alignof(TCppType) }
 
typedef InTCppType TCppType
 
- 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)
 
- Protected Member Functions inherited from FObjectProperty
virtual UE_API void SetObjectPropertyValueUnchecked (void *PropertyValueAddress, UObject *Value) const override
 
virtual UE_API void SetObjectPtrPropertyValueUnchecked (void *PropertyValueAddress, TObjectPtr< UObject > Ptr) const override
 
virtual UE_API void SetObjectPropertyValueUnchecked_InContainer (void *ContainerAddress, UObject *Value, int32 ArrayIndex=0) const override
 
virtual UE_API void SetObjectPtrPropertyValueUnchecked_InContainer (void *ContainerAddress, TObjectPtr< UObject > Ptr, int32 ArrayIndex=0) const override
 
- Static Protected Member Functions inherited from TPropertyTypeFundamentals< InTCppType >
static EPropertyFlags GetComputedFlagsPropertyFlags ()
 

Constructor & Destructor Documentation

◆ FClassProperty() [1/2]

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

◆ FClassProperty() [2/2]

FClassProperty::FClassProperty ( FFieldVariant  InOwner,
const UECodeGen_Private::FClassPropertyParams &  Prop 
)

Constructor used for constructing compiled in properties

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

Member Function Documentation

◆ AddReferencedObjects()

void FClassProperty::AddReferencedObjects ( FReferenceCollector Collector)
overridevirtual

◆ BeginDestroy()

void FClassProperty::BeginDestroy ( )
overridevirtual

◆ GetCPPMacroType()

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

Reimplemented from FObjectProperty.

Reimplemented in FVerseClassProperty.

◆ GetCPPType()

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

Reimplemented from FObjectProperty.

◆ Identical()

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

Reimplemented from FObjectProperty.

◆ ImportText_Internal()

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

Reimplemented from FObjectProperty.

Reimplemented in FVerseClassProperty.

◆ PostDuplicate()

void FClassProperty::PostDuplicate ( const FField InField)
overridevirtual

◆ SameType()

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

Reimplemented in FVerseClassProperty.

◆ Serialize()

void FClassProperty::Serialize ( FArchive Ar)
overridevirtual

Reimplemented in FVerseClassProperty.

◆ SetMetaClass()

UE_FORCEINLINE_HINT void FClassProperty::SetMetaClass ( UClass NewMetaClass)
inline

Setter function for this property's MetaClass member. Favor this function whilst loading (since, to handle circular dependencies, we defer some class loads and use a placeholder class instead). It properly handles deferred loading placeholder classes (so they can properly be replaced later).

Parameters
NewMetaClassThe MetaClass you want this property set with.

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