...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;
typedef see-below
type;
};
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
typestypedef 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 &