...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::listN — proto::list1<>
, proto::list2<>
, etc.,
are type sequences for use as the 2nd parameter to the
proto::expr<>
or
proto::basic_expr<>
class templates.
// In header: <boost/proto/args.hpp> template<typename... Arg> struct listN { // types typedef ArgM
childM; // For eachM
in[0,N)
// public data members static const long arity; //= N;
};
Type sequences, for use as the 2nd parameter to the
proto::expr<>
or
proto::basic_expr<>
class template. The
types in the sequence correspond to the children of a node in an expression tree.
There is no type literally named "listN
"; rather, there is
a set of types named
proto::list1<>
,
proto::list2<>
, etc.