>From: "David Abrahams" <[EMAIL PROTECTED]>
> "Andrei Alexandrescu" <[EMAIL PROTECTED]> writes:
>
> > Or (barring my lack of mastering some syntactic details):
> >
> > inline void do_my_function(string&, void_) {}
> >
> > template <class Lst>
> > inline void do_my_function(string& s, Lst lst)
> > {
> > my_function<front<Lst>::type>(s);
> > do_my_function(s, pop_front<Lst>::type());
> > }
> > ...
> > do_my_function(s, my_list());
> >
> > No struct, no for_each, no operator(). Et que le meilleur gagne :o).
>
> Yeah, I haven't always been very comfortable with the
> value-per-character of mpl::for_each -- it seems to have similar
> properties to std::for_each in that way.
Perhaps it might be possible to do some compile-time/run-time lambda
(similar to Boost.Lambda for runtime, and MPL's lambda), so you could do
something like:
mpl::for_each<my_list>(my_function<_>(s));
It would then transform the function call "my_function<_>(s)" into an
instantiated function object of the kind suitable for mpl::for_each.
That would collapse the 7 or 12-line solution to one line. :)
Regards,
Terje
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost