/* 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 #include #include using namespace std; int main() { list coll; // insert elements from 6 to 1 and 1 to 6 for (int i=1; i<=6; ++i) { coll.push_front(i); coll.push_back(i); } // print all elements of the collection copy (coll.begin(), coll.end(), ostream_iterator(cout," ")); cout << endl; // remove all elements with value 3 // - retain new end list::iterator end = remove (coll.begin(), coll.end(), 3); // print resulting elements of the collection copy (coll.begin(), end, ostream_iterator(cout," ")); cout << endl; // print number of resulting elements cout << "number of removed elements: " << distance(end,coll.end()) << endl; // remove ``removed'' elements coll.erase (end, coll.end()); // print all elements of the modified collection copy (coll.begin(), coll.end(), ostream_iterator(cout," ")); cout << endl; }