$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: João Abecasis (jpabecasis_at_[hidden])
Date: 2006-03-02 08:58:39
Hi!
Currently, apply does not meet the criteria for a Placeholder Expression 
because the number of template parameters is one too many. Still, I 
think it would be useful to be able to use apply as a lambda expression.
For my use case, I needed a lazy metafunction that took a function and 
its argument, evaluating the passed function with the argument. My 
initial approach to this was to use
     lambda<apply<_2, _1> >::type
this approach failed, it turns out, because lambda returns apply<_2, _1> 
unchanged, while I expected to get
     protect<
         bind2<
             quote2<apply>,
             arg<2>,
             arg<1>
         >
     >
A simple workaround is to use apply1, instead or to directly use the 
expression above, which diminishes code readability.
Would it be possible and desirable to give apply special treatment in 
lambda, if only to avoid surprises in similar use cases?
Best regards,
João