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 the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Struct template child_c

boost::proto::result_of::child_c — A metafunction that returns the type of the Nth child of a Proto expression.

Synopsis

// 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;
};

Description

A metafunction that returns the type of the Nth child of a Proto expression. N must be 0 or less than Expr::proto_arity::value.

child_c public types

  1. typedef typename Expr::proto_child0 value_type;

    The raw type of the Nth child as it is stored within Expr. This may be a value or a reference.

  2. typedef see-below type;

    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 &


PrevUpHomeNext