C++ 参考手册

位置:首页 > C++ 参考手册 >日期和时间工具 >std::chrono::time_point > operator==,!=,<,<=,>,>=,<=>(std::chrono::time_point)

(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 起)
(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 起)
(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 起)
(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 前)
(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 起)
(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 前)
(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 起)
(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 前)
(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 起)
(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 前)
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) 检查 time_point lhsrhs 是否给定时钟的同一时间点。
3-6) 比较 time_point lhsrhs
7) 比较 time_point lhsrhs 。返回类型从 lhs.time_since_epoch() <=> rhs.time_since_epoch() 推导,从而为 Dur1Dur2 的三路比较结果类型。

参数

lhs, rhs - 要比较的 time_point

返回值

1)lhsrhs 指代同一时间点则为 true ,否则为 false
2)lhsrhs 指代不同时间点则为 true ,否则为 false
3)lhs 指代的时间点先于 rhs 则为 true ,否则为 false
4)lhs 指代的时间点先于 rhs ,或指代的时间点与 rhs 相同则为 true ,否则为 false
5)lhs 指代的时间点后于 rhs 则为 ,否则为 false
6)lhs 指代的时间点后于 rhs ,或指代的时间点与 rhs 相同则为 true ,否则为 false
7) lhs.time_since_epoch() <=> rhs.time_since_epoch()

异常

(无)

注解

time_point 的双路比较运算符曾在 C++11 中不是 constexpr ,这在 C++14 中更正。