timer.cpp 488 B

1234567891011121314151617181920212223242526272829
  1. #include "timer.h"
  2. namespace iv
  3. {
  4. Timer::Timer(const float& hz):
  5. duration_{std::chrono::duration<float>(1.0 / hz)},
  6. start_ {},
  7. elapsed_{}
  8. {
  9. }
  10. void Timer::Start()
  11. {
  12. start_ = std::chrono::system_clock::now();
  13. }
  14. void Timer::Stop()
  15. {
  16. elapsed_ = std::chrono::system_clock::now() - start_;
  17. if( elapsed_ < duration_)
  18. {
  19. std::this_thread::sleep_for(duration_ - elapsed_);
  20. }
  21. }
  22. }