Brian McNamara <[EMAIL PROTECTED]> writes:

> I can't speak for bind/lambda, although I imagine there must be a way,
> probably involving delaying the evaluation of _1 for one step.
>
> Using FC++, it would be
>
>    using fcpp::fun1;
>    using fcpp::lambda;
>    using fcpp::ptr_to_fun;
>    fun1<user_message,void> f =
>       lambda(X)[ ptr_to_fun(post_command)[
>          lambda()[ ptr_to_fun(show_warning)[ message_dialog(), X ]
>             ] ] ];
>
> The explicit lambda notation makes it easier to (mentally and
> syntactically) sort out functions like these where the placeholder
> variables are bound by a lambda (bind expression) other than the
> innermost one.
>
> (The calls to to ptr_to_fun above are necessary only to promote the
> function pointers into FC++ "functoids".)

Damn, that's nice looking code!

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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

Reply via email to