home | help
std::ratio_greater(3)	       C++ Standard Libary	   std::ratio_greater(3)

NAME
     std::ratio_greater - std::ratio_greater

Synopsis
	Defined in header <ratio>
	template< class R1, class R2 >
	struct	ratio_greater  :  std::integral_constant<bool,	/* see below */>
     (since C++11)
	{ };

	If the ratio R1 is greater than the ratio R2, provides the  member  con-
     stant value
	equal true. Otherwise, value is false.

Member constants
	value	  true	if  R1::num * R2::den > R2::num * R1::den, or equivalent
     expression
	[static] that avoids overflow, false otherwise
		 (public static member constant)

Member functions
	operator bool converts the object to bool, returns value
		      (public member function)
	operator()    returns value
	(C++14)       (public member function)

Member types
	Type	   Definition
	value_type bool
	type	   std::integral_constant<bool, value>

Example
     // Run this code

      #include <iostream>
      #include <ratio>

      int main()
      {
	  static_assert(std::ratio_greater<std::ratio<3,    4>,    std::ratio<1,
     2>>::value,
			"3/4 > 1/2");

	  if (std::ratio_greater<std::ratio<11, 12>, std::ratio<10, 11>>::value)
	      std::cout << "11/12 > 10/11" "\n";

	  // Since C++17
	  static_assert(std::ratio_greater_v<std::ratio<12,  13>, std::ratio<11,
     12>>);

	  if constexpr (std::ratio_greater_v<std::ratio<12, 13>,  std::ratio<11,
     12>>)
	      std::cout << "12/13 > 11/12" "\n";
      }

Output:
      11/12 > 10/11
      12/13 > 11/12

See also
	ratio_greater_equal compares two ratio objects for greater than or equal
     to at
	(C++11) 	    compile-time
			    (class template)

http://cppreference.com 	   2024.06.10		   std::ratio_greater(3)

home | help