dune-functions 2.9.0
Public Types | Public Member Functions | Friends | List of all members
Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F > Class Template Reference

Wrap a list of callable objects as derivative sequence modelling Concept::DifferentiableFunction<Range(Domain), DerivativeTraits> More...

#include <dune/functions/common/differentiablefunctionfromcallables.hh>

Public Types

using Signature = Range(Domain)
 Signature of function. More...
 
using RawSignature = typename SignatureTraits< Signature >::RawSignature
 
using DerivativeSignature = typename DerivativeTraits< RawSignature >::Range(Domain)
 Signature of derivative. More...
 
using Derivative = DifferentiableFunction< DerivativeSignature, DerivativeTraits >
 Type of derivative. More...
 

Public Member Functions

template<class FF , disableCopyMove< DifferentiableFunctionFromCallables, FF > = 0>
 DifferentiableFunctionFromCallables (FF &&f)
 Constructor copying the given function. More...
 
Range operator() (const Domain &x) const
 Evaluate function. More...
 

Friends

Derivative derivative (const DifferentiableFunctionFromCallables &t)
 Get derivative of DifferentiableFunctionFromCallables. More...
 

Detailed Description

template<class Range, class Domain, template< class > class DerivativeTraits, class F>
class Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F >

Wrap a list of callable objects as derivative sequence modelling Concept::DifferentiableFunction<Range(Domain), DerivativeTraits>

Template Parameters
RangeRange type of function
DomainDomain type of function

You can use this to implement a differentiable function including a variable number of derivatives using callable objects.

This models the Concept::DifferentiableFunction<Range(Domain), DerivativeTraits> concept.

Note that using makeDifferentiableFunction will be less verbose than creating this wrapper manually.

Member Typedef Documentation

◆ Derivative

template<class Range , class Domain , template< class > class DerivativeTraits, class F >
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F >::Derivative = DifferentiableFunction<DerivativeSignature, DerivativeTraits>

Type of derivative.

◆ DerivativeSignature

template<class Range , class Domain , template< class > class DerivativeTraits, class F >
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F >::DerivativeSignature = typename DerivativeTraits<RawSignature>::Range(Domain)

Signature of derivative.

◆ RawSignature

template<class Range , class Domain , template< class > class DerivativeTraits, class F >
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F >::RawSignature = typename SignatureTraits<Signature>::RawSignature

◆ Signature

template<class Range , class Domain , template< class > class DerivativeTraits, class F >
using Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F >::Signature = Range(Domain)

Signature of function.

Constructor & Destructor Documentation

◆ DifferentiableFunctionFromCallables()

template<class Range , class Domain , template< class > class DerivativeTraits, class F >
template<class FF , disableCopyMove< DifferentiableFunctionFromCallables, FF > = 0>
Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F >::DifferentiableFunctionFromCallables ( FF &&  f)
inline

Constructor copying the given function.

Member Function Documentation

◆ operator()()

template<class Range , class Domain , template< class > class DerivativeTraits, class F >
Range Dune::Functions::DifferentiableFunctionFromCallables< Range(Domain), DerivativeTraits, F >::operator() ( const Domain &  x) const
inline

Evaluate function.


The documentation for this class was generated from the following file: