At 12:00 AM -0500 7/27/08, Meryl Silverburgh wrote:
Hi,
Can you please tell me if there is an easy way to replace the following for loop using boost:lambda?
I have a vector of A, i want to call 'aMethod of each A, and stop it when one of them return true.
for (vector::const_iterator iter = aList.begin() ; iter != aList.end(); ++iter) {
A* anA = (*iter);
// break out the for loop if aMethod return true; if (anA->aMethod()){ break; }
Isn't this what std::find_if does? std::find_if ( aList.begin (), aList.end (); bind ( A::Method, *_1 )); [ Code not compiled, just composed in email client, but you get the idea ] http://www.boost.org/doc/libs/1_35_0/doc/html/lambda/le_in_details.html#memb... -- -- Marshall Marshall Clow Idio Software mailto:marshall@idio.com It is by caffeine alone I set my mind in motion. It is by the beans of Java that thoughts acquire speed, the hands acquire shaking, the shaking becomes a warning. It is by caffeine alone I set my mind in motion.