- std::cerr
- << "Leaked " << Name << " objects found: " << Message << ":\n\t";
- std::copy(Ts.begin(), Ts.end(),
- std::ostream_iterator<const T*>(std::cerr, " "));
- std::cerr << '\n';
-
- // Clear out results so we don't get duplicate warnings on
- // next call...
- Ts.clear();
+ cerr << "Leaked " << Name << " objects found: " << Message << ":\n";
+ for (typename std::set<const T*>::iterator I = Ts.begin(),
+ E = Ts.end(); I != E; ++I) {
+ cerr << "\t";
+ PrinterTrait<T>::print(*I);
+ cerr << "\n";
+ }
+ cerr << '\n';
+