marian::DCBoundaryCondition< T > Class Template Reference

Deeply copyable BoundaryCondition. More...

#include <boundaryCondition.hpp>

Inheritance diagram for marian::DCBoundaryCondition< T >:
marian::BoundaryCondition

Public Member Functions

virtual BoundaryConditionclone () const
 Virtual copy constructor.
 
- Public Member Functions inherited from marian::BoundaryCondition
 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: