Flow123d
master-f44eb46
|
Abstract templated explicit functor class. More...
#include <functors.hh>
Public Member Functions | |
FunctorBase () | |
Constructor. More... | |
virtual | ~FunctorBase () |
Destructor. More... | |
virtual Type | operator() (Type x)=0 |
Virtual operator () with type Type . More... | |
Public Member Functions inherited from FunctorCommon< Type > | |
FunctorCommon () | |
Constructor. More... | |
virtual | ~FunctorCommon () |
Destructor. More... | |
void | set_param (unsigned int param_name, double param_value) |
Sets a functor's parameter. More... | |
template<class TType > | |
void | set_param_from_func (FunctorCommon< TType > *func) |
Sets a functor's parameters from another functor. More... | |
double | param (unsigned int param_name) |
Returns parameter. More... | |
Additional Inherited Members | |
Protected Attributes inherited from FunctorCommon< Type > | |
std::vector< double > | param_ |
Abstract templated explicit functor class.
This class represents an explicit functor. Actual non-abstract functor is obtained by deriving from this class and overriding the operator(). Parameters can be set and used by the methods of ancestor class FunctorCommon.
The template is used to enable computing derivates by FADBAD++ library. The virtual operator() needs to operate both with type double and FADBAD++ types, such as B<double>
and T<double>
.
Simple usage example for function with three parameters:
Definition at line 107 of file functors.hh.
FunctorBase< Type >::FunctorBase |
Constructor.
Definition at line 70 of file functors_impl.hh.
|
virtual |
Destructor.
Definition at line 73 of file functors_impl.hh.
|
pure virtual |
Virtual operator () with type Type
.
Implemented in InterpolantImplicit::FuncExplicit< Type >, Interpolant::FuncError_wp1, Interpolant::FuncError_lp, and InterpolantImplicit::FuncExplicit< double >.