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

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

#include <plask/provider/providerfor.hpp>

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

Public Types

typedef PolymorphicDelegateProvider< ProviderFor< PropertyT, SpaceT >, ProvidedType(EnumType n, shared_ptr< const MeshD< SpaceT::DIM > > dst_mesh, _ExtraParams..., InterpolationMethod method)> Base
 

Public Member Functions

template<typename Functor , typename Sizer >
 Delegate (Functor functor, Sizer sizer)
 Create delegate provider.
 
template<typename ClassType , typename MemberType , typename Sizer >
 Delegate (ClassType *object, MemberType member, Sizer sizer)
 Create delegate provider.
 
template<typename ClassType , typename MemberType >
 Delegate (ClassType *object, MemberType member, size_t(ClassType::*sizer)() const)
 Create delegate provider.
 
template<typename ClassType , typename MemberType >
 Delegate (ClassType *object, MemberType member, size_t(ClassType::*sizer)())
 Create delegate provider.
 
template<typename Functor >
 Delegate (Functor functor)
 Create delegate provider.
 
template<typename ClassType , typename MemberType , typename Sizer >
 Delegate (ClassType *object, MemberType member)
 Create delegate provider.
 
template<typename ClassType , typename MemberType >
 Delegate (ClassType *object, MemberType member)
 Create delegate provider.
 
size_t size () const override
 

Public Attributes

std::function< size_t()> sizeGetter
 

Detailed Description

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

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

Definition at line 1539 of file providerfor.hpp.

Member Typedef Documentation

◆ Base

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

Definition at line 1541 of file providerfor.hpp.

Constructor & Destructor Documentation

◆ Delegate() [1/7]

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
template<typename Functor , typename Sizer >
plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::Delegate ( Functor  functor,
Sizer  sizer 
)
inline

Create delegate provider.

Parameters
functordelegate functor
sizerfunctor returning number of the elements

Definition at line 1551 of file providerfor.hpp.

◆ Delegate() [2/7]

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
template<typename ClassType , typename MemberType , typename Sizer >
plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::Delegate ( ClassType *  object,
MemberType  member,
Sizer  sizer 
)
inline

Create delegate provider.

Parameters
objectobject of class with delegate method
memberdelegate member method
sizerfunctor returning number of the elements

Definition at line 1560 of file providerfor.hpp.

◆ Delegate() [3/7]

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
template<typename ClassType , typename MemberType >
plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::Delegate ( ClassType *  object,
MemberType  member,
size_t(ClassType::*)() const  sizer 
)
inline

Create delegate provider.

Parameters
objectobject of class with delegate method
memberdelegate member method
sizerclass member returning number of the elements

Definition at line 1569 of file providerfor.hpp.

◆ Delegate() [4/7]

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
template<typename ClassType , typename MemberType >
plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::Delegate ( ClassType *  object,
MemberType  member,
size_t(ClassType::*)()  sizer 
)
inline

Create delegate provider.

Parameters
objectobject of class with delegate method
memberdelegate member method
sizerclass member returning number of the elements

Definition at line 1579 of file providerfor.hpp.

◆ Delegate() [5/7]

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
template<typename Functor >
plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::Delegate ( Functor  functor)
inline

Create delegate provider.

Parameters
functordelegate functor

Definition at line 1587 of file providerfor.hpp.

◆ Delegate() [6/7]

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
template<typename ClassType , typename MemberType , typename Sizer >
plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::Delegate ( ClassType *  object,
MemberType  member 
)
inline

Create delegate provider.

Parameters
objectobject of class with delegate method
memberdelegate member method

Definition at line 1595 of file providerfor.hpp.

◆ Delegate() [7/7]

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
template<typename ClassType , typename MemberType >
plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::Delegate ( ClassType *  object,
MemberType  member 
)
inline

Create delegate provider.

Parameters
objectobject of class with delegate method
memberdelegate member method

Definition at line 1603 of file providerfor.hpp.

Member Function Documentation

◆ size()

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
size_t plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::size ( ) const
inlineoverride

Definition at line 1605 of file providerfor.hpp.

Member Data Documentation

◆ sizeGetter

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
std::function<size_t()> plask::ProviderImpl< PropertyT, MULTI_FIELD_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::Delegate::sizeGetter

Definition at line 1543 of file providerfor.hpp.


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