Wrap PrimitiveTransform so that when<> knows it is callable.
More...
#include <call.hpp>


Wrap PrimitiveTransform so that when<> knows it is callable.
Requires that the parameter is actually a PrimitiveTransform.
This form of call<> is useful for annotating an arbitrary PrimitiveTransform as callable when using it with when<>. Consider the following transform, which is parameterized with another transform.
The problem with the above is that when<> may or may not recognize Grammar as callable, depending on how Grammar is implemented. (See is_callable<> for a discussion of this issue.) You can guard against the issue by wrapping Grammar in call<>, such as:
The above could also have been written as: