UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TProperty< InTCppType, TInPropertyBaseClass > Class Template Reference

#include <UnrealType.h>

+ Inheritance diagram for TProperty< InTCppType, TInPropertyBaseClass >:

Public Types

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
 

Public Member Functions

 TProperty (EInternal InInernal, FFieldClass *InClass)
 
 TProperty (FFieldVariant InOwner, const FName &InName, EObjectFlags InObjectFlags)
 
template<typename PropertyParamsType >
 TProperty (FFieldVariant InOwner, PropertyParamsType &Prop)
 
virtual FString GetCPPType (FString *ExtendedTypeText=NULL, uint32 CPPExportFlags=0) const override
 
virtual int32 GetMinAlignment () const override
 
virtual void LinkInternal (FArchive &Ar) override
 
virtual void CopyValuesInternal (void *Dest, void const *Src, int32 Count) const 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
 
virtual bool HasIntrusiveUnsetOptionalState () const override
 
virtual void InitializeIntrusiveUnsetOptionalValue (void *Data) const override
 
virtual bool IsIntrusiveOptionalValueSet (const void *Data) const override
 
virtual void ClearIntrusiveOptionalValue (void *Data) const override
 

Additional Inherited Members

- 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)
 
- Static Protected Member Functions inherited from TPropertyTypeFundamentals< InTCppType >
static EPropertyFlags GetComputedFlagsPropertyFlags ()
 

Member Typedef Documentation

◆ Super

template<typename InTCppType , class TInPropertyBaseClass >
typedef TInPropertyBaseClass TProperty< InTCppType, TInPropertyBaseClass >::Super

◆ TCppType

template<typename InTCppType , class TInPropertyBaseClass >
typedef InTCppType TProperty< InTCppType, TInPropertyBaseClass >::TCppType

◆ TTypeFundamentals

template<typename InTCppType , class TInPropertyBaseClass >
typedef TPropertyTypeFundamentals<InTCppType> TProperty< InTCppType, TInPropertyBaseClass >::TTypeFundamentals

Constructor & Destructor Documentation

◆ TProperty() [1/3]

template<typename InTCppType , class TInPropertyBaseClass >
TProperty< InTCppType, TInPropertyBaseClass >::TProperty ( EInternal  InInernal,
FFieldClass InClass 
)
inline

◆ TProperty() [2/3]

template<typename InTCppType , class TInPropertyBaseClass >
TProperty< InTCppType, TInPropertyBaseClass >::TProperty ( FFieldVariant  InOwner,
const FName InName,
EObjectFlags  InObjectFlags 
)
inline

◆ TProperty() [3/3]

template<typename InTCppType , class TInPropertyBaseClass >
TProperty< InTCppType, TInPropertyBaseClass >::TProperty ( FFieldVariant  InOwner,
PropertyParamsType Prop 
)
inline

Constructor used for constructing compiled in properties

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

Member Function Documentation

◆ ClearIntrusiveOptionalValue()

template<typename InTCppType , class TInPropertyBaseClass >
virtual void TProperty< InTCppType, TInPropertyBaseClass >::ClearIntrusiveOptionalValue ( void Data) const
inlineoverridevirtual

◆ ClearValueInternal()

template<typename InTCppType , class TInPropertyBaseClass >
virtual void TProperty< InTCppType, TInPropertyBaseClass >::ClearValueInternal ( void Data) const
inlineoverridevirtual

Reimplemented in FArrayProperty, FMapProperty, and FSetProperty.

◆ CopyValuesInternal()

template<typename InTCppType , class TInPropertyBaseClass >
virtual void TProperty< InTCppType, TInPropertyBaseClass >::CopyValuesInternal ( void Dest,
void const *  Src,
int32  Count 
) const
inlineoverridevirtual

Reimplemented in FArrayProperty, FMapProperty, and FSetProperty.

◆ DestroyValueInternal()

template<typename InTCppType , class TInPropertyBaseClass >
virtual void TProperty< InTCppType, TInPropertyBaseClass >::DestroyValueInternal ( void Dest) const
inlineoverridevirtual

Reimplemented in FArrayProperty, FMapProperty, and FSetProperty.

◆ GetCPPType()

◆ GetMinAlignment()

template<typename InTCppType , class TInPropertyBaseClass >
virtual int32 TProperty< InTCppType, TInPropertyBaseClass >::GetMinAlignment ( ) const
inlineoverridevirtual

Reimplemented in FArrayProperty.

◆ GetOptionalPropertyValue_InContainer()

template<typename InTCppType , class TInPropertyBaseClass >
UE_FORCEINLINE_HINT TCppType TProperty< InTCppType, TInPropertyBaseClass >::GetOptionalPropertyValue_InContainer ( void const *  B,
int32  ArrayIndex = 0 
) const
inline

Get the value of the property from a container address, unless it is NULL, then return the default value

◆ GetPropertyValue_InContainer()

template<typename InTCppType , class TInPropertyBaseClass >
UE_FORCEINLINE_HINT TCppType const & TProperty< InTCppType, TInPropertyBaseClass >::GetPropertyValue_InContainer ( void const *  A,
int32  ArrayIndex = 0 
) const
inline

Get the value of the property from a container address

◆ GetPropertyValuePtr_InContainer() [1/2]

template<typename InTCppType , class TInPropertyBaseClass >
UE_FORCEINLINE_HINT TCppType * TProperty< InTCppType, TInPropertyBaseClass >::GetPropertyValuePtr_InContainer ( void A,
int32  ArrayIndex = 0 
) const
inline

Convert the address of a container to the address of the property value, in the proper type

◆ GetPropertyValuePtr_InContainer() [2/2]

template<typename InTCppType , class TInPropertyBaseClass >
UE_FORCEINLINE_HINT TCppType const * TProperty< InTCppType, TInPropertyBaseClass >::GetPropertyValuePtr_InContainer ( void const *  A,
int32  ArrayIndex = 0 
) const
inline

Convert the address of a container to the address of the property value, in the proper type

◆ GetValue_InContainer()

template<typename InTCppType , class TInPropertyBaseClass >
UE_FORCEINLINE_HINT void TProperty< InTCppType, TInPropertyBaseClass >::GetValue_InContainer ( void const *  InContainer,
TCppType OutValue 
) const
inline

◆ HasIntrusiveUnsetOptionalState()

template<typename InTCppType , class TInPropertyBaseClass >
virtual bool TProperty< InTCppType, TInPropertyBaseClass >::HasIntrusiveUnsetOptionalState ( ) const
inlineoverridevirtual

◆ InitializeIntrusiveUnsetOptionalValue()

template<typename InTCppType , class TInPropertyBaseClass >
virtual void TProperty< InTCppType, TInPropertyBaseClass >::InitializeIntrusiveUnsetOptionalValue ( void Data) const
inlineoverridevirtual

◆ InitializeValueInternal()

template<typename InTCppType , class TInPropertyBaseClass >
virtual void TProperty< InTCppType, TInPropertyBaseClass >::InitializeValueInternal ( void Dest) const
inlineoverridevirtual

Reimplemented in FArrayProperty, and FMapProperty.

◆ IsIntrusiveOptionalValueSet()

template<typename InTCppType , class TInPropertyBaseClass >
virtual bool TProperty< InTCppType, TInPropertyBaseClass >::IsIntrusiveOptionalValueSet ( const void Data) const
inlineoverridevirtual

◆ LinkInternal()

template<typename InTCppType , class TInPropertyBaseClass >
virtual void TProperty< InTCppType, TInPropertyBaseClass >::LinkInternal ( FArchive Ar)
inlineoverridevirtual

◆ SetPropertyValue_InContainer()

template<typename InTCppType , class TInPropertyBaseClass >
UE_FORCEINLINE_HINT void TProperty< InTCppType, TInPropertyBaseClass >::SetPropertyValue_InContainer ( void A,
TCppType const &  Value,
int32  ArrayIndex = 0 
) const
inline

Set the value of a property in a container

◆ SetValue_InContainer()

template<typename InTCppType , class TInPropertyBaseClass >
UE_FORCEINLINE_HINT void TProperty< InTCppType, TInPropertyBaseClass >::SetValue_InContainer ( void OutContainer,
const TCppType InValue 
) const
inline

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