#include <wrapped_functor.h>
Public Member Functions | |
WrappedFunctor (const FunctionBase< Output > &func) | |
WrappedFunctor (const WrappedFunctor &)=delete | |
WrappedFunctor & | operator= (const WrappedFunctor &)=delete |
WrappedFunctor (WrappedFunctor &&)=default | |
WrappedFunctor & | operator= (WrappedFunctor &&)=default |
virtual | ~WrappedFunctor ()=default |
virtual std::unique_ptr< FEMFunctionBase< Output > > | clone () const override |
virtual Output | operator() (const FEMContext &, const Point &p, const Real time=0.) override |
virtual void | operator() (const FEMContext &, const Point &p, const Real time, DenseVector< Output > &output) override |
virtual Output | component (const FEMContext &, unsigned int i, const Point &p, Real time=0.) override |
virtual void | init_context (const FEMContext &) |
void | operator() (const FEMContext &, const Point &p, DenseVector< Output > &output) |
Protected Attributes | |
std::unique_ptr< FunctionBase< Output > > | _func |
This class provides a wrapper with which to evaluate a (libMesh-style) function pointer in a FunctionBase-compatible interface. All overridden virtual functions are documented in fem_function_base.h.
Definition at line 44 of file wrapped_functor.h.
|
inline |
Constructor to wrap FunctionBase functors in a FEMFunctionBase compatible shim.
Definition at line 52 of file wrapped_functor.h.
|
delete |
This class can't be copy constructed or assigned because it contains a unique_ptr member.
|
default |
The remaining 5 special functions can be defaulted.
|
virtualdefault |
|
inlineoverridevirtual |
The new copy should be as "deep" as necessary to allow independent destruction and simultaneous evaluations of the copies in different threads.
Implements libMesh::FEMFunctionBase< Output >.
Definition at line 70 of file wrapped_functor.h.
|
inlineoverridevirtual |
i
at coordinate p
and time time
.Reimplemented from libMesh::FEMFunctionBase< Output >.
Definition at line 87 of file wrapped_functor.h.
References libMesh::WrappedFunctor< Output >::_func.
|
inlinevirtualinherited |
Prepares a context object for use.
Most problems will want to reimplement this for efficiency, in order to call FE::get_*() as their particular function requires.
Reimplemented in libMesh::ParsedFEMFunction< Output >, and libMesh::ParsedFEMFunction< T >.
Definition at line 73 of file fem_function_base.h.
|
inlineoverridevirtual |
p
and time time
, which defaults to zero.Pure virtual, so you have to override it.
Implements libMesh::FEMFunctionBase< Output >.
Definition at line 76 of file wrapped_functor.h.
References libMesh::WrappedFunctor< Output >::_func.
|
inlineoverridevirtual |
Evaluation function for time-dependent vector-valued functions. Sets output values in the passed-in output
DenseVector.
Pure virtual, so you have to override it.
Implements libMesh::FEMFunctionBase< Output >.
Definition at line 81 of file wrapped_functor.h.
References libMesh::WrappedFunctor< Output >::_func.
|
inlineinherited |
Evaluation function for time-independent vector-valued functions. Sets output values in the passed-in output
DenseVector.
Definition at line 145 of file fem_function_base.h.
|
delete |
|
default |
|
protected |
Definition at line 95 of file wrapped_functor.h.
Referenced by libMesh::WrappedFunctor< Output >::component(), and libMesh::WrappedFunctor< Output >::operator()().