libkazv
Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag > Class Template Reference

#include <store.hpp>

Public Types

using RetType = EffectRetType
 
using PromiseInterfaceT = SingleTypePromiseInterface< RetType >
 
using PromiseT = SingleTypePromise< RetType >
 
using ContextT = ContextBase< RetType, Action, Deps >
 

Public Member Functions

template<class PH >
 StoreBase (Model initialModel, Reducer reducer, PH &&ph, Deps deps)
 
 StoreBase (const StoreBase &that)=delete
 
StoreBaseoperator= (const StoreBase &that)=delete
 
 StoreBase (StoreBase &&that)
 
StoreBaseoperator= (StoreBase &&that)
 
auto dispatch (Action a) -> PromiseT
 
 operator lager::reader< Model > () const
 
lager::reader< Model > reader () const
 
template<class A2 , class D2 >
 operator Context< A2, D2 > () const
 
ContextT context () const
 

Member Typedef Documentation

◆ ContextT

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
using Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::ContextT = ContextBase<RetType, Action, Deps>

◆ PromiseInterfaceT

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
using Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::PromiseInterfaceT = SingleTypePromiseInterface<RetType>

◆ PromiseT

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
using Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::PromiseT = SingleTypePromise<RetType>

◆ RetType

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
using Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::RetType = EffectRetType

Constructor & Destructor Documentation

◆ StoreBase() [1/3]

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
template<class PH >
Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::StoreBase ( Model  initialModel,
Reducer  reducer,
PH &&  ph,
Deps  deps 
)
inline

◆ StoreBase() [2/3]

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::StoreBase ( const StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag > &  that)
delete

◆ StoreBase() [3/3]

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::StoreBase ( StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag > &&  that)
inline

Member Function Documentation

◆ context()

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
ContextT Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::context ( ) const
inline

◆ dispatch()

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
auto Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::dispatch ( Action  a) -> PromiseT
inline

◆ operator Context< A2, D2 >()

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
template<class A2 , class D2 >
Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::operator Context< A2, D2 > ( ) const
inline

◆ operator lager::reader< Model >()

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::operator lager::reader< Model > ( ) const
inline

◆ operator=() [1/2]

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
StoreBase& Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::operator= ( const StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag > &  that)
delete

◆ operator=() [2/2]

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
StoreBase& Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::operator= ( StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag > &&  that)
inline

◆ reader()

template<class Action , class EffectRetType , class Model , class Reducer , class Deps = lager::deps<>, class Tag = lager::automatic_tag>
lager::reader<Model> Kazv::StoreBase< Action, EffectRetType, Model, Reducer, Deps, Tag >::reader ( ) const
inline

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