
Steven Watanabe <watanabesj <at> gmail.com> writes:
AMDG
Markus Werle wrote:
Sorry if I do not get that one.
The definition of expr is something like:
template<class Tag, class Args, int Arity = Args::arity> struct expr;
template<class Tag, class Args> struct expr<Tag, Args, 0> { typename Args::arg0 arg0; }; template<class Tag, class Args> struct expr<Tag, Args, 1> { typename Args::arg0 arg0; }; template<class Tag, class Args> struct expr<Tag, Args, 2> { typename Args::arg0 arg0; typename Args::arg1 arg1; };
OK, and what is the advantage of the 3rd template argument Arity then? AFAICS this is needed for the BOOST_PP_ITERATION magic, but strictly speaking it is not necessary for the data _representation_, right? Also I feel very uncomfortable about those typedefs above ... can't we get along accessing by index when in need for it? Markus