![]() |
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 &.