This class allows collecting timing data using two different techniques. The first is using start() and update() and then calling elapsed() to get the elapsed time. This is useful when you want to measure the elapsed time between two different execution points. e.g
timing.start(); do_stuff(); timing.update(); cerr << "do_stuff took: " << timing.elapsed() << "usecs" << endl;
The other is timing intervals using start() and calling get_interval() periodically to measure the time intervals between the same execution point. The difference is necessary to get the most accurate timing information when timing intervals but I didn't feel it necessary to have two separate classes.
Definition at line 65 of file timing.h.