Metafunction that computes the return type of the make_expr() function, with a domain deduced from the domains of the children.
More...
#include <proto_fwd.hpp>
Public Types | |
| typedef detail::make_expr_ < Tag, deduce_domain > ::result_type | type |
Same as result_of::make_expr<Tag, D, A0, ... More... | |
Metafunction that computes the return type of the make_expr() function, with a domain deduced from the domains of the children.
Use the result_of::make_expr<> metafunction to compute the return type of the make_expr() function.
In this specialization, the domain is deduced from the domains of the child types. (If is_domain<A0>value is true, then another specialization is selected.)
| typedef detail::make_expr_< Tag , deduce_domain >::result_type boost::proto::result_of::make_expr< Tag,, Void1, Void2 >::type |
Same as result_of::make_expr<Tag, D, A0, ...
AN>::type where D is the deduced domain, which is calculated as follows:
For each x in [0,N) (proceeding in order beginning with x=0), if domain_of<Ax>::type is not default_domain, then D is domain_of<Ax>::type. Otherwise, D is default_domain.