+ /// Time from start to hit.
+ Time TargetTime() const {
+ return data ? data->target : Time();
+ }
+ /// Get the elapsed time since the timer started or last hit.
+ Time IterationElapsed() const {
+ return data ? data->time % data->target : Time();
+ }
+ /// Get the remaining time in this iteration.
+ Time IterationRemaining() const {
+ return TargetTime() - IterationElapsed();
+ }