The following code example is taken from the book
The C++ Standard Library - A Tutorial and Reference
by Nicolai M. Josuttis, Addison-Wesley, 1999
© Copyright Nicolai M. Josuttis 1999
#include "algostuff.hpp"
using namespace std;
int main()
{
list<int> coll;
INSERT_ELEMENTS(coll,1,9);
INSERT_ELEMENTS(coll,1,9);
PRINT_ELEMENTS(coll,"coll: ");
// find first element with value 4
list<int>::iterator pos1;
pos1 = find (coll.begin(), coll.end(), // range
4); // value
/* find second element with value 4
* - note: continue the search behind the first 4 (if any)
*/
list<int>::iterator pos2;
if (pos1 != coll.end()) {
pos2 = find (++pos1, coll.end(), // range
4); // value
}
/* print all elements from first to second 4 (both included)
* - note: now we need the position of the first 4 again (if any)
* - note: we have to pass the position behind the second 4 (if any)
*/
if (pos1!=coll.end() && pos2!=coll.end()) {
copy (--pos1, ++pos2,
ostream_iterator<int>(cout," "));
cout << endl;
}
}