Skip to main content

StateCommand.ixx File

Command for requesting state transitions. More...

Included Headers

#include <cassert> #include <memory> #include <helios.engine.state.types> #include <helios.engine.state.Bindings>

Namespaces Index

namespacehelios
namespaceengine

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

namespacestate

Generic, template-based state management system. More...

namespacecommands

State transition commands. More...

Classes Index

classStateCommand<StateType>

Command that requests a state transition. More...

Description

Command for requesting state transitions.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file StateCommand.ixx
3 * @brief Command for requesting state transitions.
4 */
5module;
6
7#include <cassert>
8#include <memory>
9
10export module helios.engine.state.commands.StateCommand;
11
12
13import helios.engine.state.Bindings;
14
15import helios.engine.state.types;
16
17using namespace helios::engine::state::types;
18
19export namespace helios::engine::state::commands {
20
21 /**
22 * @brief Command that requests a state transition.
23 *
24 * @details Encapsulates a StateTransitionRequest and routes it through
25 * the command dispatcher to the appropriate StateManager. The command
26 * does not execute directly; instead it uses the visitor pattern via
27 * accept() to be dispatched.
28 *
29 * @tparam StateType The state enum type.
30 *
31 * @see StateTransitionRequest
32 * @see StateCommandDispatcher
33 * @see StateManager
34 */
35 template<typename StateType>
37
38 /**
39 * @brief The transition request to process.
40 */
41 StateTransitionRequest<StateType> transitionRequest_;
42
43
44 public:
45
46 /**
47 * @brief Constructs a state command.
48 *
49 * @param transitionRequest The transition request.
50 */
52 : transitionRequest_(transitionRequest) {}
53
54 /**
55 * @brief Returns the transition request.
56 *
57 * @return The encapsulated transition request.
58 */
60 return transitionRequest_;
61 }
62
63
64 };
65
66
67}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.