Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |chrono‎ |duration
       
       
      Date and time library
       
      std::chrono::duration
       
      template<class Rep1,class Period1,class Rep2,class Period2>

      constexprbool operator==(conststd::chrono::duration<Rep1, Period1>& lhs,

                                 conststd::chrono::duration<Rep2, Period2>& rhs);
      (1)(since C++11)
      template<class Rep1,class Period1,class Rep2,class Period2>

      constexprbool operator!=(conststd::chrono::duration<Rep1, Period1>& lhs,

                                 conststd::chrono::duration<Rep2, Period2>& rhs);
      (2)(since C++11)
      (until C++20)
      template<class Rep1,class Period1,class Rep2,class Period2>

      constexprbool operator<(conststd::chrono::duration<Rep1, Period1>& lhs,

                               conststd::chrono::duration<Rep2, Period2>& rhs);
      (3)(since C++11)
      template<class Rep1,class Period1,class Rep2,class Period2>

      constexprbool operator<=(conststd::chrono::duration<Rep1, Period1>& lhs,

                                 conststd::chrono::duration<Rep2, Period2>& rhs);
      (4)(since C++11)
      template<class Rep1,class Period1,class Rep2,class Period2>

      constexprbool operator>(conststd::chrono::duration<Rep1, Period1>& lhs,

                               conststd::chrono::duration<Rep2, Period2>& rhs);
      (5)(since C++11)
      template<class Rep1,class Period1,class Rep2,class Period2>

      constexprbool operator>=(conststd::chrono::duration<Rep1, Period1>& lhs,

                                 conststd::chrono::duration<Rep2, Period2>& rhs);
      (6)(since C++11)
      template<class Rep1,class Period1,class Rep2,class Period2>

          requiresstd::three_way_comparable<std::common_type_t<Rep1, Rep2>>
      constexprauto operator<=>(conststd::chrono::duration<Rep1, Period1>& lhs,

                                 conststd::chrono::duration<Rep2, Period2>& rhs);
      (7)(since C++20)

      Compares two durations. LetCT bestd::common_type<std::chrono::duration<Rep1, Period1>,std::chrono::duration<Rep2, Period2>>::type:

      1,2) Checks iflhs andrhs are equal, i.e. the number of ticks for the type common to both durations are equal.
      3-6) Compareslhs torhs, i.e. compares the number of ticks for the type common to both durations.
      7) Compareslhs torhs, i.e. compares the number of ticks for the type common to both durations. The return type is deduced fromCT(lhs).count()<=> CT(rhs).count().

      The!= operator issynthesized fromoperator==.

      (since C++20)

      [edit]Parameters

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

      [edit]Return value

      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)
      7)CT(lhs).count()<=> CT(rhs).count()

      [edit]Example

      Run this code
      #include <chrono>#include <iostream> int main(){constexprauto t1=std::chrono::seconds(2);constexprauto t2=std::chrono::milliseconds(2000); ifconstexpr(t1== t2)std::cout<< t1<<" == "<< t2<<'\n';elsestd::cout<< t1<<" != "<< t2<<'\n'; constexprauto t3=std::chrono::seconds(61);constexprauto t4=std::chrono::minutes(1); ifconstexpr(t3> t4)std::cout<< t3<<" > "<< t4<<'\n';elsestd::cout<< t3<<" <= "<< t4<<'\n'; usingnamespace std::chrono_literals;     static_assert(1h== 60min);    static_assert(1min== 60s);    static_assert(1s==1'000ms);    static_assert(1ms == 1'000us);    static_assert(1us==1'000ns);}

      Output:

      2s == 2000ms61s > 1min
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/duration/operator_cmp&oldid=157498"

      [8]ページ先頭

      ©2009-2026 Movatter.jp