PLaSK library

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
plask::MultiValueProvider< ValueT, EnumT, ArgsT > Struct Template Referenceabstract

Instantiation of this template is abstract base class for provider which provide multiple values (for example one double). More...

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

Inheritance diagram for plask::MultiValueProvider< ValueT, EnumT, ArgsT >:
[legend]
Collaboration diagram for plask::MultiValueProvider< ValueT, EnumT, ArgsT >:
[legend]

## Public Types
typedef ValueT | ProvidedType
| Type of provided value.
typedef EnumT | EnumType
| Type of value number.

## Public Member Functions
const char * | name () const override
virtual ProvidedType | operator() (EnumT num, ArgsT...) const =0
| Provided value getter.
virtual size_t | size () const =0
| Get number of values.
Public Member Functions inherited from plask::Provider
Provider & | operator= (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 char * | NAME = "undefined value"
Static Public Attributes inherited from plask::Provider
static constexpr const char * | NAME = "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 ValueT, typename EnumT, typename... ArgsT>
struct plask::MultiValueProvider< ValueT, EnumT, ArgsT >

Instantiation of this template is abstract base class for provider which provide multiple values (for example one double).

Template Parameters

  ValueT | type of provided value
  ArgsT | type of arguments required by provider (optional)

Definition at line 479 of file provider.hpp.

## Member Typedef Documentation

## ◆ EnumType

template<typename ValueT , typename EnumT , typename... ArgsT>

typedef EnumT plask::MultiValueProvider< ValueT, EnumT, ArgsT >::EnumType

Type of value number.

Definition at line 488 of file provider.hpp.

## ◆ ProvidedType

template<typename ValueT , typename EnumT , typename... ArgsT>

typedef ValueT plask::MultiValueProvider< ValueT, EnumT, ArgsT >::ProvidedType

Type of provided value.

Definition at line 485 of file provider.hpp.

## Member Function Documentation

## ◆ name()

template<typename ValueT , typename EnumT , typename... ArgsT>

const char * plask::MultiValueProvider< ValueT, EnumT, ArgsT >::name | ( |  | ) | const
| inline override virtual

Reimplemented from plask::Provider.

Reimplemented in plask::ProviderImpl< PropertyT, MULTI_VALUE_PROPERTY, SpaceT, VariadicTemplateTypesHolder< _ExtraParams... > >.

Definition at line 482 of file provider.hpp.

## ◆ operator()()

template<typename ValueT , typename EnumT , typename... ArgsT>

virtual ProvidedType plask::MultiValueProvider< ValueT, EnumT, ArgsT >::operator() | ( | EnumT | num,
|  | ArgsT... |
| ) |  | const
| pure virtual

Provided value getter.

Returns
  provided value

## ◆ size()

template<typename ValueT , typename EnumT , typename... ArgsT>

virtual size_t plask::MultiValueProvider< ValueT, EnumT, ArgsT >::size | ( |  | ) | const
| pure virtual

Get number of values.

Returns
  number of values

## Member Data Documentation

## ◆ NAME

template<typename ValueT , typename EnumT , typename... ArgsT>

constexpr const char* plask::MultiValueProvider< ValueT, EnumT, ArgsT >::NAME = "undefined value"
| static constexpr

Definition at line 481 of file provider.hpp.

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

- plask/provider/provider.hpp