Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::proto::vararg< Grammar > Struct Template Reference

For matching a Grammar to a variable number of sub-expressions. More...

#include <proto_fwd.hpp>

Inheritance diagram for boost::proto::vararg< Grammar >:
Collaboration diagram for boost::proto::vararg< Grammar >:

Public Types

typedef void proto_is_vararg_
 INTERNAL ONLY. More...
 

Detailed Description

template<typename Grammar>
struct boost::proto::vararg< Grammar >

For matching a Grammar to a variable number of sub-expressions.

An expression type expr<AT, listN<A0,...An,U0,...Um> > matches a grammar expr<BT, listM<B0,...Bn,vararg<V> > > if BT is _ or AT, and if Ax matches Bx for each x in [0,n) and if Ux matches V for each x in [0,m).

For example:

// Match any function call expression, irregardless
// of the number of function arguments:
struct Function
: function< vararg<_> >
{};

When used as a transform, vararg<G> applies G's transform.

Member Typedef Documentation

template<typename Grammar >
typedef void boost::proto::vararg< Grammar >::proto_is_vararg_

INTERNAL ONLY.


The documentation for this struct was generated from the following file: