
Gennaro Prota wrote:
On Sun, 25 Jun 2006 10:00:46 -0400, Beman Dawes <bdawes@acm.org> wrote:
It seems that everyone is writing timers in this period :) I've my implementation too, resulting from preliminary off-list discussion with Pavel Vozenilek. It's similar to yours but I was not happy with the interface,
Which interface?
and also wanted to make it interoperable with Boost.Date_Time without actually coupling with it.
Well, this can certainly be done but is it really worth it? From what I can see you basically end up with something requiring 3 template parameters instead of one (time type, duration type, clock type). Clock type is the one that's really necessary to allow for different implementations of time measurement. Is the coupling with date-time really so extreme? Everything you need for the timers is all header inline. Have you looked at: http://boost-consulting.com/vault/index.php?&direction=0&order=&directory=date_time 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(); }; Now I appreciate that what Beman is trying to do is slightly different so what he wants from the elapsed call doesn't match up. That said, I'm not sure that there needs to be so much variation in the rest of the interface. Jeff