UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PackageRole.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
8
9namespace uLang
10{
11
12// Describes the role a package plays in a Verse project
13// Note: EPackageRole must mirror EVersePackageRole
22
23constexpr auto ExternalPackageRole = Cases<
28
33
34static inline const char* ToString(EPackageRole Role)
35{
36 switch (Role)
37 {
38 case EPackageRole::Source: return "Source";
39 case EPackageRole::External: return "External";
40 case EPackageRole::GeneralCompatConstraint: return "GeneralCompatConstraint";
41 case EPackageRole::PersistenceCompatConstraint: return "PersistenceCompatConstraint";
42 case EPackageRole::PersistenceSoftCompatConstraint: return "PersistenceSoftCompatConstraint";
43 default: ULANG_UNREACHABLE();
44 }
45}
46
47static inline TOptional<EPackageRole> ToPackageRole(const CUTF8StringView& String)
48{
49 if (String == "Source")
50 {
51 return {EPackageRole::Source};
52 }
53 else if (String == "External")
54 {
56 }
57 else if (String == "GeneralCompatConstraint")
58 {
60 }
61 else if (String == "PersistenceCompatConstraint")
62 {
64 }
65 else if (String == "PersistenceSoftCompatConstraint")
66 {
68 }
69 else
70 {
71 return {};
72 }
73}
74
75}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ULANG_UNREACHABLE()
Definition Common.h:243
Definition VVMEngineEnvironment.h:23
constexpr auto ExternalPackageRole
Definition PackageRole.h:23
constexpr TCases< Args... > Cases
Definition Cases.h:35
constexpr auto ConstraintPackageRole
Definition PackageRole.h:29
EPackageRole
Definition PackageRole.h:15
Definition Optional.h:131