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

FreeBSD Manual Pages

  
 
  

home | help
std::chrono::year::ok(3)      C++ Standard Libary     std::chrono::year::ok(3)

NAME
       std::chrono::year::ok - std::chrono::year::ok

Synopsis
	  constexpr bool ok() const noexcept;  (since C++20)

	  Checks  if  the  year	 value	stored in *this	is in the valid	range,
       i.e.,
	  [-32767, 32767].

Return value
	  true if the year value stored	in *this  is  in  the  range  [-32767,
       32767]. Otherwise
	  false.

Possible implementation
	  See  the  implementations in libstdc++, libc++, and Howard Hinnant's
       date.h.

	  class	Year
	  {
	      short year_;   //	exposition-only

	  public:

	      bool ok()	const noexcept {  return  year_	 !=  std::numeric_lim-
       its<short>::min(); }

	      /*...*/
	  };

Example
       // Run this code

	#include <chrono>
	#include <iomanip>
	#include <iostream>

	int main()
	{
	    std::cout  << "input year  internal	value  ok()\n" << std::boolal-
       pha;

	    for	(const int i : {2020, 0x8000, 0x8001, 0xFFFF, 0x18000})
	    {
		const std::chrono::year	y{i};
		std::cout << std::setw(10) << i	<< "  "
			  << std::setw(14) << static_cast<int>(y) << "	"
			  << y.ok() << '\n';
	    }
	}

Possible output:
	input year  internal value  ok()
	      2020	      2020  true
	     32768	    -32768  false
	     32769	    -32767  true
	     65535		-1  true
	     98304	    -32768  false

http://cppreference.com		  2024.06.10	      std::chrono::year::ok(3)

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

home | help