std::ratio_less (3) - Linux Manuals

std::ratio_less: std::ratio_less


std::ratio_less - std::ratio_less


Defined in header <ratio>
template< class R1, class R2 > (since C++11)
struct ratio_less : std::integral_constant;

If the ratio R1 is less than the ratio R2, provides the member constant value equal true. Otherwise, value is false.

Helper variable template

template< class R1, class R2 > (since C++17)
inline constexpr bool ratio_less_v = ratio_less<R1, R2>::value;

Inherited from std::integral_constant

Member constants

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

Member functions

              converts the object to bool, returns value
operator bool (public member function)

operator() returns value
              (public member function)

Member types

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


// Run this code

  #include <iostream>
  #include <ratio>

  int main()
      if (std::ratio_less<std::ratio<23,37>, std::ratio<57,90>>::value) {
          std::cout << "23/37 < 57/90\n";


  23/37 < 57/90

See also