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
.