...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.

template<typenameExpr,longN>structchild_c {// typestypedeftypenameExpr::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 &`