Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2013. The current version is 1.90.0.
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 &.