Boost logo

Boost :

From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2003-01-24 10:46:10


Joel de Guzman wrote:
> Here's the Phoenix version:
>
> struct my_function_
> {
>
> template <typename Arg1T, typename Arg2T>
> struct result { typedef void type; };
>
> template< typename U >
> void operator()(std::string const& text, U)
> {
> // ...
> }
>
> };
>
> function<my_function_> my_function; // here!
>
> Then:
>
> mpl::for_each< my_types >(my_function(text, _1));

This is way too cool! Now we only need to provide such free-standing forms
of all STL algorithms/member functions, and we will be living in a different
world:

    std::vector<std::string> v;

    push_back(v, "text"); // plain call
    for_each(input, push_back(v, _1)); // currying
    for_each(v, for_each(_1, print_char)); // more currying
    // etc.!

Breathtaking, IMO.

Aleksey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk