To anyone interested, I ended up writing for_each<cIterType&>(…) and the algorithm passed the iterators by reference.

            - Sean

 

>typedef set<int>::const_iterator cIterType;

>cIterType bit = mySet.begin(); cIterType eit = >mySet.end();

> 

>for_each(ref(bit), ref(eit),

>  if_(bind(boost::next<cIterType>, boost::ref(bit)) != mySet.end())

>      [...]