PLaSK library

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
plask::ProviderFor< PropertyT, SpaceT > Struct Template Reference

Specializations of this class define implementations of providers for given property tag: More...

`#include <plask/provider/providerfor.hpp>`

Inheritance diagram for plask::ProviderFor< PropertyT, SpaceT >:
[legend]
Collaboration diagram for plask::ProviderFor< PropertyT, SpaceT >:
[legend]

## Public Types
typedef PropertyT | PropertyTag
typedef SpaceT | SpaceType

## Public Member Functions
template<typename ... Args>
| ProviderFor (Args &&... params)
| Delegate all constructors to parent class.

## Detailed Description

template<typename PropertyT, typename SpaceT = void>
struct plask::ProviderFor< PropertyT, SpaceT >

Specializations of this class define implementations of providers for given property tag:

- ProviderFor<PropertyT, SpaceT> is abstract, base class which inherited from Provider;
- ProviderFor<PropertyT, SpaceT>::Delegate is class inherited from ProviderFor<PropertyT, SpaceT> which delegates all request to functor given as constructor parameter;
- ProviderFor<PropertyT, SpaceT>::WithValue is class inherited from ProviderFor<PropertyT, SpaceT> which stores provided value (has value field) and know if it was initialized;
- ProviderFor<PropertyT, SpaceT>::WithDefaultValue is class inherited from ProviderFor<PropertyT, SpaceT> which stores provided value (has value field) and doesn't know if it was initialized (should always have reasonable default value).
  Template Parameters

    PropertyT | property tag class (describe physical property)
    SpaceT | type of space, required (and allowed) only for fields properties

  See also
    plask::Temperature (contains example); Providers and receivers

Definition at line 447 of file providerfor.hpp.

## Member Typedef Documentation

## ◆ PropertyTag

template<typename PropertyT , typename SpaceT = void>

typedef PropertyT plask::ProviderFor< PropertyT, SpaceT >::PropertyTag

Definition at line 449 of file providerfor.hpp.

## ◆ SpaceType

template<typename PropertyT , typename SpaceT = void>

typedef SpaceT plask::ProviderFor< PropertyT, SpaceT >::SpaceType

Definition at line 450 of file providerfor.hpp.

## Constructor & Destructor Documentation

## ◆ ProviderFor()

template<typename PropertyT , typename SpaceT = void>
template<typename ... Args>

plask::ProviderFor< PropertyT, SpaceT >::ProviderFor | ( | Args &&... | params | ) |
| inline

Delegate all constructors to parent class.

Definition at line 454 of file providerfor.hpp.

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

- plask/provider/providerfor.hpp