Skip to main content

HasUpdate.ixx File

Concept requiring a per-frame update(UpdateContext&) method. More...

Included Headers

#include <concepts>

Namespaces Index

namespacehelios
namespaceengine

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

namespaceruntime

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

namespaceworld

World state management, resource registry, and per-frame update context. More...

namespacecommon

Shared type definitions, concepts, and tags used across engine subsystems. More...

namespaceconcepts

Compile-time concepts for engine role classification and capability detection. More...

Description

Concept requiring a per-frame update(UpdateContext&) method.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file HasUpdate.ixx
3 * @brief Concept requiring a per-frame update(UpdateContext&) method.
4 */
5module;
6
7#include <concepts>
8
9export module helios.engine.common.concepts.HasUpdate;
10
11export namespace helios::engine::runtime::world {
12 class UpdateContext;
13}
14
16
17 /**
18 * @brief Requires that T provides a `void update(UpdateContext&)` method.
19 *
20 * @details This is the mandatory interface for concrete system classes.
21 * The System wrapper enforces this concept at construction time.
22 *
23 * @tparam T The type to inspect.
24 *
25 * @see System
26 */
27 template<typename T>
28 concept HasUpdate = requires(T& t, helios::engine::runtime::world::UpdateContext& updateContext) {
29 {t.update(updateContext) } -> std::same_as<void>;
30 };
31
32}
33
34

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.