Boost logo

Boost :

Subject: [boost] Rave for proposed Boost.Local (functions)
From: Gregory Crosswhite (gcross_at_[hidden])
Date: 2011-02-01 18:04:42

Hey everyone,

The purpose of this e-mail is to rave about Lorenzo's proposed
Boost.Local library in the hopes of inspiring people to start the review
process for it. :-)

I have been experimenting with using this library in my own code, and it
has been a godsend for me. In one of the projects I have been working
on I ran into many situations where I needed to call a higher-order
function with a closure, and the closure was just complicated enough
that I couldn't use Boost.Lambda. Before using this library I
frequently found myself either writing a lot of extra code to
work-around the need for a higher-order function, or writing a lot of
boilerplate to create classes that would only be used by a single
function in order to create a function object. This library has let me
write the closures that I need in a fairly painless fashion and so has
made my life a lot easier!

At first I thought that the interface needed to use it was ugly, but as
I have gotten used to it I have changed my mind. Part of why I thought
it was ugly was because of the way that whitespace was used in the
example included in the original e-mail:

         (void) (add)( (double)(num) (const bind)((factor)) (bind)((&sum)) )
         ) {
             sum += factor * num;
             std::clog<< "Summed: "<< sum<< std::endl;

To my mind this example looks a lot clearer if you reformat it as follows:

             (void) (add)(
                 (const bind)((factor))
         ) {
             sum += factor * num;
             std::clog<< "Summed: "<< sum<< std::endl;

I would be happy to volunteer to be the review manager if one is needed
to move the process along, but since I am new to the community and
personally biased in favor of the library (though I would endeavor to be
unbiased as a reviewer) I recognize you all will presumably want someone
that you all know better and who is more neutral. Regardless, I hope
that we can start down the road of incorporating this library into boost
because I believe it would be of great benefit to the C++ community at


Boost list run by bdawes at, gregod at, cpdaniel at, john at