text: /* The following code example is taken from the book
   * "The C++ Standard Library - A Tutorial and Reference"
   * by Nicolai M. Josuttis, Addison-Wesley, 1999
   *
   * (C) Copyright Nicolai M. Josuttis 1999.
   * Permission to copy, use, modify, sell and distribute this software
   * is granted provided this copyright notice appears in all copies.
   * This software is provided "as is" without express or implied
   * warranty, and with no claim as to its suitability for any purpose.
   */
  #include "algostuff.hpp"
  using namespace std;
  
  int main()
  {
      vector<int> coll;
      list<int> searchcoll;
  
      INSERT_ELEMENTS(coll,1,11);
      INSERT_ELEMENTS(searchcoll,3,5);
  
      PRINT_ELEMENTS(coll,      "coll:       ");
      PRINT_ELEMENTS(searchcoll,"searchcoll: ");
  
      // search first occurrence of an element of searchcoll in coll
      vector<int>::iterator pos;
      pos = find_first_of (coll.begin(), coll.end(),     // range
                           searchcoll.begin(),   // beginning of search set
                           searchcoll.end());    // end of search set
      cout << "first element of searchcoll in coll is element "
           << distance(coll.begin(),pos) + 1
           << endl;
  
      // search last occurrence of an element of searchcoll in coll
      vector<int>::reverse_iterator rpos;
      rpos = find_first_of (coll.rbegin(), coll.rend(),  // range
                            searchcoll.begin(),  // beginning of search set
                            searchcoll.end());   // end of search set
      cout << "last element of searchcoll in coll is element "
           << distance(coll.begin(),rpos.base())
           << endl;
  }
  