operator==,!=,<,<=,>,>=(std::chrono::duration) (3) - Linux Manuals

operator==,!=,<,<=,>,>=(std::chrono::duration): operator==,!=,<,<=,>,>=(std::chrono::duration)

NAME

operator==,!=,<,<=,>,>=(std::chrono::duration) - operator==,!=,<,<=,>,>=(std::chrono::duration)

Synopsis


template <class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator==(const duration<Rep1, Period1>& lhs, (1)
const duration<Rep2, Period2>& rhs);
template <class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator!=(const duration<Rep1, Period1>& lhs, (2)
const duration<Rep2, Period2>& rhs);
template <class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator<(const duration<Rep1, Period1>& lhs, (3)
const duration<Rep2, Period2>& rhs);
template <class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator<=(const duration<Rep1, Period1>& lhs, (4)
const duration<Rep2, Period2>& rhs);
template <class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator>(const duration<Rep1, Period1>& lhs, (5)
const duration<Rep2, Period2>& rhs);
template <class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator>=(const duration<Rep1, Period1>& lhs, (6)
const duration<Rep2, Period2>& rhs);


Compares two durations.
1-2) Checks if lhs and rhs are equal, i.e. the number of ticks for the type common to both durations are equal.
3-6) Compares lhs to rhs, i.e. compares the number of ticks for the type common to both durations.

Parameters


lhs - duration on the left-hand side of the operator
rhs - duration on the right-hand side of the operator

Return value


Assuming that CT =
std::common_type<std::chrono::duration<Rep1, Period1>,
std::chrono::duration<Rep2, Period2>>::type, then:
1) CT(lhs).count() == CT(rhs).count()
2) !(lhs == rhs)
3) CT(lhs).count() < CT(rhs).count()
4) !(rhs < lhs)
5) rhs < lhs
6) !(lhs < rhs)

Example


// Run this code


  #include <chrono>
  #include <iostream>
  int main()
  {
      if(std::chrono::seconds(2) == std::chrono::milliseconds(2000))
          std::cout << "2 s == 2000 ms\n";
      else
          std::cout << "2 s != 2000 ms\n";


      if(std::chrono::seconds(61) > std::chrono::minutes(1))
          std::cout << "61 s > 1 min\n";
      else
          std::cout << "61 s <= 1 min\n";


  }

Output:


  2 s == 2000 ms
  61 s > 1 min