namespace ll = boost::lambda;
... = std::find_if(..., ll::bind(&Timeslice::contains,
ll::bind(&LightningSlice::timeslice, ll::_1), time_));
Yes, it's ugly. Unfortunately, you can't really improve on it.
Sebastian
_______________________________________________
Thanks,
I tried this suggestion:
#include
namespace ll = boost::lambda;
LightningQueue::const_iterator l
= std::find_if( m_lightnings.begin(), m_lightnings.end(),
bind( &boost::posix_time::time_period::contains,
ll::bind( &LightningSlice::timeslice, ll::_1 ), time_
) );
But then I got this error message:
../LightningIndex.cpp: In member function 'weather::LightningSlice
weather::LightningIndex::getLightningSlice(boost::posix_time::ptime)':
../LightningIndex.cpp:40: error: no matching function for call to
'bind(<unresolved overloaded function type>, const
boost::lambda::lambda_functor >,
boost::tuples::tuple >,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >,
boost::posix_time::ptime&)'
This is even more confusion than the first error message.
Greetings, Sven