UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VVMNamedType.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#if WITH_VERSE_VM || defined(__INTELLISENSE__)
5
6#include "Templates/Casts.h"
8#include "VerseVM/VVMType.h"
10
11class UField;
12enum class ECoreRedirectFlags : uint32;
13
14namespace Verse
15{
16struct VArray;
17struct VPackage;
18
19// Abstract base class for VClass and VEnumeration
20struct VNamedType : VType
21{
23
24 VPackage& GetPackage() const { return *Package; }
25 VArray& GetRelativePath() const { return *RelativePath; }
26 VArray& GetBaseName() const { return *BaseName; }
27
29 void AppendScopeName(FUtf8StringBuilderBase& Builder) const;
31 COREUOBJECT_API FUtf8String GetFullName(); // used by ToJSON
32
33 bool HasUEType() const { return !!NativeType; }
34 template <typename FieldType>
35 FieldType* GetUEType() const { return Cast<FieldType>(NativeType.Get().ExtractUObject()); }
36 template <typename FieldType>
37 FieldType* GetUETypeChecked() const { return CastChecked<FieldType>(NativeType.Get().AsUObject()); }
38 bool IsNativeBound() const { return bNativeBound; }
39
41
42 COREUOBJECT_API void AppendToStringImpl(FAllocationContext Context, FUtf8StringBuilderBase& Builder, EValueStringFormat Format, TSet<const void*>& VisitedObjects, uint32 RecursionDepth);
43
44 void SerializeImpl(FAllocationContext Context, FStructuredArchiveVisitor& Visitor);
45
46protected:
48
50
51 // The Verse path identifying this type, split into package, path, and name.
52
56
57 // Attributes holds all the attributes for this type and its members, flattened into one array.
58 // Each entry of AttributeIndices is the starting index of a group in Attributes.
59 // AttributeIndices has one extra element at the end, to simplify lookup.
61 TWriteBarrier<VArray> Attributes;
62
65
66 bool bNativeBound;
67
68 friend class FInterpreter;
69};
70} // namespace Verse
71#endif // WITH_VERSE_VM
ECoreRedirectFlags
Definition CoreRedirects.h:41
FPlatformTypes::UTF8CHAR UTF8CHAR
An 8-bit character containing a UTF8 (Unicode, 8-bit, variable-width) code unit.
Definition Platform.h:1137
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition StringBuilder.h:79
Definition Class.h:181
bool SerializeImpl(const UScriptStruct *InSourceEventType, const void *InSourceEventData, FLiveLinkSerializedFrameData &OutSerializedData)
Definition LiveLinkCompression.cpp:126
FString GetFullName(const UObject *Obj, const UObject *StopOuter, EObjectFullNameFlags Flags)
Definition ObjectFwd.cpp:38
UPackage * GetPackage(const UObject *Obj)
Definition ObjectFwd.cpp:33
@ RelativePath
[PropertyMetadata] Used by FDirectoryPath properties. Indicates that the directory dialog will output...
Definition ObjectMacros.h:1473
Definition Archive.h:36