operator==,!=,<,<=,>,>=,<=> (std::chrono::duration)
|
template
<
class
Rep1,
class
Period1,
class
Rep2,
class
Period2
>
constexpr
bool
operator
==
(
const
std::
chrono
::
duration
<
Rep1, Period1
>
&
lhs,
|
(1) | (自 C++11 起) |
|
template
<
class
Rep1,
class
Period1,
class
Rep2,
class
Period2
>
constexpr
bool
operator
!
=
(
const
std::
chrono
::
duration
<
Rep1, Period1
>
&
lhs,
|
(2) |
(自 C++11 起)
(至 C++20 止) |
|
template
<
class
Rep1,
class
Period1,
class
Rep2,
class
Period2
>
constexpr
bool
operator
<
(
const
std::
chrono
::
duration
<
Rep1, Period1
>
&
lhs,
|
(3) | (自 C++11 起) |
|
template
<
class
Rep1,
class
Period1,
class
Rep2,
class
Period2
>
constexpr
bool
operator
<=
(
const
std::
chrono
::
duration
<
Rep1, Period1
>
&
lhs,
|
(4) | (自 C++11 起) |
|
template
<
class
Rep1,
class
Period1,
class
Rep2,
class
Period2
>
constexpr
bool
operator
>
(
const
std::
chrono
::
duration
<
Rep1, Period1
>
&
lhs,
|
(5) | (自 C++11 起) |
|
template
<
class
Rep1,
class
Period1,
class
Rep2,
class
Period2
>
constexpr
bool
operator
>=
(
const
std::
chrono
::
duration
<
Rep1, Period1
>
&
lhs,
|
(6) | (自 C++11 起) |
|
template
<
class
Rep1,
class
Period1,
class
Rep2,
class
Period2
>
requires
std::
three_way_comparable
<
std::
common_type_t
<
Rep1, Rep2
>>
|
(7) | (自 C++20 起) |
比较两个时长。令
CT
为
std::
common_type
<
std::
chrono
::
duration
<
Rep1, Period1
>
,
std::
chrono
::
duration
<
Rep2, Period2
>>
::
type
:
|
|
(C++20 起) |
参数
| lhs | - | 运算符左侧的时间长度 |
| rhs | - | 运算符右侧的时间长度 |
返回值
示例
#include <chrono> #include <iostream> int main() { constexpr auto t1 = std::chrono::seconds(2); constexpr auto t2 = std::chrono::milliseconds(2000); if constexpr (t1 == t2) std::cout << t1 << " == " << t2 << '\n'; else std::cout << t1 << " != " << t2 << '\n'; constexpr auto t3 = std::chrono::seconds(61); constexpr auto t4 = std::chrono::minutes(1); if constexpr (t3 > t4) std::cout << t3 << " > " << t4 << '\n'; else std::cout << t3 << " <= " << t4 << '\n'; using namespace 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); }
输出:
2s == 2000ms 61s > 1min