![]() |
Home | Libraries | People | FAQ | More |
boost::proto::functional::child_c — A callable PolymorphicFunctionObject that is equivalent to the proto::child_c() function.
// In header: <boost/proto/traits.hpp> template<long N> struct child_c : proto::callable { template<typename This, typename Expr> struct result<This(Expr)> : proto::result_of::child_c< Expr, N > { }; // public member functions template<typename Expr> typename proto::result_of::child_c< Expr &, N >::type operator()(Expr &) const; template<typename Expr> typename proto::result_of::child_c< Expr const &, N >::type operator()(Expr const &) const; };
template<typename Expr> typename proto::result_of::child_c< Expr &, N >::type operator()(Expr & expr) const;
Return the Nth child of the given expression.
| Parameters: |
|
||
| Requires: |
proto::is_expr<Expr>::value is true N < Expr::proto_arity::value |
||
| Returns: | proto::child_c<N>(expr) |
||
| Throws: | Will not throw. |
template<typename Expr> typename proto::result_of::child_c< Expr const &, N >::type operator()(Expr const & expr) const;
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.