Boost logo

Boost Users :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2007-08-10 10:53:22


Stefano Peluchetti wrote:
> I'm a newbie to the boost library so I need some help with the
> following problem:
> Take the following code:
>
> class EaSde // Abstract class.
> {
> ...
> public:
> inline virtual double unitDiffusionInverseMap( double x ) const = 0;
> inline virtual void unitDiffusionInverseMap( Path& path ) const;
> ....
> };
>
> void EaSde::unitDiffusionInverseMap( Path& path ) const
> {
> std::transform( path.values.begin(), path.values.end(),
> path.values.begin(),
> boost::bind<double>( &sde::EaSde::unitDiffusionInverseMap, this, _1 )
> ); }
>
> This code works fine.
> However if I use boost::bind::lambda instead of boost::bind I get:

...

Bind libraries in general have trouble with overloaded functions; this is a
limitation of C++. boost::bind is slightly better than lambda::bind in such
cases.

No, there is no list of the differences between boost::bind and
lambda::bind. FWIW, I wasn't aware of the above difference in behavior, so
the list wouldn't have had it anyway. :-)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net