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

Partial specialization which implements abstract provider class which provides a single value, typically one double. More...

#include <plask/provider/providerfor.hpp>

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

Classes

struct  WithDefaultValue
 Implementation of one value provider class which holds value inside (in value field) and operator() returns its held value. More...
 
struct  WithValue
 Implementation of one value provider class which holds value inside (in value field) and operator() return its held value. More...
 

Public Types

typedef PropertyT PropertyTag
 
typedef SpaceT SpaceType
 
typedef PropertyAt< PropertyT, SpaceT >::ValueType ValueType
 
typedef SingleValueProvider< ValueType >::ProvidedType ProvidedType
 Type of provided value.
 
typedef PolymorphicDelegateProvider< ProviderFor< PropertyT, SpaceT >, ProvidedType(_ExtraParams...)> Delegate
 Implementation of one value provider class which delegates all operator() calls to external functor.
 
typedef WithValue ConstProviderType
 Used by receivers as const value provider, see Receiver::setConstValue.
 
- Public Types inherited from plask::SingleValueProvider< PropertyAt< PropertyT, SpaceT >::ValueType, _ExtraParams... >
typedef PropertyAt< PropertyT, SpaceT >::ValueType ProvidedType
 Type of provided value.
 

Public Member Functions

const charname () const override
 
- Public Member Functions inherited from plask::SingleValueProvider< PropertyAt< PropertyT, SpaceT >::ValueType, _ExtraParams... >
const char * name () const override
 
virtual ProvidedType operator() (ArgsT...) const=0
 Provided value getter.
 
- 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::SingleValueProvider< PropertyAt< PropertyT, SpaceT >::ValueType, _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, SINGLE_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >

Partial specialization which implements abstract provider class which provides a single value, typically one double.

Template Parameters
PropertyT
ValueTtype of provided value
SpaceTignored

Definition at line 646 of file providerfor.hpp.

Member Typedef Documentation

◆ ConstProviderType

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef WithValue plask::ProviderImpl< PropertyT, SINGLE_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::ConstProviderType

Used by receivers as const value provider, see Receiver::setConstValue.

Definition at line 762 of file providerfor.hpp.

◆ Delegate

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

Definition at line 759 of file providerfor.hpp.

◆ PropertyTag

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

Definition at line 648 of file providerfor.hpp.

◆ ProvidedType

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

Type of provided value.

Definition at line 660 of file providerfor.hpp.

◆ SpaceType

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

Definition at line 649 of file providerfor.hpp.

◆ ValueType

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

Definition at line 657 of file providerfor.hpp.

Member Function Documentation

◆ name()

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

Reimplemented from plask::Provider.

Definition at line 652 of file providerfor.hpp.

Member Data Documentation

◆ NAME

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

Definition at line 651 of file providerfor.hpp.


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