UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FieldPathProperty.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Containers/Array.h"
6#include "CoreTypes.h"
8#include "UObject/Field.h"
9#include "UObject/FieldPath.h"
10#include "UObject/NameTypes.h"
13#include "UObject/UnrealType.h"
14
15class FArchive;
16class FOutputDevice;
17class UClass;
18class UField;
19class UObject;
20class UStruct;
22struct FPropertyTag;
23
24class FFieldPathProperty : public TProperty<FFieldPath, FProperty>
25{
27
28public:
29
30 typedef Super::TTypeFundamentals TTypeFundamentals;
31 typedef TTypeFundamentals::TCppType TCppType;
32
34
40 COREUOBJECT_API FFieldPathProperty(FFieldVariant InOwner, const UECodeGen_Private::FFieldPathPropertyParams& Prop);
41
42#if UE_WITH_CONSTINIT_UOBJECT
43 consteval FFieldPathProperty(
44 UE::CodeGen::ConstInit::FPropertyParams InBaseParams,
46 )
49 {
50 }
51#endif
52
53#if WITH_EDITORONLY_DATA
55#endif // WITH_EDITORONLY_DATA
56
58
59 // UHT interface
60 COREUOBJECT_API virtual FString GetCPPMacroType(FString& ExtendedTypeText) const override;
61 COREUOBJECT_API virtual FString GetCPPType(FString* ExtendedTypeText = nullptr, uint32 CPPExportFlags = 0) const override;
62 // End of UHT interface
63
64 // FProperty interface
65 COREUOBJECT_API virtual EConvertFromTypeResult ConvertFromType(const FPropertyTag& Tag, FStructuredArchive::FSlot Slot, uint8* Data, const UStruct* DefaultsStruct, const uint8* Defaults) override;
66 COREUOBJECT_API virtual bool Identical( const void* A, const void* B, uint32 PortFlags ) const override;
67 COREUOBJECT_API virtual uint32 GetValueTypeHashInternal(const void* Src) const override;
68 COREUOBJECT_API virtual void SerializeItem(FStructuredArchive::FSlot Slot, void* Value, void const* Defaults) const override;
69 COREUOBJECT_API virtual void ExportText_Internal( FString& ValueStr, const void* PropertyValueOrContainer, EPropertyPointerType PropertyPointerType, const void* DefaultValue, UObject* Parent, int32 PortFlags, UObject* ExportRootScope ) const override;
71 COREUOBJECT_API virtual void Serialize(FArchive& Ar) override;
74 COREUOBJECT_API virtual bool SupportsNetSharedSerialization() const override;
75 // End of FProperty interface
76
77 static COREUOBJECT_API FString RedirectFieldPathName(const FString& InPathName);
78};
#define DECLARE_FIELD_API(TClass, TSuperClass, TStaticFlags, TRequiredAPI)
Definition Field.h:257
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ CASTCLASS_FFieldPathProperty
Definition ObjectMacros.h:388
EObjectFlags
Definition ObjectMacros.h:552
EPropertyObjectReferenceType
Definition ObjectMacros.h:533
EPropertyPointerType
Definition UnrealType.h:156
EConvertFromTypeResult
Definition UnrealType.h:130
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition Field.h:66
Definition FieldPathProperty.h:25
static COREUOBJECT_API FString RedirectFieldPathName(const FString &InPathName)
Definition FieldPathProperty.cpp:227
virtual COREUOBJECT_API uint32 GetValueTypeHashInternal(const void *Src) const override
Definition FieldPathProperty.cpp:91
virtual COREUOBJECT_API bool ContainsObjectReference(TArray< const FStructProperty * > &EncounteredStructProps, EPropertyObjectReferenceType InReferenceType=EPropertyObjectReferenceType::Strong) const override
Definition GarbageCollection.cpp:6624
virtual COREUOBJECT_API EConvertFromTypeResult ConvertFromType(const FPropertyTag &Tag, FStructuredArchive::FSlot Slot, uint8 *Data, const UStruct *DefaultsStruct, const uint8 *Defaults) override
Definition FieldPathProperty.cpp:37
virtual COREUOBJECT_API void EmitReferenceInfo(UE::GC::FSchemaBuilder &Schema, int32 BaseOffset, TArray< const FStructProperty * > &EncounteredStructProps, UE::GC::FPropertyStack &DebugPath) override
Definition GarbageCollection.cpp:6830
TTypeFundamentals::TCppType TCppType
Definition FieldPathProperty.h:31
virtual COREUOBJECT_API void SerializeItem(FStructuredArchive::FSlot Slot, void *Value, void const *Defaults) const override
Definition FieldPathProperty.cpp:96
virtual COREUOBJECT_API void ExportText_Internal(FString &ValueStr, const void *PropertyValueOrContainer, EPropertyPointerType PropertyPointerType, const void *DefaultValue, UObject *Parent, int32 PortFlags, UObject *ExportRootScope) const override
Definition FieldPathProperty.cpp:102
virtual COREUOBJECT_API FString GetCPPMacroType(FString &ExtendedTypeText) const override
Definition FieldPathProperty.cpp:202
virtual COREUOBJECT_API bool SupportsNetSharedSerialization() const override
Definition FieldPathProperty.cpp:222
FFieldClass * PropertyClass
Definition FieldPathProperty.h:57
Super::TTypeFundamentals TTypeFundamentals
Definition FieldPathProperty.h:30
Definition Field.h:353
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition UnrealType.h:174
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
Definition UnrealType.h:719
virtual FString GetCPPType(FString *ExtendedTypeText=NULL, uint32 CPPExportFlags=0) const PURE_VIRTUAL(FProperty
Definition UnrealType.h:339
virtual bool Identical(const void *A, const void *B, uint32 PortFlags=0) const PURE_VIRTUAL(FProperty
Definition UnrealType.h:515
Definition StructuredArchiveSlots.h:52
Definition Array.h:670
Definition UnrealType.h:1538
Definition Class.h:3793
Definition GarbageCollectionSchema.h:62
Definition GarbageCollectionSchema.h:265
Definition Class.h:181
Definition Object.h:95
Definition Class.h:480
Definition UObjectConstructInternal.h:15
Definition PropertyTag.h:38