home | help
std::chrono..._point::min(3)   C++ Standard Libary  std::chrono..._point::min(3)

NAME
     std::chrono::time_point::min - std::chrono::time_point::min

Synopsis
	static constexpr time_point min();	     (until C++20)
	static constexpr time_point min() noexcept;  (since C++20)

	Returns a time_point with the smallest possible duration, i.e.
	time_point(std::chrono::duration::min()).

Parameters
	(none)

Return value
	The smallest possible time_point.

Example
     // Run this code

      #include <chrono>
      #include <iomanip>
      #include <iostream>
      #include <ratio>
      #include <string>

      constexpr auto steady_min = std::chrono::steady_clock::time_point::min();

      void animate_frame_at_time_offset(double game_time)
      {
	  std::cout << std::string(static_cast<int>(game_time) % 10 + 1, '*') <<
     '\n';
      }

      int main()
      {
	  auto last_frame = steady_min;
	  std::chrono::duration<double, std::micro> game_time{0.0};

	  for (int n = 0; n < 5; ++n)
	  {
	      const auto current_frame = std::chrono::steady_clock::now();
	      // initialize timer if first frame ever:
	      if (last_frame == steady_min)
		  last_frame = current_frame;
	      game_time += current_frame - last_frame;
	      std::cout << "Drawing frame at " << std::setprecision(10)
			<< std::setw(8) << game_time.count() << " I1/4s ";
	      animate_frame_at_time_offset(game_time.count());
	  }
      }

Possible output:
      Drawing frame at	      0 I1/4s *
      Drawing frame at	134.499 I1/4s *****
      Drawing frame at	274.337 I1/4s *****
      Drawing frame at	416.571 I1/4s *******
      Drawing frame at	561.124 I1/4s **

http://cppreference.com 	   2024.06.10	    std::chrono..._point::min(3)

home | help