PLaSK library
Loading...
Searching...
No Matches
plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > > Struct Template Reference

Specialization which implements provider class which provides values in mesh points and uses interpolation. More...

#include <plask/provider/providerfor.hpp>

Inheritance diagram for plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >:
[legend]
Collaboration diagram for plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >:
[legend]

Classes

struct  ConstProviderType
 Return same value in all points. More...
 
struct  Transform
 Provider that uses mesh transformation and has a received for different mesh type. More...
 
struct  WithValue
 Template for implementation of field provider class which holds vector of values and mesh inside. More...
 

Public Types

typedef PropertyT PropertyTag
 
typedef SpaceT SpaceType
 
typedef PropertyAt< PropertyT, SpaceT >::ValueType ValueType
 
typedef FieldProvider< ValueType, SpaceT >::ProvidedType ProvidedType
 Type of provided value.
 
typedef PolymorphicDelegateProvider< ProviderFor< PropertyT, SpaceT >, ProvidedType(shared_ptr< const MeshD< SpaceT::DIM > > dst_mesh, _ExtraParams..., InterpolationMethod method)> Delegate
 Implementation of field provider class which delegates all operator() calls to external functor.
 
- Public Types inherited from plask::FieldProvider< PropertyAt< PropertyT, SpaceT >::ValueType, SpaceT, _ExtraParams... >
typedef LazyData< PropertyAt< PropertyT, SpaceT >::ValueType > ProvidedType
 Type of value provided by this (returned by operator()).
 
typedef SpaceT SpaceType
 

Public Member Functions

const charname () const override
 
- Public Member Functions inherited from plask::FieldProvider< PropertyAt< PropertyT, SpaceT >::ValueType, SpaceT, _ExtraParams... >
virtual ProvidedType operator() (shared_ptr< const MeshD< SpaceT::DIM > > dst_mesh, ExtraArgs... extra_args, InterpolationMethod method) const=0
 
ProvidedType operator() (shared_ptr< const MeshD< SpaceT::DIM > > dst_mesh, ExtraArgs... extra_args) const
 Call this->operator()(dst_mesh, DEFAULT).
 
ProvidedType operator() (shared_ptr< const MeshD< SpaceT::DIM > > dst_mesh, std::tuple< ExtraArgs... > extra_args, InterpolationMethod method=INTERPOLATION_DEFAULT) const
 
- Public Member Functions inherited from plask::Provider
Provideroperator= (const Provider &)=delete
 
 Provider (const Provider &)=delete
 
 Provider ()=default
 
virtual ~Provider ()
 Call onDisconnect for all listeners in listeners set.
 
void fireChanged ()
 Call onChange for all listeners.
 

Static Public Attributes

static constexpr const charNAME = PropertyT::NAME
 
- Static Public Attributes inherited from plask::FieldProvider< PropertyAt< PropertyT, SpaceT >::ValueType, SpaceT, _ExtraParams... >
static constexpr const char * NAME
 
- Static Public Attributes inherited from plask::Provider
static constexpr const charNAME = "undefined"
 

Additional Inherited Members

- Public Attributes inherited from plask::Provider
boost::signals2::signal< void(Provider &, bool)> changed
 Signal called when providers value has been changed or provider is being deleted.
 

Detailed Description

template<typename PropertyT, typename SpaceT, typename... _ExtraParams>
struct plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >

Specialization which implements provider class which provides values in mesh points and uses interpolation.

Definition at line 1020 of file providerfor.hpp.

Member Typedef Documentation

◆ Delegate

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef PolymorphicDelegateProvider<ProviderFor<PropertyT, SpaceT>, ProvidedType(shared_ptr<const MeshD<SpaceT::DIM>> dst_mesh, _ExtraParams..., InterpolationMethod method)> plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate

Implementation of field provider class which delegates all operator() calls to external functor.

Definition at line 1225 of file providerfor.hpp.

◆ PropertyTag

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef PropertyT plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::PropertyTag

Definition at line 1022 of file providerfor.hpp.

◆ ProvidedType

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef FieldProvider<ValueType,SpaceT>::ProvidedType plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::ProvidedType

Type of provided value.

Definition at line 1034 of file providerfor.hpp.

◆ SpaceType

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef SpaceT plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::SpaceType

Definition at line 1023 of file providerfor.hpp.

◆ ValueType

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef PropertyAt<PropertyT,SpaceT>::ValueType plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::ValueType

Definition at line 1031 of file providerfor.hpp.

Member Function Documentation

◆ name()

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
const char * plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::name ( ) const
inlineoverridevirtual

Member Data Documentation

◆ NAME

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
constexpr const char* plask::ProviderImpl< PropertyT, FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::NAME = PropertyT::NAME
staticconstexpr

Definition at line 1025 of file providerfor.hpp.


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