#ifndef TIME_HPP #define TIME_HPP /** * A representation of time. */ class Time { public: /** * A representation of time. * * @param time_micros Time in microseconds */ Time(unsigned long time_micros); /** * Updates the time to the current time. */ void update(); /** * Returns the difference between two points in time. * * @param prev_time A previous point in time */ Time diff(Time prev_time); /** * Returns the time in seconds. */ float secs(); /** * Returns the time in milliseconds. */ unsigned long millisecs(); /** * Returns the time in microseconds. */ unsigned long microsecs(); private: unsigned long _time_micros; }; /** * Returns a time object for the time since the program started. */ Time time_now(); #endif