载入中...
搜索中...
未找到
Identity.h 文件参考

Strong identity values shared by persistence, content and logical-name APIs. 更多...

#include "common/Export.h"
#include <array>
#include <chrono>
#include <compare>
#include <cstddef>
#include <cstdint>
#include <functional>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <utility>

浏览源代码.

类

struct  eve::detail::PersistentIdTag
 PersistentIdTag public API. 更多...
 
struct  eve::detail::ContentIdTag
 ContentIdTag public API. 更多...
 
struct  eve::detail::AssetGuidTag
 AssetGuidTag public API. 更多...
 
struct  eve::detail::DocumentIdTag
 DocumentIdTag public API. 更多...
 
struct  eve::detail::SceneObjectIdTag
 SceneObjectIdTag public API. 更多...
 
struct  eve::detail::ArtifactIdTag
 ArtifactIdTag public API. 更多...
 
struct  eve::detail::EventIdTag
 EventIdTag public API. 更多...
 
struct  eve::detail::CommandIdTag
 CommandIdTag public API. 更多...
 
struct  eve::detail::TransactionIdTag
 TransactionIdTag public API. 更多...
 
struct  eve::detail::OperationIdTag
 OperationIdTag public API. 更多...
 
struct  eve::detail::EffectIdTag
 EffectIdTag public API. 更多...
 
class  eve::detail::UuidIdState
 Tag-free state of a compatibility-aware UUID identity adapter. 更多...
 
class  eve::detail::Id128< Tag >
 Id128 public API. 更多...
 
class  eve::UuidIdAdapter< Tag >
 UUID-backed identifier adapter for legacy textual boundaries. 更多...
 
class  eve::LogicalId
 Human-readable, scoped identifier in the form namespace:name. 更多...
 
class  eve::UuidV7Generator
 Injectable UUIDv7 generator. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::detail
 
namespace  std
 

类型定义

using eve::detail::UuidBytes = std::array< std::uint8_t, 16 >
 Byte representation shared by every tagged 128-bit identity.
 
template<typename Tag >
using eve::StrongUuid = detail::Id128< Tag >
 Public alias for a tag-safe 128-bit UUID identity.
 
using eve::PersistentId = StrongUuid< detail::PersistentIdTag >
 Stable instance identity for persistence, networking and process boundaries.
 
using eve::ContentId = StrongUuid< detail::ContentIdTag >
 Deterministic identity of equivalent canonical content.
 
using eve::AssetGuid = StrongUuid< detail::AssetGuidTag >
 Stable asset identity used by sidecars, package manifests and caches.
 
using eve::DocumentId = StrongUuid< detail::DocumentIdTag >
 Stable document identity for persisted/editor-facing documents.
 
using eve::SceneObjectId = StrongUuid< detail::SceneObjectIdTag >
 Stable persisted scene-object identity; distinct from an ECS handle.
 
using eve::ArtifactId = StrongUuid< detail::ArtifactIdTag >
 Stable generated-artifact identity; content equivalence remains ContentId.
 
using eve::EventId = StrongUuid< detail::EventIdTag >
 Stable event identity for event envelopes and causal references.
 
using eve::CommandId = StrongUuid< detail::CommandIdTag >
 Stable command identity for causal references.
 
using eve::TransactionId = StrongUuid< detail::TransactionIdTag >
 Stable transaction identity for cross-module coordination and snapshots.
 
using eve::OperationId = StrongUuid< detail::OperationIdTag >
 Stable operation identity inside a persisted transaction plan.
 
using eve::EffectId = StrongUuid< detail::EffectIdTag >
 Stable effect-instance identity when an effect crosses a persistence/event boundary.
 
using eve::UuidEntropySource = std::function< bool(std::span< std::uint8_t > bytes)>
 Entropy callback used by UUIDv7 generation.
 
using eve::UuidClock = std::function< std::chrono::system_clock::time_point()>
 Clock callback used by the injectable UUIDv7 generator.
 

函数

std::optional< UuidBytes > eve::detail::parseUuidText (std::string_view text) noexcept
 Parses canonical UUID text without knowing the domain tag.
 
std::string eve::detail::formatUuidBytes (const UuidBytes &bytes)
 Formats UUID bytes as lower-case canonical 8-4-4-4-12 text.
 
UuidBytes eve::detail::childUuidBytes (const UuidBytes &parent, std::string_view role) noexcept
 Derives a deterministic child UUID from a parent and a role.
 
std::optional< PersistentId > eve::generateUuidV7 (std::chrono::system_clock::time_point timestamp, const UuidEntropySource &entropy)
 Constructs a UUIDv7 without owning a clock or generator object.
 

详细描述

Strong identity values shared by persistence, content and logical-name APIs.

The types in this file deliberately do not replace runtime handles. A PersistentId or ContentId can cross a process boundary, while an ECS or registry handle remains local to its owner and generation domain.

在文件 Identity.h 中定义.