PLaSK library
Loading...
Searching...
No Matches
plask::ProviderImpl< PropertyT, MULTI_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, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >:
[legend]
Collaboration diagram for plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >:
[legend]

Classes

struct  Delegate
 Implementation of one value provider class which delegates all operator() calls to external functor. More...
 
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 PropertyT::EnumType EnumType
 
typedef PropertyAt< PropertyT, SpaceT >::ValueType ValueType
 
typedef MultiValueProvider< ValueType, EnumType >::ProvidedType ProvidedType
 Type of provided value.
 
typedef WithValue ConstProviderType
 Used by receivers as const value provider, see Receiver::setConstValue.
 
- Public Types inherited from plask::MultiValueProvider< PropertyAt< PropertyT, SpaceT >::ValueType, PropertyT::EnumType, _ExtraParams... >
typedef PropertyAt< PropertyT, SpaceT >::ValueType ProvidedType
 Type of provided value.
 
typedef PropertyT::EnumType EnumType
 Type of value number.
 

Public Member Functions

const charname () const override
 
- Public Member Functions inherited from plask::MultiValueProvider< PropertyAt< PropertyT, SpaceT >::ValueType, PropertyT::EnumType, _ExtraParams... >
virtual ProvidedType operator() (PropertyT::EnumType num, ArgsT...) const=0
 Provided value getter.
 
virtual size_t size () const=0
 Get number of values.
 
- 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::MultiValueProvider< PropertyAt< PropertyT, SpaceT >::ValueType, PropertyT::EnumType, _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, MULTI_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 774 of file providerfor.hpp.

Member Typedef Documentation

◆ ConstProviderType

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

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

Definition at line 1012 of file providerfor.hpp.

◆ EnumType

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef PropertyT::EnumType plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::EnumType

Definition at line 779 of file providerfor.hpp.

◆ PropertyTag

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

Definition at line 776 of file providerfor.hpp.

◆ ProvidedType

template<typename PropertyT , typename SpaceT , typename... _ExtraParams>
typedef MultiValueProvider<ValueType,EnumType>::ProvidedType plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >::ProvidedType

Type of provided value.

Definition at line 790 of file providerfor.hpp.

◆ SpaceType

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

Definition at line 777 of file providerfor.hpp.

◆ ValueType

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

Definition at line 787 of file providerfor.hpp.

Member Function Documentation

◆ name()

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

Member Data Documentation

◆ NAME

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

Definition at line 781 of file providerfor.hpp.


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