Template Class ModuleLookup

Class Documentation

template<typename ...Modules>
class ModuleLookup

Helper template for resolving module dependencies during registration.

ModuleLookup searches the ModuleStack for all specified module types and returns a tuple of references to them. This is used by TaggedModule during construction to resolve its variadic Dependencies… pack into concrete module references.

This performs the dependency resolution once at registration time, enabling zero-cost access during the game loop.

Template Parameters:

Modules – Variadic pack of module types to look up

Public Types

using ModulesTuple = std::tuple<Modules&...>

Public Functions

inline explicit ModuleLookup(ModuleStack &module_stack)

Construct a lookup and search for all specified module types.

Parameters:

module_stack – The ModuleStack to search for dependencies

inline std::optional<ModulesTuple> get_modules() const

Get the resolved module dependencies.

Returns:

Optional tuple of module references, empty if any dependency was not found