#include class SortTracer { private: int value; int generation; static long n_created; static long n_destroyed; static long n_assigend; static long n_compared; static long n_max_live; static void update_max_live() { if (n_created-n_destroyed > n_max_live) { n_max_live = n_created-n_destroyed; } } public: SortTracer (int v=0) : value(v), generation(1) { ++n_created; update_max_live(); std::cerr << "SortTracer #" << n_created << ", created generation " << generation << " (total: " << n_created - n_destroyed << ")" << std::endl; } SortTracer (SortTracer const& b) : value(b.value), generation(b.generation +1) { ++n_created; update_max_live(); std::cerr << "SortTracer #" << n_created << ", copied as generation " << generation << " (total: " << n_created - n_destroyed << ")" << std::endl; } ~SortTracer() { ++n_destroyed; update_max_live(); std::cerr << "SortTracer #" << n_created << ", destroyed in generation " << generation << " (total: " << n_created - n_destroyed << ")" << std::endl; } int val() const { return value; } };
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif