Let x
be when<_, A0>()(e, s, d)
and X
be the type of x
.
More...
#include <call.hpp>
Let x
be when<_, A0>()(e, s, d)
and X
be the type of x
.
If Fun
is a unary PolymorphicFunctionObject that accepts x
, then type
is a typedef for boost::result_of<Fun(X)>::type
. Otherwise, it is a typedef for boost::result_of<Fun(X, State, Data)>::type
. Either call the PolymorphicFunctionObject with 1 argument: the result of applying the A0
transform; or invoke the PrimitiveTransform with 3 arguments: result of applying the A0
transform, the state, and the data.
Let x
be when<_, A0>()(e, s, d)
. If Fun
is a unary PolymorphicFunctionObject that accepts x
, then return Fun()(x)
. Otherwise, return Fun()(x, s, d)
.
e | The current expression |
s | The current state |
d | An arbitrary data |