Boost::foreach is very useful for iterating over a sequence and doing something that depends only on the iterated element, e.g.,
BOOST_FOREACH(const Foo &f, foos)
cout << f.bar() << endl;
However, I often need to iterate over a sequence and do some operation that depends on both the iterated element and the iteration index. E.g., I would like something like
BOOST_FOREACH(size_t i, const Foo &f, foos)
cout << "The bar of element " << i << " is " << f.bar() << endl;
Is there an easy way to do so?
Thanks & Bye,