7#include <unordered_map>
36 std::size_t
size() const noexcept;
Define the data repository interface for input datasets and back-end storage.
Definition repository.h:18
Defines the SimulationModule factory data type.
Definition modulefactory.h:21
ModuleType create(const SimulationModuleType type, const ModelInput &config)
Create a polymorphic SimulationModule instance.
Definition modulefactory.cpp:21
SimulationModuleFactory()=delete
ModuleType(*)(Repository &, const ModelInput &) ConcreteBuilder
Concrete module builder function signature.
Definition modulefactory.h:27
std::size_t size() const noexcept
Gets the number of registered module instance.
Definition modulefactory.cpp:9
void register_builder(const SimulationModuleType type, const ConcreteBuilder builder)
Registers a simulation module type builder function.
Definition modulefactory.cpp:15
bool contains(const SimulationModuleType type) const noexcept
Determine whether the factory contains an instance of a module type.
Definition modulefactory.cpp:11
std::shared_ptr< SimulationModule > ModuleType
Base module type.
Definition modulefactory.h:24
Top-level namespace for Health-GPS Console host application.
Definition command_options.cpp:8
SimulationModuleType
Health GPS simulation modules types enumeration.
Definition interfaces.h:13
Global namespace.
Definition column_iterator.h:123