5 #ifndef ROADRUNNER_REGISTRATIONFACTORY_H
6 #define ROADRUNNER_REGISTRATIONFACTORY_H
8 #include "rrExporter.h"
11 #include "Registrable.h"
17 class ExecutableModel;
20 typedef std::vector<Registrable *> RegistrableVector;
52 template<
class FactoryType>
54 std::lock_guard<std::mutex> lockGuard(mutex);
55 static FactoryType factory;
59 virtual std::size_t size()
const;
61 virtual std::string name(std::size_t n)
const;
63 virtual std::string hint(std::size_t n)
const;
65 virtual std::string description(std::size_t n)
const;
74 RegistrableVector registrars;
Contains the base class for RoadRunner solvers.
Base class for all code generation systems; allows compiling and evaluating the model.
Definition: rrExecutableModel.h:118
Handles constructing a solver and contains meta information about it.
Definition: Registrable.h:23
Constructs new integrators.
Definition: RegistrationFactory.h:29
RegistrationFactory()=default
Prevents external instantiation.
static FactoryType & getInstance(std::mutex &mutex)
Returns the singleton instance of the integrator factory.
Definition: RegistrationFactory.h:53
Base class for all integrators and steady state solvers.
Definition: Solver.h:39