marian::DCBoundaryCondition< T > Class Template Reference
Deeply copyable BoundaryCondition. More...
#include <boundaryCondition.hpp>
Inheritance diagram for marian::DCBoundaryCondition< T >:

Public Member Functions | |
virtual BoundaryCondition * | clone () const |
Virtual copy constructor. | |
![]() | |
BoundaryCondition () | |
Constructor. | |
virtual void | beforeExplicitStep (TridiagonalOperator &L)=0 |
Modification of tridiagonal matrix before explicit step. More... | |
virtual void | afterExplicitStep (std::vector< double > &f, double t)=0 |
Modification of solution of after explicit step. More... | |
virtual void | beforeImplicitStep (TridiagonalOperator &L, std::vector< double > &f, double t)=0 |
Modification of tridiagonal matrix before equation f'=Lf is solved. More... | |
virtual void | afterImplicitStep (std::vector< double > &f, double t)=0 |
Modification of solution of after solving equation f'=Lf is solved. More... | |
virtual std::string | info () const =0 |
Returns the type of boundary condition. More... | |
virtual | ~BoundaryCondition () |
Destructor. | |
Detailed Description
template<typename T>
class marian::DCBoundaryCondition< T >
Class implements Curiously Recurring Template Pattern (see Wikipedia site).
When using polymorphism, one sometimes needs to create copies of objects by the base class pointer. A commonly used idiom for this is adding a virtual clone function that is defined in every derived class. The CRTP can be used to avoid having to duplicate that function or other similar functions in every derived class.
For more information about virtual copy constructor see [14]
The documentation for this class was generated from the following file:
- C:/Unix/home/OEM/fdm/src/FDM/boundaryConditions/boundaryCondition.hpp