载入中...
搜索中...
未找到
AssetDiff.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
7#include "asset/EvaManifest.h"
8
9namespace eve::asset {
10
12enum class EvaAssetChangeKind : std::uint8_t { Added, Removed, Changed };
13
25
28 std::vector<EvaAssetChange> assets;
29 std::uint32_t addedDependencies = 0;
30 std::uint32_t removedDependencies = 0;
31 bool entrypointsChanged = false;
33 [[nodiscard]] bool empty() const noexcept {
34 return assets.empty() && addedDependencies == 0 && removedDependencies == 0 &&
36 }
37};
38
40[[nodiscard]] EVENGINE_API_FOUNDATION Result<EvaPackageDiff> diffEvaManifests(const EvaManifest& before,
41 const EvaManifest& after);
42
43} // namespace eve::asset
Canonical manifest model for EVEngine Asset Archive (.eva) version 1.
#define EVENGINE_API_FOUNDATION
每个链接组(link group)各自的导出宏。
Definition Export.h:106
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Id128 public API.
Definition Identity.h:112
Result< EvaPackageDiff > diffEvaManifests(const EvaManifest &before, const EvaManifest &after)
Compare two admitted manifests without using paths, timestamps or archive order.
Definition AssetDiff.cpp:29
EvaAssetChangeKind
Stable asset-level change classification.
Definition AssetDiff.h:12
One canonical asset identity changed between source packages.
Definition AssetDiff.h:15
EvaAssetChangeKind kind
Definition AssetDiff.h:17
SchemaVersion beforeVersion
Definition AssetDiff.h:19
SchemaVersion afterVersion
Definition AssetDiff.h:22
Deterministically ordered semantic package difference.
Definition AssetDiff.h:27
std::uint32_t addedDependencies
Definition AssetDiff.h:29
std::uint32_t removedDependencies
Definition AssetDiff.h:30
std::vector< EvaAssetChange > assets
Definition AssetDiff.h:28
bool empty() const noexcept
True only when no canonical runtime-relevant manifest facts changed.
Definition AssetDiff.h:33