![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
#include "steam/engine/feed-manifold.hpp"
Trait template to analyse and adapt to the given processing function.
The detection logic encoded here attempts to figure out the meaning of the function arguments by their arrangement and type. As a base rule, the arguments are expected in the order: Parameters, Input, Output
| FUN | a function-like object, expected to accept 1 - 3 arguments, which all may be simple types, tuples or arrays. |
Definition at line 154 of file feed-manifold.hpp.
Classes | |
| struct | _Case |
| Detect use-case as indicated by the function signature. More... | |
| struct | _Case< SIG, enable_if< is_BinaryFun< SIG > > > |
| struct | _Case< SIG, enable_if< is_TernaryFun< SIG > > > |
| struct | _Case< SIG, enable_if< is_UnaryFun< SIG > > > |
Public Types | |
| enum | { FAN_I = ElmTypes<SigI>::SIZ , FAN_O = ElmTypes<SigO>::SIZ , FAN_P = ElmTypes<SigP>::SIZ , SLOT_I = _Case<Sig>::SLOT_I , SLOT_O = _Case<Sig>::SLOT_O , SLOT_P = 0 } |
| using | Sig = _Fun< FUN >::Sig |
| template<size_t i> | |
| using | _Arg = lib::meta::Pick< typename _Fun< Sig >::Args, i >::Type |
| template<size_t i, template< class > class COND> | |
| using | AllElements = ElmTypes< _Arg< i > >::template AndAll< COND > |
| using | SigI = _Arg< _Case< Sig >::SLOT_I > |
| using | SigO = _Arg< _Case< Sig >::SLOT_O > |
| using | SigP = _Arg< 0 > |
| using | ArgI = ElmTypes< SigI >::Seq |
| using | ArgO = ElmTypes< SigO >::Seq |
| using | ArgP = ElmTypes< SigP >::Seq |
| using | ElmsI = ElmTypes< typename ElmTypes< SigI >::template Apply< remove_pointer_t > > |
| using | ElmsO = ElmTypes< typename ElmTypes< SigO >::template Apply< remove_pointer_t > > |
Static Public Attributes | |
| template<size_t i> | |
| static constexpr bool | nonEmpty = ElmTypes<_Arg<i>>::SIZ |
| template<size_t i> | |
| static constexpr bool | is_BuffSlot = AllElements<i, is_Buffer>() |
| template<size_t i> | |
| static constexpr bool | is_ParamSlot = AllElements<i, is_Value>() |
Static Public Member Functions | |
| static constexpr bool | hasInput () |
| static constexpr bool | hasParam () |
| struct steam::engine::anonymous_namespace{feed-manifold.hpp}::_ProcFun::_Case |
Collaboration diagram for _ProcFun< FUN >::_Case< SIG, SEL >:Definition at line 160 of file feed-manifold.hpp.
| using _Arg = lib::meta::Pick<typename _Fun<Sig>::Args, i>::Type |
Definition at line 163 of file feed-manifold.hpp.
| using AllElements = ElmTypes<_Arg<i> >::template AndAll<COND> |
Definition at line 166 of file feed-manifold.hpp.
Definition at line 205 of file feed-manifold.hpp.
Definition at line 206 of file feed-manifold.hpp.
Definition at line 207 of file feed-manifold.hpp.
Definition at line 208 of file feed-manifold.hpp.
Definition at line 209 of file feed-manifold.hpp.
Definition at line 210 of file feed-manifold.hpp.
| using ElmsI = ElmTypes<typename ElmTypes<SigI>::template Apply<remove_pointer_t> > |
Definition at line 213 of file feed-manifold.hpp.
| using ElmsO = ElmTypes<typename ElmTypes<SigO>::template Apply<remove_pointer_t> > |
Definition at line 214 of file feed-manifold.hpp.
| anonymous enum |
| Enumerator | |
|---|---|
| FAN_I | |
| FAN_O | |
| FAN_P | |
| SLOT_I | |
| SLOT_O | |
| SLOT_P | |
Definition at line 216 of file feed-manifold.hpp.
|
inlinestaticconstexpr |
Definition at line 224 of file feed-manifold.hpp.
|
inlinestaticconstexpr |
Definition at line 225 of file feed-manifold.hpp.
|
staticconstexpr |
Definition at line 169 of file feed-manifold.hpp.
|
staticconstexpr |
Definition at line 171 of file feed-manifold.hpp.
|
staticconstexpr |
Definition at line 173 of file feed-manifold.hpp.
Collaboration diagram for _ProcFun< FUN >: