...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::proto::result_of::make_expr<Tag, Domain, A...> — Metafunction that computes the return type of the
proto::make_expr()
function, within the specified domain.
// In header: <boost/proto/make_expr.hpp> template<typename Tag, typename Domain, typename... A> struct make_expr<Tag, Domain, A...> { // types typedef see-below type; };
Computes the return type of the
proto::make_expr()
function.
make_expr
public
types
If Tag
is
proto::tag::terminal
, then
type
is a typedef for
boost::result_of<Domain(proto::expr<
proto::tag::terminal, proto::term<
A0 > >)>::type
.
Otherwise, type
is a typedef for
boost::result_of<Domain(proto::expr<
Tag, proto::listN<
typename proto::result_of::as_child<A>::type...> >)>::type