
"Jeff Garland" wrote
As for the interface, I'm almost amused that this pretty much trivial interface continues to bring discussion. The timer proposal that's in the vault now had the interface discussed at some length (see http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?GDTL/Timer) for some links. The sketch for this is:
class timer { timer(time_duration initial_duration = time_duration(0,0,0), START_OPTION start_op = AUTO_START);
void start(); void restart() ; time_duration elapsed() const; void pause(); void resume(); void reset(); };
FWIW I thought I should add my own timer efforts. None too serious, but the unique (AFAICS) feature is that you can select different time units: Its in <boost/pqs/utility/timer.hpp> and looks like this( This version moved to quan namespace) : amespace quan{ template <typename TimeType = quan::time::ms> class timer{ public: timer(); void restart(); void stop() ; TimeType operator ()()const; bool is_running() const ; bool is_stopped() const; }; }//quan int main() { int const num_loops=10; quan::timer<quan::time::ms> t; // construction starts timing for(int j = 0; j < num_loops; ++j){ /*...*/ } t.stop(); std::cout << t() << "\n"; } regards Andy Little