36 #ifndef CELLCYCLEMODELODESOLVEREXPORTWRAPPER_HPP_
37 #define CELLCYCLEMODELODESOLVEREXPORTWRAPPER_HPP_
39 #include "CellCycleModelOdeSolver.hpp"
44 #include "CvodeAdaptor.hpp"
45 #include "BackwardEulerIvpOdeSolver.hpp"
46 #include "EulerIvpOdeSolver.hpp"
47 #include "HeunIvpOdeSolver.hpp"
48 #include "RungeKutta2IvpOdeSolver.hpp"
49 #include "RungeKutta4IvpOdeSolver.hpp"
56 #ifdef EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER
58 #undef EXPORT_CCM_INTERNAL
59 #undef EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER
60 #endif // EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER
62 #define EXPORT_CCM_INTERNAL(CCM_CLASS, ODE_SOLVER) \
63 EXPORT_TEMPLATE_CLASS2(CellCycleModelOdeSolver, CCM_CLASS, ODE_SOLVER)
66 #ifdef EXPORT_CCM_CVODE
68 #undef EXPORT_CCM_CVODE
69 #endif // EXPORT_CCM_CVODE
70 #define EXPORT_CCM_CVODE(CCM_CLASS) EXPORT_CCM_INTERNAL(CCM_CLASS, CvodeAdaptor)
72 #define EXPORT_CCM_CVODE(CCM_CLASS)
73 #endif // CHASTE_CVODE
75 #define EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER(CCM_CLASS) \
76 EXPORT_CCM_CVODE(CCM_CLASS) \
77 EXPORT_CCM_INTERNAL(CCM_CLASS, BackwardEulerIvpOdeSolver) \
78 EXPORT_CCM_INTERNAL(CCM_CLASS, EulerIvpOdeSolver) \
79 EXPORT_CCM_INTERNAL(CCM_CLASS, HeunIvpOdeSolver) \
80 EXPORT_CCM_INTERNAL(CCM_CLASS, RungeKutta2IvpOdeSolver) \
81 EXPORT_CCM_INTERNAL(CCM_CLASS, RungeKutta4IvpOdeSolver)