DUNE-FUNCTIONS (unstable)
Class storing local functions using type erasure. More...
#include <dune/functions/common/localfunction.hh>
Public Member Functions | |
template<class F , disableCopyMove< LocalFunction, F > = 0> | |
LocalFunction (F &&f) | |
Construct from function. More... | |
Range | operator() (const Domain &x) const |
Evaluation of wrapped function. | |
void | bind (const LocalContext &context) |
Bind function to a local context. More... | |
void | unbind () |
Unbind from local context. | |
bool | bound () const |
Return if the local function is bound to a grid element. | |
const LocalContext & | localContext () const |
Obtain local context this LocalFunction is bound to. | |
Friends | |
DerivativeInterface | derivative (const LocalFunction &t) |
Get derivative of wrapped function. More... | |
Detailed Description
class Dune::Functions::LocalFunction< Range(Domain), LocalContext, DerivativeTraits, bufferSize >
Class storing local functions using type erasure.
- Template Parameters
-
Range Range type Domain Domain type LocalContext Type of local context where this function is defined on DerivativeTraits Traits class to determine range of derivative. bufferSize Size of stack buffer for small object optimization (defaults to 56)
This models the Concept::LocalFunction<Range(Domain), LocalContext, DerivativeTraits> concept. Objects of this type are returned as local functions by the GridFunction wrapper. Notice that the DerivativeTraits type used here should normally be LocalDerivativeTraits<E,GDE> where GDE is the DerivativeTraits type of the corresponding global function. Small object optimization is used to store the given function. If its size exceed bufferSize
, memory will be allocated dynamically.
Constructor & Destructor Documentation
◆ LocalFunction()
|
inline |
Construct from function.
- Template Parameters
-
F Function type
- Parameters
-
f Function of type F
Calling derivative(DifferentiableFunction) will result in an exception if the passed function does provide a free derivative() function found via ADL.
Member Function Documentation
◆ bind()
|
inline |
Bind function to a local context.
You must bind a LocalFunction to a local context before you can evaluate it.
The documentation for this class was generated from the following file:
- dune/functions/common/localfunction.hh