Skip to main content

SpawnRuleId.ixx File

Strongly-typed identifier for SpawnRule instances. 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...

namespaceruntime

Runtime infrastructure for game execution and lifecycle orchestration. More...

namespacespawn

Entity spawning infrastructure for the helios engine. More...

namespacetypes

Classes Index

structSpawnRuleIdTag

Tag type for SpawnRuleId. More...

structhash<helios::engine::runtime::spawn::types::SpawnRuleId>

Hash specialization for SpawnRuleId. More...

Description

Strongly-typed identifier for SpawnRule instances.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file SpawnRuleId.ixx
3 * @brief Strongly-typed identifier for SpawnRule instances.
4 */
5module;
6
7#include <cstdint>
8#include <string_view>
9
10export module helios.engine.runtime.spawn.types.SpawnRuleId;
11
12import helios.core.algorithms;
13import helios.core.types;
14import helios.core.data;
15
17
18 /**
19 * @brief Tag type for SpawnRuleId.
20 */
21 struct SpawnRuleIdTag{};
22
23 /**
24 * @brief Strongly-typed identifier for SpawnRule instances.
25 *
26 * @details Provides type-safe identification for spawn rules,
27 * which define the conditions under which entities are spawned
28 * (timing, pool limits, etc.). Uses FNV-1a hashing for compile-time
29 * string-based construction.
30 *
31 * @see helios::core::data::StrongId
32 * @see SpawnProfileId
33 * @see GameObjectPoolId
34 */
36
37}
38
39/**
40 * @brief Hash specialization for SpawnRuleId.
41 */
42template<>
43struct std::hash<helios::engine::runtime::spawn::types::SpawnRuleId> {
44 std::size_t operator()(const helios::engine::runtime::spawn::types::SpawnRuleId& id) const noexcept {
45 return id.value();
46 }
47
48};

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.