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 C++ API.
Definition: analysis_definition.h:8
SimulationModuleType
Health GPS simulation modules types enumeration.
Definition: interfaces.h:11
Global namespace.
Definition: jsonparser.h:88