|
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