载入中...
搜索中...
未找到
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>命名空间 | |
| 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 中定义.