Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
_ParamFun< FUN > Struct Template Reference

#include "steam/engine/feed-manifold.hpp"

Description

template<class FUN>
struct steam::engine::anonymous_namespace{feed-manifold.hpp}::_ParamFun< FUN >

Trait template to handle an associated parameter functor.

In those cases, where the basic processing function is classified such as to accept parameter(s), it may be desirable to generate those parameters at invocation — be it as a fixed parametrisation chosen for this usage, or even by evaluation of an Automation function for some parameters.

Template Parameters
FUNtype of the underlying processing function

Definition at line 246 of file feed-manifold.hpp.

Public Types

using _Proc = _ProcFun< FUN >
 
using Param = conditional_t< hasParam(), typename _Proc::SigP, std::tuple<> >
 
template<class PF >
using Res = _Fun< PF >::Ret
 
template<class PF >
using SigP = add_pointer_t< typename _Fun< PF >::Sig >
 
template<class PF >
using isSuitable = is_constructible< Param, Res< PF > >
 
template<class PF >
using canInvoke = std::is_invocable< PF, TurnoutSystem & >
 
template<class PF >
using isConfigurable = __and_< is_constructible< bool, PF & >,__not_< is_convertible< PF &, SigP< PF > > > >
 

Static Public Member Functions

static constexpr bool hasParam ()
 
template<class PF >
static bool isActivated (PF const &paramFun)
 
template<class PF >
static constexpr bool canAdapt ()
 
template<class PF >
static constexpr bool isParamFun ()
 
template<class PF >
static constexpr bool canActivate ()
 

Member Typedef Documentation

◆ _Proc

template<class FUN >
using _Proc = _ProcFun<FUN>

Definition at line 248 of file feed-manifold.hpp.

◆ Param

template<class FUN >
using Param = conditional_t<hasParam(), typename _Proc::SigP, std::tuple<> >

Definition at line 252 of file feed-manifold.hpp.

◆ Res

template<class FUN >
template<class PF >
using Res = _Fun<PF>::Ret

Definition at line 255 of file feed-manifold.hpp.

◆ SigP

template<class FUN >
template<class PF >
using SigP = add_pointer_t<typename _Fun<PF>::Sig>

Definition at line 257 of file feed-manifold.hpp.

◆ isSuitable

template<class FUN >
template<class PF >
using isSuitable = is_constructible<Param, Res<PF> >

Definition at line 260 of file feed-manifold.hpp.

◆ canInvoke

template<class FUN >
template<class PF >
using canInvoke = std::is_invocable<PF, TurnoutSystem&>

Definition at line 262 of file feed-manifold.hpp.

◆ isConfigurable

template<class FUN >
template<class PF >
using isConfigurable = __and_<is_constructible<bool, PF&> ,__not_<is_convertible<PF&, SigP<PF> >> >

Definition at line 265 of file feed-manifold.hpp.

Member Function Documentation

◆ hasParam()

template<class FUN >
static constexpr bool hasParam ( )
inlinestaticconstexpr

Definition at line 250 of file feed-manifold.hpp.

◆ isActivated()

template<class FUN >
template<class PF >
static bool isActivated ( PF const &  paramFun)
inlinestatic

Definition at line 271 of file feed-manifold.hpp.

◆ canAdapt()

template<class FUN >
template<class PF >
static constexpr bool canAdapt ( )
inlinestaticconstexpr

Definition at line 284 of file feed-manifold.hpp.

◆ isParamFun()

template<class FUN >
template<class PF >
static constexpr bool isParamFun ( )
inlinestaticconstexpr

Definition at line 286 of file feed-manifold.hpp.

◆ canActivate()

template<class FUN >
template<class PF >
static constexpr bool canActivate ( )
inlinestaticconstexpr

Definition at line 288 of file feed-manifold.hpp.

+ Collaboration diagram for _ParamFun< FUN >:

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