...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::child_c — A metafunction that returns the type of the `N`

^{th}
child of a Proto expression.

// In header: <boost/proto/traits.hpp> template<typename Expr, long N> struct child_c { // types typedef typename Expr::proto_child0 value_type; typedeftype; };`see-below`

A metafunction that returns the type of the `N`

^{th}
child of a Proto expression. `N`

must be 0 or less than
`Expr::proto_arity::value`

.

`child_c`

public
types-
typedef typename Expr::proto_child0 value_type;

The raw type of the

`N`

^{th}child as it is stored within`Expr`

. This may be a value or a reference. -
If

`Expr`

is not a reference type,`type`

is computed as follows:`T const &`

becomes`T`

`T &`

becomes`T`

`T`

becomes`T`

If

`Expr`

is a non-const reference type,`type`

is computed as follows:`T const &`

becomes`T const &`

`T &`

becomes`T &`

`T`

becomes`T &`

If

`Expr`

is a const reference type,`type`

is computed as follows:`T const &`

becomes`T const &`

`T &`

becomes`T &`

`T`

becomes`T const &`