LBIBCell
 All Classes Functions Variables Friends Pages
LbmLib::solver::BioBaseSolver< T > Struct Template Reference

The Base class for all BioSolver implementations. This classes uses the recursive template idiom to automatically register child classes in the factory. To implement a solver inherit from this class and provide the same class as a template argument. Additionally, the class must provide a static member with the name which stores a unique name for the class. Declare the constructor and the static member name private and make the BioBaseSolver a friend class of this. More...

#include <BioBaseSolver.hpp>

Inheritance diagram for LbmLib::solver::BioBaseSolver< T >:
LbmLib::solver::BioAbstractSolver

Public Member Functions

std::string getName ()
 getName More...
 
- Public Member Functions inherited from LbmLib::solver::BioAbstractSolver
virtual ~BioAbstractSolver ()
 The virtual Destructor.
 
virtual void applyBioProcess (geometry::GeometryHandler &geometryhandler, solver::ForceSolver &forcesolver)=0
 The pure virtual method which applies the biological processes. More...
 

Protected Member Functions

 BioBaseSolver ()
 The Constructor which enforces specialization.
 
virtual ~BioBaseSolver ()
 Virtual destructor.
 
- Protected Member Functions inherited from LbmLib::solver::BioAbstractSolver
 BioAbstractSolver ()
 Protected Constructor. Only use create() method for instantiation.
 

Static Protected Member Functions

static BioAbstractSolvercreate ()
 Static constructor. A pointer to this function along with the name of the algorithm is registered in the Solver Factory. More...
 
static bool init ()
 init Registers the class in the Solver Factory More...
 

Static Protected Attributes

static bool reg = BioBaseSolver<T>::init()
 reg True if registration was successful.
 

Detailed Description

template<class T>
struct LbmLib::solver::BioBaseSolver< T >

The Base class for all BioSolver implementations. This classes uses the recursive template idiom to automatically register child classes in the factory. To implement a solver inherit from this class and provide the same class as a template argument. Additionally, the class must provide a static member with the name which stores a unique name for the class. Declare the constructor and the static member name private and make the BioBaseSolver a friend class of this.

Todo:
look at ... for an example

Definition at line 46 of file BioBaseSolver.hpp.

Member Function Documentation

template<class T>
static BioAbstractSolver* LbmLib::solver::BioBaseSolver< T >::create ( )
inlinestaticprotected

Static constructor. A pointer to this function along with the name of the algorithm is registered in the Solver Factory.

Returns
Pointer to a new BioAbstractSolver instance. Responsibility for allocated memory lies with the caller.

Definition at line 76 of file BioBaseSolver.hpp.

template<class T>
std::string LbmLib::solver::BioBaseSolver< T >::getName ( )
inlinevirtual

getName

Returns
returns the name of the solver

Implements LbmLib::solver::BioAbstractSolver.

Definition at line 52 of file BioBaseSolver.hpp.

template<class T>
static bool LbmLib::solver::BioBaseSolver< T >::init ( )
inlinestaticprotected

init Registers the class in the Solver Factory

Returns
True if successful.

Definition at line 89 of file BioBaseSolver.hpp.


The documentation for this struct was generated from the following file: