UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StrProperty.h.inl
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*******************************************************************************************************************
4 * NOTICE *
5 * *
6 * This file is not intended to be included directly - it will be included by other .h files which have predefined *
7 * some macros to be expanded within this file. As such, it does not have a #pragma once as it is intended to be *
8 * included multiple times with different macro definitions. *
9 * *
10 * #includes needed to compile this file need to be specified in StrPropertyIncludes.h.inl file rather than here. *
11 *******************************************************************************************************************/
12#define UE_INCLUDETOOL_IGNORE_INCONSISTENT_STATE
13
14#ifndef UE_STRPROPERTY_CLASS
15 #error "StrProperty.h.inl should only be included after defining UE_STRPROPERTY_CLASS"
16#endif
17#ifndef UE_STRPROPERTY_STRINGTYPE
18 #error "StrProperty.h.inl should only be included after defining UE_STRPROPERTY_STRINGTYPE"
19#endif
20#ifndef UE_STRPROPERTY_CASTCLASSFLAG
21 #error "StrProperty.h.inl should only be included after defining UE_STRPROPERTY_CASTCLASSFLAG"
22#endif
23#ifndef UE_STRPROPERTY_PROPERTYPARAMSSTRUCT
24 #error "StrProperty.h.inl should only be included after defining UE_STRPROPERTY_PROPERTYPARAMSSTRUCT"
25#endif
26
27class UE_STRPROPERTY_CLASS : public TProperty_WithEqualityAndSerializer<UE_STRPROPERTY_STRINGTYPE, FProperty>
28{
30public:
33
35
41 COREUOBJECT_API UE_STRPROPERTY_CLASS(FFieldVariant InOwner, const UECodeGen_Private::UE_STRPROPERTY_PROPERTYPARAMSSTRUCT& Prop);
42
43#if UE_WITH_CONSTINIT_UOBJECT
44 explicit consteval UE_STRPROPERTY_CLASS(UE::CodeGen::ConstInit::FPropertyParams InBaseParams)
46 {
47 }
48#endif
49
50#if WITH_EDITORONLY_DATA
52#endif // WITH_EDITORONLY_DATA
53
54 // FProperty interface
55protected:
56 COREUOBJECT_API virtual void ExportText_Internal( FString& ValueStr, const void* PropertyValueOrContainer, EPropertyPointerType PropertyPointerType, const void* DefaultValue, UObject* Parent, int32 PortFlags, UObject* ExportRootScope ) const override;
57 COREUOBJECT_API virtual const TCHAR* ImportText_Internal(const TCHAR* Buffer, void* ContainerOrPropertyPtr, EPropertyPointerType PropertyPointerType, UObject* OwnerObject, int32 PortFlags, FOutputDevice* ErrorText) const override;
58public:
59 COREUOBJECT_API virtual EConvertFromTypeResult ConvertFromType(const FPropertyTag& Tag, FStructuredArchive::FSlot Slot, uint8* Data, const UStruct* DefaultsStruct, const uint8* Defaults) override;
60 COREUOBJECT_API uint32 GetValueTypeHashInternal(const void* Src) const override;
61 // End of FProperty interface
62};
#define UE_STRPROPERTY_CLASS
Definition AnsiStrProperty.cpp:8
#define UE_STRPROPERTY_CASTCLASSFLAG
Definition AnsiStrProperty.cpp:10
#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
EObjectFlags
Definition ObjectMacros.h:552
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 Field.h:353
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition StructuredArchiveSlots.h:52
UE_STRPROPERTY_STRINGTYPE TCppType
Definition UnrealType.h:1449
Definition UnrealType.h:1694
Definition StrProperty.h.inl:28
TTypeFundamentals::TCppType TCppType
Definition StrProperty.h.inl:32
Definition Class.h:181
Definition Object.h:95
Definition Class.h:480
Definition PropertyTag.h:38