![]() |
Home | Libraries | People | FAQ | More |
Definition of the proto::make_expr()
and proto::unpack_expr()
utilities for building Proto expression nodes from child nodes or from a Fusion sequence of child
nodes, respectively.
namespace boost { namespace proto { template<typename Tag, typename... A> typename proto::result_of::make_expr<Tag, A const...>::type const make_expr(A const &...); template<typename Tag, typename Domain, typename... A> typename proto::result_of::make_expr<Tag, Domain, A const...>::type const make_expr(A const &...); template<typename Tag, typename Sequence> typename proto::result_of::unpack_expr<Tag, Sequence const>::type const unpack_expr(Sequence const &); template<typename Tag, typename Domain, typename Sequence> typename proto::result_of::unpack_expr<Tag, Domain, Sequence const>::type const unpack_expr(Sequence const &); namespace functional { template<typename Tag, typename Domain = proto::deduce_domain> struct make_expr; template<typename Tag, typename Domain = proto::deduce_domain> struct unpack_expr; } namespace result_of { template<typename Tag, typename... A> struct make_expr; template<typename Tag, typename Domain, typename... A> struct make_expr<Tag, Domain, A...>; template<typename Tag, typename Sequence, typename Void = void> struct unpack_expr; template<typename Tag, typename Domain, typename Sequence> struct unpack_expr<Tag, Domain, Sequence>; } } }