![]() |
Home | Libraries | People | FAQ | More |
boost::proto::result_of::as_child — A metafunction that computes the return type of the
proto::as_child() function.
// In header: <boost/proto/traits.hpp>
template<typename T, typename Domain = proto::default_domain>
struct as_child {
// types
typedef see-below type;
};
The proto::result_of::as_child<> metafunction turns types into Proto types
if they are not already by making them Proto terminals held by reference. Types which are already Proto
types are left alone.
When T is not yet a Proto type,
the result type proto::result_of::as_child<T, Domain>::type is
boost::result_of<Domain(proto::expr< proto::tag::terminal, proto::term<T &> >)>::type.
When T is already a Proto type
The result type proto::result_of::as_child<T, Domain>::type is
T &.