Boost logo

Boost :

From: Mark Rodgers (mark.rodgers_at_[hidden])
Date: 2001-08-17 13:23:53


I think this library should be accepted with a couple of
provisos:

Firstly, the name mem_fun has definitely got to change. It
conflicts with the existing mem_fun in boost/functional.hpp.
Of course this begs the question - could the two mem_funs
be amalgamated so that perhaps functional.hpp could just
include mem_fun.hpp? Unfortunately not. The two are
fundamentally different - the existing mem_fun creates an
adaptable unary function object; Peter's function object is
not adaptable and cannot be made to be adaptable.

Secondly, I don't think the name bind is appropriate. This
suggests too close a link to the standard binders, and thus
that Peter's bind is a function object adapter. In fact,
this new submission is the beginnings of an expression
template library, and the name should reflect that. Indeed
since "bind" allows us to create function objects in which
nothing is actually bound, I perhaps "call" or "apply" would
be more appropriate:

        boost::call( f, _1, _2 )( x, y );
        boost::apply( f, _1, _2 )( x, y );

My only other concern is that, since this is the beginnings
of an ET library, how does that affect the lambda library?

Mark


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