![]() |
Home | Libraries | People | FAQ | More |
boost::proto::result_of::make_expr — Metafunction that computes the return type of the proto::make_expr() function, with a domain deduced from the domains of the children.
// In header: <boost/proto/make_expr.hpp> template<typename Tag, typename... A> struct make_expr { // types typedef domain-deduced-from-child-types D; typedef typename proto::result_of::make_expr<Tag, D, A...>::type type; };
Computes the return type of the proto::make_expr() function.
In this specialization, the domain is deduced from the domains of the child types. If proto::is_domain<A0>::value is true, then another specialization is selected.
typedef domain-deduced-from-child-types D;
For each x in [0,N) (proceeding in order beginning with x=0), if proto::domain_of<Ax>::type is not proto::default_domain, then D is proto::domain_of<Ax>::type. Otherwise, D is proto::default_domain.