Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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() << " s ";
		animate_frame_at_time_offset(game_time.count());
	    }
	}

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

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::chrono::time_point::min&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help