![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "steam/engine/param-weaving-pattern.hpp"
Specification record for the setup of a »Param Agent Node«.
| ANCH | the lib::HeteroData prefix-chain to use as anchor point |
| FUNZ | a set of parameter-functors used to generate additional parameter values. |
Definition at line 140 of file param-weaving-pattern.hpp.
Classes | |
| struct | Accessor |
| a (static) getter functor able to work on the full extended HeteroData-Chain More... | |
| class | BlockBuilder |
Public Types | |
| using | Functors = tuple< FUNZ... > |
| using | ResTypes = ElmTypes< Functors >::template Apply< lib::meta::_FunRet > |
| using | ParamTup = Tuple< ResTypes > |
| using | ChainCons = lib::meta::RebindVariadic< ANCH::template Chain, ParamTup >::Type |
Public Attributes | |
| Functors | functors_ |
Public Member Functions | |
| ParamBuildSpec (Functors &&funz) | |
| ParamBuildSpec | clone () |
| can be copied if all functors are copyable... | |
| template<typename FUN > | |
| auto | addSlot (FUN &¶mFun) |
| template<typename PAR > | |
| auto | addValSlot (PAR paramVal) |
| template<size_t slot> | |
| auto | invokeParamFun (TurnoutSystem &turnoutSys) |
| intended for unit-testing: invoke one of the embedded param-functors | |
| template<size_t idx> | |
| Accessor< idx > | makeAccessor () |
| BlockBuilder | makeBlockBuilder () |
| Terminal Builder: (destructively) transform this ParamBuildSpec into a BlockBuilder, which can then be used to create a Parameter data block, thereby invoking the embedded functors to drop-off the results into storage. | |
|
inline |
Definition at line 149 of file param-weaving-pattern.hpp.
| using Functors = tuple<FUNZ...> |
Definition at line 142 of file param-weaving-pattern.hpp.
| using ResTypes = ElmTypes<Functors>::template Apply<lib::meta::_FunRet> |
Definition at line 144 of file param-weaving-pattern.hpp.
Definition at line 145 of file param-weaving-pattern.hpp.
| using ChainCons = lib::meta::RebindVariadic<ANCH::template Chain, ParamTup>::Type |
the chain constructor type is a type rebinding meta function (nested struct), which extends the HeteroData chain given by ANCH with the sequence of types derived from the result-values of all functors stored in the ParamBuildSpec, i.e. the resulting param tuple.
Chain, and with the help of RebindVariadic, the type sequence from the ParamTup can be used to instantiate this chain constructor. Definition at line 188 of file param-weaving-pattern.hpp.
|
inline |
can be copied if all functors are copyable...
Definition at line 154 of file param-weaving-pattern.hpp.
|
inline |
Definition at line 159 of file param-weaving-pattern.hpp.
References ParamBuildSpec< ANCH, FUNZ >::functors_.
Referenced by ParamBuildSpec< ANCH, FUNZ >::addValSlot().
Here is the caller graph for this function:
|
inline |
Definition at line 168 of file param-weaving-pattern.hpp.
References ParamBuildSpec< ANCH, FUNZ >::addSlot().
Here is the call graph for this function:
|
inline |
intended for unit-testing: invoke one of the embedded param-functors
Definition at line 177 of file param-weaving-pattern.hpp.
References ParamBuildSpec< ANCH, FUNZ >::functors_.
|
inline |
Definition at line 206 of file param-weaving-pattern.hpp.
|
inline |
Terminal Builder: (destructively) transform this ParamBuildSpec into a BlockBuilder, which can then be used to create a Parameter data block, thereby invoking the embedded functors to drop-off the results into storage.
Definition at line 259 of file param-weaving-pattern.hpp.
References ParamBuildSpec< ANCH, FUNZ >::functors_.
| Functors functors_ |
Definition at line 147 of file param-weaving-pattern.hpp.
Referenced by ParamBuildSpec< ANCH, FUNZ >::addSlot(), ParamBuildSpec< ANCH, FUNZ >::invokeParamFun(), and ParamBuildSpec< ANCH, FUNZ >::makeBlockBuilder().
Collaboration diagram for ParamBuildSpec< ANCH, FUNZ >: