//: C05:ForEach.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Use of STL for_each() algorithm #include "Counted.h" #include #include #include using namespace std; // Simple function: void destroy(Counted* fp) { delete fp; } // Function object: template class DeleteT { public: void operator()(T* x) { delete x; } }; // Template function: template void wipe(T* x) { delete x; } int main() { CountedVector A("one"); for_each(A.begin(), A.end(), destroy); CountedVector B("two"); for_each(B.begin(),B.end(),DeleteT()); CountedVector C("three"); for_each(C.begin(), C.end(), wipe); } ///:~