Hi All
I believe boost.bind has the capability to look through pointers and smart pointers to
transparently process the pointed-to objects. Does boost.lambda.bind also have this
capability?
I.e., this bit of code (and I am specifically using boost 1.37 for this btw)
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/construct.hpp>
#include <boost/shared_ptr.hpp>
#include <algorithm>
#include <vector>
struct A
{
A( int );
void f( );
};
int main( )
{
using namespace boost::lambda;
std::vector< A * > pv;
std::vector< boost::shared_ptr< A > > sv;
std::for_each( pv.begin( ), pv.end( ), bind( &A::f, _1 ) );
std::for_each( sv.begin( ), sv.end( ), bind( &A::f, _1 ) ); // error here.
}
Thanks,
- Rob.