UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CookDeterminismHelper.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#if WITH_EDITOR
6
7
#include "Containers/Map.h"
8
#include "Containers/Set.h"
9
#include "
Containers/StringView.h
"
10
#include "
Containers/UnrealString.h
"
11
#include "
Containers/Utf8String.h
"
12
#include "
Templates/RefCounting.h
"
13
#include "
Serialization/CompactBinary.h
"
14
15
class
ITargetPlatform
;
16
class
UObject
;
17
18
namespace
UE::Cook
19
{
20
21
struct
IDeterminismModifiedPackageContext
;
22
27
struct
IDeterminismConstructDiagnosticsContext
28
{
29
virtual
~IDeterminismConstructDiagnosticsContext
()
30
{
31
}
32
37
virtual
const
ITargetPlatform
* GetTargetPlatform() = 0;
38
40
virtual
void
AddDiagnostic
(
FUtf8StringView
DiagnosticName,
const
FCbField
&
Value
) = 0;
41
43
virtual
bool
FullDDCKeysRequested
()
const
= 0;
44
};
45
50
struct
IDeterminismModifiedExportContext
51
{
52
virtual
~IDeterminismModifiedExportContext
()
53
{
54
}
55
60
virtual
bool
IsModified
() = 0;
62
virtual
bool
IsPrimaryAsset
() = 0;
64
virtual
const
ITargetPlatform
* GetTargetPlatform() = 0;
69
virtual
const
TMap<FUtf8String, FCbField>
&
GetOldDiagnostics
() = 0;
74
virtual
const
TMap<FUtf8String, FCbField>
&
GetNewDiagnostics
() = 0;
76
virtual
IDeterminismModifiedPackageContext
&
GetPackageContext
() = 0;
78
virtual
FString
GetCompareText
() = 0;
79
84
virtual
void
AppendLog
(
FStringView
LogText) = 0;
86
virtual
void
AppendDiagnostics() = 0;
87
};
88
90
struct
IDeterminismModifiedPackageContext
91
{
92
virtual
~IDeterminismModifiedPackageContext
()
93
{
94
}
95
97
virtual
const
ITargetPlatform
* GetTargetPlatform() = 0;
102
virtual
const
TSet<UObject*>
&
GetModifiedExports
() = 0;
107
virtual
UObject
*
GetPrimaryAsset
() = 0;
114
virtual
const
IDeterminismModifiedExportContext
& GetExportContext(
UObject
*
Export
) = 0;
115
};
116
125
class
IDeterminismHelper
:
public
FRefCountBase
126
{
127
public
:
132
virtual
void
ConstructDiagnostics
(
IDeterminismConstructDiagnosticsContext
&
Context
)
133
{
134
}
135
141
virtual
void
OnPackageModified(
IDeterminismModifiedExportContext
& ExportContext)
142
{
143
if
(ExportContext.IsModified() || ExportContext.IsPrimaryAsset())
144
{
145
ExportContext.AppendDiagnostics();
146
}
147
}
148
};
149
150
}
// namespace UE::Cook
151
152
#endif
// WITH_EDITOR
EChaosVDMidPhaseFlags::IsModified
@ IsModified
CompactBinary.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
EInterchangePipelineTask::Export
@ Export
RefCounting.h
EColorPickerChannels::Value
@ Value
StringView.h
UnrealString.h
Utf8String.h
EVulkanSyncPointType::Context
@ Context
FCbField
Definition
CompactBinary.h:1252
FRefCountBase
Definition
RefCounting.h:213
TMap
Definition
UnrealString.h.inl:34
TStringView< UTF8CHAR >
UObject
Definition
Object.h:95
UE::Cook
Definition
CookOnTheFly.h:19
Engine
Source
Runtime
CoreUObject
Public
Cooker
CookDeterminismHelper.h
Generated by
1.9.8