A PrimitiveTransform that uses make<>
to build a CallableTransform, and then uses call<>
to apply it.
More...
#include <lazy.hpp>
Classes | |
struct | impl |
Public Types | |
typedef lazy< Object > | transform_type |
Public Member Functions | |
BOOST_PROTO_CALLABLE () typedef X proto_is_transform_ | |
BOOST_FORCEINLINE boost::proto::detail::apply_transform < transform_type(Expr const &)> ::result_type | operator() (Expr &&e) const |
BOOST_FORCEINLINE boost::proto::detail::apply_transform < transform_type(Expr const &, State const &)> ::result_type | operator() (Expr &&e, State &&s) const |
BOOST_FORCEINLINE boost::proto::detail::apply_transform < transform_type(Expr const &, State const &, Data const &)> ::result_type | operator() (Expr &&e, State &&s, Data &&d) const |
A PrimitiveTransform that uses make<>
to build a CallableTransform, and then uses call<>
to apply it.
lazy<>
is useful as a higher-order transform, when the transform to be applied depends on the current state of the transformation. The invocation of the make<>
transform evaluates any nested transforms, and the resulting type is treated as a CallableTransform, which is evaluated with call<>
.
|
inherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |