命名空间
变体
操作

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

来自 cppreference.cn
< cpp‎ | chrono‎ | time_point
 
 
 
 
定义于头文件 <chrono>
(1)
template< class Clock, class Dur1, class Dur2 >

bool operator==( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(C++11 起)
(until C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator==( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(C++14 起)
(2)
template< class Clock, class Dur1, class Dur2 >

bool operator!=( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(C++11 起)
(until C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator!=( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(C++14 起)
(C++20 前)
(3)
template< class Clock, class Dur1, class Dur2 >

bool operator<( const std::chrono::time_point<Clock,Dur1>& lhs,

                const std::chrono::time_point<Clock,Dur2>& rhs );
(C++11 起)
(until C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator<( const std::chrono::time_point<Clock,Dur1>& lhs,

                          const std::chrono::time_point<Clock,Dur2>& rhs );
(C++14 起)
(4)
template< class Clock, class Dur1, class Dur2 >

bool operator<=( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(C++11 起)
(until C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator<=( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(C++14 起)
(5)
template< class Clock, class Dur1, class Dur2 >

bool operator>( const std::chrono::time_point<Clock,Dur1>& lhs,

                const std::chrono::time_point<Clock,Dur2>& rhs );
(C++11 起)
(until C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator>( const std::chrono::time_point<Clock,Dur1>& lhs,

                          const std::chrono::time_point<Clock,Dur2>& rhs );
(C++14 起)
(6)
template< class Clock, class Dur1, class Dur2 >

bool operator>=( const std::chrono::time_point<Clock,Dur1>& lhs,

                 const std::chrono::time_point<Clock,Dur2>& rhs );
(C++11 起)
(until C++14)
template< class Clock, class Dur1, class Dur2 >

constexpr bool operator>=( const std::chrono::time_point<Clock,Dur1>& lhs,

                           const std::chrono::time_point<Clock,Dur2>& rhs );
(C++14 起)
template< class Clock, class Dur1, std::three_way_comparable_with<Dur1> Dur2 >

constexpr auto operator<=>( const std::chrono::time_point<Clock,Dur1>& lhs,

                            const std::chrono::time_point<Clock,Dur2>& rhs );
(7) (C++20 起)

比较两个时间点。比较是通过比较时间点的 time_since_epoch() 结果完成的。

1,2) 检查时间点 lhsrhs 是否引用给定时间戳的同一时间点。
3-6) 比较时间点 lhsrhs
7) 比较时间点 lhsrhs。返回类型从 lhs.time_since_epoch() <=> rhs.time_since_epoch() 推导,因此是 Dur1Dur2 的三向比较结果类型。

!= 运算符由 operator== 合成

(C++20 起)

目录

[编辑] 参数

lhs, rhs - 要比较的时间点

[编辑] 返回值

1) 如果 lhsrhs 引用同一时间点,则为 true,否则为 false
2) 如果 lhsrhs 引用不同时间点,则为 true,否则为 false
3) 如果 lhs 引用时间点在 rhs 之前,则为 true,否则为 false
4) 如果 lhs 引用时间点在 rhs 之前,或与 rhs 相同,则为 true,否则为 false
5) 如果 lhs 引用时间点在 rhs 之后,则为 true,否则为 false
6) 如果 lhs 引用时间点在 rhs 之后,或与 rhs 相同,则为 true,否则为 false
7) lhs.time_since_epoch() <=> rhs.time_since_epoch()

[编辑] 异常

可能抛出实现定义的异常。

[编辑] 注意

在 C++11 中,time_point 的双向比较运算符不是 constexpr,这在 C++14 中得到了纠正。