Skip to main content

SceneId.ixx File

Strongly-typed identifier for scenes. More...

Included Headers

#include <cstdint> #include <string_view> #include <helios.core.data> #include <helios.core.types> #include <helios.core.algorithms>

Namespaces Index

namespacehelios
namespaceengine

Main engine module aggregating core infrastructure and game systems. More...

namespacemodules

Domain-specific components and systems. More...

namespacescene

Scene graph integration for game entities. More...

namespacetypes

Types and data structures for scene management. More...

Classes Index

structSceneIdTag

Tag type for SceneId. More...

structhash<helios::engine::modules::scene::types::SceneId>

Hash specialization for SceneId. More...

Description

Strongly-typed identifier for scenes.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file SceneId.ixx
3 * @brief Strongly-typed identifier for scenes.
4 */
5module;
6
7#include <cstdint>
8#include <string_view>
9
10export module helios.engine.modules.scene.types.SceneId;
11
12import helios.core.algorithms;
13import helios.core.types;
14import helios.core.data;
15
17
18 /**
19 * @brief Tag type for SceneId.
20 */
21 struct SceneIdTag{};
22
23 /**
24 * @brief Strongly-typed identifier for scenes.
25 *
26 * @details Uses FNV-1a string hashing to generate unique identifiers
27 * at compile time. Enables type-safe referencing of scenes by name
28 * (e.g., "Ui", "Game").
29 *
30 * @see helios::core::data::StrongId
31 */
33
34}
35
36/**
37 * @brief Hash specialization for SceneId.
38 */
39template<>
40struct std::hash<helios::engine::modules::scene::types::SceneId> {
41 std::size_t operator()(const helios::engine::modules::scene::types::SceneId& id) const noexcept {
42 return id.value();
43 }
44
45};

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.