#include <CellCycleModelOdeSolver.hpp>
Inherits AbstractCellCycleModelOdeSolver, and boost::noncopyable.
Public Member Functions | |
bool | IsSetUp () |
void | Initialise () |
virtual bool | IsAdaptive () |
Static Public Member Functions | |
static boost::shared_ptr < CellCycleModelOdeSolver < CELL_CYCLE_MODEL, ODE_SOLVER > > | Instance () |
Private Member Functions | |
CellCycleModelOdeSolver () | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Static Private Attributes | |
static boost::shared_ptr < CellCycleModelOdeSolver < CELL_CYCLE_MODEL, ODE_SOLVER > > | mpInstance |
Friends | |
class | boost::serialization::access |
A concrete implementation of AbstractCellCycleModelOdeSolver, that uses templates to provide an implementation for any pair of cell-cycle model and ODE solver classes.
All ODE-based cell-cycle model developers need to do is set mpOdeSolver in their constructor: mpOdeSolver = CellCycleModelOdeSolver<CELL_CYCLE_MODEL, ODE_SOLVER>::Instance();
This class contains all the machinery to make it a singleton, hence providing exactly one instance per pair of values of the template parameters.
Definition at line 58 of file CellCycleModelOdeSolver.hpp.
CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::CellCycleModelOdeSolver | ( | ) | [inline, private] |
Default constructor. Not user accessible; to obtain an instance of this class use the Instance method.
The semantics of shared_ptr are different from normal pointers; we don't care if a second instance is constructed when loading an archive, since archiving the shared_ptr will ensure that the 'singleton' is correctly serialized. Thus, here we do not require an assertion that mpInstance is NULL, as we do in the constructors of the SimulationTime singleton class.
Definition at line 108 of file CellCycleModelOdeSolver.hpp.
void CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::Initialise | ( | void | ) | [inline, virtual] |
Initialise the ODE solver.
Implements AbstractCellCycleModelOdeSolver.
Definition at line 137 of file CellCycleModelOdeSolver.hpp.
References AbstractCellCycleModelOdeSolver::mpOdeSolver.
boost::shared_ptr< CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER > > CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::Instance | ( | ) | [inline, static] |
Definition at line 121 of file CellCycleModelOdeSolver.hpp.
References CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::mpInstance.
bool CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::IsAdaptive | ( | ) | [inline, virtual] |
By default calls the base class version; it is defined here so that specializations can override it.
Reimplemented from AbstractCellCycleModelOdeSolver.
Definition at line 152 of file CellCycleModelOdeSolver.hpp.
bool CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::IsSetUp | ( | ) | [inline, virtual] |
Implements AbstractCellCycleModelOdeSolver.
Definition at line 131 of file CellCycleModelOdeSolver.hpp.
References AbstractCellCycleModelOdeSolver::mpOdeSolver.
void CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the cell-cycle model, never used directly - boost uses this.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractCellCycleModelOdeSolver.
Definition at line 76 of file CellCycleModelOdeSolver.hpp.
References CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::mpInstance.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCellCycleModelOdeSolver.
Definition at line 68 of file CellCycleModelOdeSolver.hpp.
boost::shared_ptr< CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER > > CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::mpInstance [inline, static, private] |
The single instance of this class, for this ODE_SOLVER.
Definition of the instance static member.
Definition at line 62 of file CellCycleModelOdeSolver.hpp.
Referenced by CellCycleModelOdeSolver< CELL_CYCLE_MODEL, BackwardEulerIvpOdeSolver >::Instance(), CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::Instance(), CellCycleModelOdeSolver< CELL_CYCLE_MODEL, BackwardEulerIvpOdeSolver >::serialize(), and CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::serialize().