dune-localfunctions 2.10
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::LocalInterpolationVirtualInterface< DomainType, RangeType > Class Template Referenceabstract

virtual base class for a local interpolation More...

#include <dune/localfunctions/common/virtualinterface.hh>

Inheritance diagram for Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >:
Inheritance graph

Public Types

using FunctionType = std::function< RangeType(DomainType)>
 type of function to interpolate
 
typedef RangeType::field_type CoefficientType
 type of the coefficient vector in the interpolate method
 

Public Member Functions

virtual ~LocalInterpolationVirtualInterface ()
 
virtual void interpolate (const FunctionType &f, std::vector< CoefficientType > &out) const =0
 determine coefficients interpolating a given function
 
template<class F , std::enable_if_t< not std::is_base_of< FunctionType, F >::value, int > = 0>
void interpolate (const F &f, std::vector< CoefficientType > &out) const
 determine coefficients interpolating a given function
 
template<class F , class C >
void interpolate (const F &f, std::vector< C > &out) const
 determine coefficients interpolating a given function
 

Detailed Description

template<class DomainType, class RangeType>
class Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >

virtual base class for a local interpolation

This class defines the interface using pure virtual methods. It also contains the interpolate method with function type as template parameter.

Member Typedef Documentation

◆ CoefficientType

template<class DomainType , class RangeType >
typedef RangeType::field_type Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::CoefficientType

type of the coefficient vector in the interpolate method

◆ FunctionType

template<class DomainType , class RangeType >
using Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::FunctionType = std::function<RangeType(DomainType)>

type of function to interpolate

Constructor & Destructor Documentation

◆ ~LocalInterpolationVirtualInterface()

template<class DomainType , class RangeType >
virtual Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::~LocalInterpolationVirtualInterface ( )
inlinevirtual

Member Function Documentation

◆ interpolate() [1/3]

template<class DomainType , class RangeType >
template<class F , class C >
void Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::interpolate ( const F &  f,
std::vector< C > &  out 
) const
inline

determine coefficients interpolating a given function

Parameters
[in]fFunction instance used to interpolate.
[out]outResulting coefficients vector.

◆ interpolate() [2/3]

template<class DomainType , class RangeType >
template<class F , std::enable_if_t< not std::is_base_of< FunctionType, F >::value, int > = 0>
void Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::interpolate ( const F &  f,
std::vector< CoefficientType > &  out 
) const
inline

determine coefficients interpolating a given function

Parameters
[in]fFunction instance used to interpolate.
[out]outResulting coefficients vector.

◆ interpolate() [3/3]

template<class DomainType , class RangeType >
virtual void Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::interpolate ( const FunctionType f,
std::vector< CoefficientType > &  out 
) const
pure virtual

determine coefficients interpolating a given function

This is the pure virtual method taking a VirtualFunction.

Parameters
[in]fFunction instance used to interpolate.
[out]outResulting coefficients vector.

Implements Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >.

Implemented in Dune::LocalInterpolationVirtualImp< DomainType, RangeType, Imp >.


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