On Wed, 22 Jan 2003, David Abrahams wrote:
> I've been talking with Aleksey recently about how to improve the
> syntactic situation without losing the separation of concerns that we
> get, but we didn't come up with anything convincingly better.  I think
> a long time ago the for_each parameter used to look like:
>
>     class f
>     {
>         template <class T>
>         struct apply
>         {
>             static void execute() {...};
>         };
>     };
>
> IOW, a metafunction class with a nested 'execute' function.  However
> that's not really any better syntactically, it has problems carrying
> state, and it's anti-idiomatic.

Why don't we have

  mpl::list<int, float, double, std::string> list_of_types;
  for_each(list_of_types.begin(), list_of_types.end(), f);

?

Then an unqualified for_each call can handle type sequences, heterogeneous
containers (e.g., tuple), and run-time sequences (e.g., vector). It's been
done before, elsewhere, so why don't we do it in MPL?

        Doug

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to