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

From cppreference.com
< cpp‎ | chrono‎ | time point
Date and time library
Time point
(C++11)
(C++20)
Duration
(C++11)
Clocks
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Time of day
(C++20)(C++20)
(C++20)(C++20)
(C++20)

Calendar
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
Time zone
(C++20)
(C++20)
(C++20) (C++20) (C++20) (C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
chrono I/O
(C++20)
C-style date and time
std::chrono::time_point
Member functions
Non-member functions
operator==operator!=operator<operator<=operator>operator>=operator<=>
(until C++20)(C++20)
(C++17)
(C++17)
(C++17)
Helper classes
Defined in header <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 ) ;
(since 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 ) ;
(since 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 ) ;
(since 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 ) ;
(since C++14)
(until 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 ) ;
(since 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 ) ;
(since 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 ) ;
(since 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 ) ;
(since 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 ) ;
(since 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 ) ;
(since 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 ) ;
(since 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 ) ;
(since 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) (since C++20)

Compares two time points. The comparison is done by comparing the results time_since_epoch() for the time points.

1,2) Checks if the time points lhs and rhs
3-6) Compares the time points lhs and rhs.
7) Compares the time points lhs and rhs. The return type is deduced from lhs.time_since_epoch ( ) <=> rhs.time_since_epoch ( ) , and hence the three-way comparison result type of Dur1 and Dur2

The != operator is synthesized from operator==.

(since C++20)

Parameters

lhs, rhs - time points to compare

Return value

1) true if the lhs and rhs refer to the same time point, false
2) true if the lhs and rhs refer to different time points, false
3) true if the lhs refers to time point before rhs, false
4) true if the lhs refers to time point before rhs, or to the same time point as rhs, false
5) true if the lhs refers to time point after rhs, false
6) true if the lhs refers to time point after rhs, or to the same time point as rhs, false
7) lhs.time_since_epoch ( ) <=> rhs.time_since_epoch ( )

Exceptions

May throw implementation-defined exceptions.

Notes

Two-way comparison operators of time_point were not constexpr in C++11, this was corrected in C++14.