//: C06:ForEach.cpp {-mwcc} // From "Thinking in C++, Volume 2", by Bruce Eckel & Chuck Allison. // (c) 1995-2004 MindView, Inc. All Rights Reserved. // See source code use permissions stated in the file 'License.txt', // distributed with the code package available at www.MindView.net. // Use of STL for_each() algorithm. //{L} Counted #include #include #include "Counted.h" using namespace std; // Function object: template class DeleteT { public: void operator()(T* x) { delete x; } }; // Template function: template void wipe(T* x) { delete x; } int main() { CountedVector B("two"); for_each(B.begin(), B.end(), DeleteT()); CountedVector C("three"); for_each(C.begin(), C.end(), wipe); } ///:~