Time
Utilities
Collaboration diagram for Time:

## Files

file | chrono

## Namespaces

namespace | std::chrono
namespace | std::literals::chrono_literals

## Classes

struct | std::common_type< chrono::duration< _Rep, _Period > >
struct | std::common_type< chrono::duration< _Rep, _Period >, chrono::duration< _Rep, _Period > >
struct | std::common_type< chrono::duration< _Rep1, _Period1 >, chrono::duration< _Rep2, _Period2 > >
struct | std::common_type< chrono::time_point< _Clock, _Duration > >
struct | std::common_type< chrono::time_point< _Clock, _Duration >, chrono::time_point< _Clock, _Duration > >
struct | std::common_type< chrono::time_point< _Clock, _Duration1 >, chrono::time_point< _Clock, _Duration2 > >
class | std::chrono::duration< _Rep, _Period >
struct | std::chrono::duration_values< _Rep >
struct | std::chrono::_V2::steady_clock
struct | std::chrono::_V2::system_clock
class | std::chrono::time_point< _Clock, _Dur >
struct | std::chrono::treat_as_floating_point< _Rep >

## Macros

#define | __cpp_lib_chrono

## Typedefs

using | std::chrono::days
using | std::chrono::file_clock
template<typename _Duration>
using | std::chrono::file_time
using | std::chrono::gps_seconds
template<typename _Duration>
using | std::chrono::gps_time
using | std::chrono::high_resolution_clock
using | std::chrono::hours
using | std::chrono::local_days
using | std::chrono::local_seconds
template<typename _Duration>
using | std::chrono::local_time
using | std::chrono::microseconds
using | std::chrono::milliseconds
using | std::chrono::minutes
using | std::chrono::months
using | std::chrono::nanoseconds
using | std::chrono::seconds
using | std::chrono::sys_days
using | std::chrono::sys_seconds
template<typename _Duration>
using | std::chrono::sys_time
using | std::chrono::tai_seconds
template<typename _Duration>
using | std::chrono::tai_time
using | std::chrono::utc_seconds
template<typename _Duration>
using | std::chrono::utc_time
using | std::chrono::weeks
using | std::chrono::years

## Functions

constexpr | std::chrono::year_month_day::year_month_day (const year_month_day_last &__ymdl) noexcept
template<typename _Rep, typename _Period>
constexpr enable_if_t< numeric_limits< _Rep >::is_signed, duration< _Rep, _Period > > | std::chrono::abs (duration< _Rep, _Period > __d)
template<typename _ToDur, typename _Rep, typename _Period>
constexpr __enable_if_is_duration< _ToDur > | std::chrono::ceil (const duration< _Rep, _Period > &__d)
template<typename _ToDur, typename _Clock, typename _Dur>
constexpr enable_if_t< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > > | std::chrono::ceil (const time_point< _Clock, _Dur > &__tp)
template<typename _ToDur, typename _Rep, typename _Period>
constexpr __enable_if_is_duration< _ToDur > | std::chrono::duration_cast (const duration< _Rep, _Period > &__d)
template<typename _ToDur, typename _Rep, typename _Period>
constexpr __enable_if_is_duration< _ToDur > | std::chrono::floor (const duration< _Rep, _Period > &__d)
template<typename _ToDur, typename _Clock, typename _Dur>
constexpr enable_if_t< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > > | std::chrono::floor (const time_point< _Clock, _Dur > &__tp)
constexpr bool | std::chrono::is_am (const hours &__h) noexcept
constexpr bool | std::chrono::is_pm (const hours &__h) noexcept
constexpr hours | std::chrono::make12 (const hours &__h) noexcept
constexpr hours | std::chrono::make24 (const hours &__h, bool __is_pm) noexcept
constexpr bool | std::chrono::year_month_day::ok () const noexcept
constexpr chrono::day | std::literals::chrono_literals::operator""d (unsigned long long __d) noexcept
template<char... _Digits>
constexpr chrono::hours | std::literals::chrono_literals::operator""h ()
constexpr chrono::duration< long double, ratio< 3600, 1 > > | std::literals::chrono_literals::operator""h (long double __hours)
template<char... _Digits>
constexpr chrono::minutes | std::literals::chrono_literals::operator""min ()
constexpr chrono::duration< long double, ratio< 60, 1 > > | std::literals::chrono_literals::operator""min (long double __mins)
template<char... _Digits>
constexpr chrono::milliseconds | std::literals::chrono_literals::operator""ms ()
constexpr chrono::duration< long double, milli > | std::literals::chrono_literals::operator""ms (long double __msecs)
template<char... _Digits>
constexpr chrono::nanoseconds | std::literals::chrono_literals::operator""ns ()
constexpr chrono::duration< long double, nano > | std::literals::chrono_literals::operator""ns (long double __nsecs)
template<char... _Digits>
constexpr chrono::seconds | std::literals::chrono_literals::operator""s ()
constexpr chrono::duration< long double > | std::literals::chrono_literals::operator""s (long double __secs)
template<char... _Digits>
constexpr chrono::microseconds | std::literals::chrono_literals::operator""us ()
constexpr chrono::duration< long double, micro > | std::literals::chrono_literals::operator""us (long double __usecs)
constexpr chrono::year | std::literals::chrono_literals::operator""y (unsigned long long __y) noexcept
template<typename _CharT, typename _Traits, typename _Rep, typename _Period>
basic_ostream< _CharT, _Traits > & | std::chrono::operator<< (std::basic_ostream< _CharT, _Traits > &__os, const duration< _Rep, _Period > &__d)
constexpr weekday_last | std::chrono::weekday::operator[] (last_spec) const noexcept
constexpr weekday_indexed | std::chrono::weekday::operator[] (unsigned __index) const noexcept
template<typename _ToDur, typename _Rep, typename _Period>
constexpr enable_if_t< __and_< __is_duration< _ToDur >, __not_< treat_as_floating_point< typename _ToDur::rep > > >::value, _ToDur > | std::chrono::round (const duration< _Rep, _Period > &__d)
template<typename _ToDur, typename _Clock, typename _Dur>
constexpr enable_if_t< __and_< __is_duration< _ToDur >, __not_< treat_as_floating_point< typename _ToDur::rep > > >::value, time_point< _Clock, _ToDur > > | std::chrono::round (const time_point< _Clock, _Dur > &__tp)
template<typename _ToDur, typename _Clock, typename _Dur>
constexpr __enable_if_t< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > > | std::chrono::time_point_cast (const time_point< _Clock, _Dur > &__t)

## Variables

constexpr month | std::chrono::April
constexpr month | std::chrono::August
constexpr month | std::chrono::December
constexpr month | std::chrono::February
constexpr weekday | std::chrono::Friday
template<typename _Tp>
constexpr bool | std::chrono::is_clock_v
template<>
constexpr bool | std::chrono::is_clock_v< file_clock >
template<>
constexpr bool | std::chrono::is_clock_v< gps_clock >
template<>
constexpr bool | std::chrono::is_clock_v< steady_clock >
template<>
constexpr bool | std::chrono::is_clock_v< system_clock >
template<>
constexpr bool | std::chrono::is_clock_v< tai_clock >
template<>
constexpr bool | std::chrono::is_clock_v< utc_clock >
constexpr month | std::chrono::January
constexpr month | std::chrono::July
constexpr month | std::chrono::June
constexpr last_spec | std::chrono::last
constexpr month | std::chrono::March
constexpr month | std::chrono::May
constexpr weekday | std::chrono::Monday
constexpr month | std::chrono::November
constexpr month | std::chrono::October
constexpr weekday | std::chrono::Saturday
constexpr month | std::chrono::September
constexpr weekday | std::chrono::Sunday
constexpr weekday | std::chrono::Thursday
template<typename _Rep>
constexpr bool | std::chrono::treat_as_floating_point_v
constexpr weekday | std::chrono::Tuesday
constexpr weekday | std::chrono::Wednesday
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type | std::chrono::operator- (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type | operator+ (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Rep2, typename _Period>
constexpr duration< __common_rep_t< _Rep2, _Rep1 >, _Period > | std::chrono::operator* (const _Rep1 &__s, const duration< _Rep2, _Period > &__d)
template<typename _Rep1, typename _Period, typename _Rep2>
constexpr duration< __common_rep_t< _Rep1, __disable_if_is_duration< _Rep2 > >, _Period > | std::chrono::operator/ (const duration< _Rep1, _Period > &__d, const _Rep2 &__s)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr common_type< _Rep1, _Rep2 >::type | std::chrono::operator/ (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period, typename _Rep2>
constexpr duration< __common_rep_t< _Rep1, __disable_if_is_duration< _Rep2 > >, _Period > | std::chrono::operator% (const duration< _Rep1, _Period > &__d, const _Rep2 &__s)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type | std::chrono::operator% (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period, typename _Rep2>
constexpr duration< __common_rep_t< _Rep1, _Rep2 >, _Period > | operator* (const duration< _Rep1, _Period > &__d, const _Rep2 &__s)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr bool | std::chrono::operator< (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr bool | std::chrono::operator!= (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr bool | std::chrono::operator<= (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr bool | std::chrono::operator> (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr bool | std::chrono::operator>= (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
constexpr bool | operator== (const duration< _Rep1, _Period1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Rep1, typename _Period1, typename _Clock, typename _Dur2>
constexpr time_point< _Clock, typename common_type< duration< _Rep1, _Period1 >, _Dur2 >::type > | std::chrono::operator+ (const duration< _Rep1, _Period1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Rep2, typename _Period2>
constexpr time_point< _Clock, typename common_type< _Dur1, duration< _Rep2, _Period2 > >::type > | std::chrono::operator- (const time_point< _Clock, _Dur1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Dur2>
constexpr common_type< _Dur1, _Dur2 >::type | std::chrono::operator- (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Rep2, typename _Period2>
constexpr time_point< _Clock, typename common_type< _Dur1, duration< _Rep2, _Period2 > >::type > | operator+ (const time_point< _Clock, _Dur1 > &__lhs, const duration< _Rep2, _Period2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Dur2>
constexpr bool | std::chrono::operator!= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Dur2>
constexpr bool | std::chrono::operator< (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Dur2>
constexpr bool | std::chrono::operator<= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Dur2>
constexpr bool | std::chrono::operator> (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<typename _Clock, typename _Dur1, typename _Dur2>
constexpr bool | std::chrono::operator>= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)

## Detailed Description

Classes and functions for time.

Since
  C++11

## Macro Definition Documentation

## __cpp_lib_chrono

#define __cpp_lib_chrono

Definition at line 350 of file chrono.h.

## Typedef Documentation

## days

using std::chrono::days

days

Definition at line 885 of file chrono.h.

## file_clock

using std::chrono::file_clock

Definition at line 1280 of file chrono.h.

## file_time

template<typename _Duration>

using std::chrono::file_time

Definition at line 1283 of file chrono.h.

## gps_seconds

using std::chrono::gps_seconds

Definition at line 87 of file chrono.

## gps_time

template<typename _Duration>

using std::chrono::gps_time

Definition at line 86 of file chrono.

## high_resolution_clock

using std::chrono::_V2::high_resolution_clock

Highest-resolution clock.

This is the clock "with the shortest tick period." Alias to std::system_clock until higher-than-nanosecond definitions become feasible.

Definition at line 1268 of file chrono.h.

## hours

using std::chrono::hours

hours

Definition at line 881 of file chrono.h.

## local_days

using std::chrono::local_days

Definition at line 71 of file chrono.

## local_seconds

using std::chrono::local_seconds

Definition at line 70 of file chrono.

## local_time

template<typename _Duration>

using std::chrono::local_time

Definition at line 69 of file chrono.

## microseconds

using std::chrono::microseconds

microseconds

Definition at line 869 of file chrono.h.

## milliseconds

using std::chrono::milliseconds

milliseconds

Definition at line 872 of file chrono.h.

## minutes

using std::chrono::minutes

minutes

Definition at line 878 of file chrono.h.

## months

using std::chrono::months

months

Definition at line 894 of file chrono.h.

## nanoseconds

using std::chrono::nanoseconds

nanoseconds

Definition at line 866 of file chrono.h.

## seconds

using std::chrono::seconds

seconds

Definition at line 875 of file chrono.h.

## sys_days

using std::chrono::sys_days

Definition at line 1278 of file chrono.h.

## sys_seconds

using std::chrono::sys_seconds

Definition at line 1277 of file chrono.h.

## sys_time

template<typename _Duration>

using std::chrono::sys_time

Definition at line 1276 of file chrono.h.

## tai_seconds

using std::chrono::tai_seconds

Definition at line 83 of file chrono.

## tai_time

template<typename _Duration>

using std::chrono::tai_time

Definition at line 82 of file chrono.

## utc_seconds

using std::chrono::utc_seconds

Definition at line 79 of file chrono.

## utc_time

template<typename _Duration>

using std::chrono::utc_time

Definition at line 78 of file chrono.

## weeks

using std::chrono::weeks

weeks

Definition at line 888 of file chrono.h.

## years

using std::chrono::years

years

Definition at line 891 of file chrono.h.

## Function Documentation

## year_month_day()

std::chrono::year_month_day::year_month_day | ( | const year_month_day_last & | __ymdl | ) |

constexpr noexcept

Definition at line 1607 of file chrono.

## abs()

template<typename _Rep, typename _Period>

enable_if_t< numeric_limits< _Rep >::is_signed, duration< _Rep, _Period > > std::chrono::abs | ( | duration< _Rep, _Period > | __d | ) |

nodiscard constexpr

The absolute (non-negative) value of a duration.

Parameters

  __d | A duration with a signed rep type.

Returns
  A duration of the same type as the argument, with value |d|.

Since
  C++17

Definition at line 435 of file chrono.h.

## ceil() [1/2]

template<typename _ToDur, typename _Rep, typename _Period>

__enable_if_is_duration< _ToDur > std::chrono::ceil | ( | const duration< _Rep, _Period > & | __d | ) |

nodiscard constexpr

Convert a duration to type ToDur and round up.

If the duration cannot be represented exactly in the result type, returns the closest value that is greater than the argument.

Template Parameters

  _ToDur | The result type must be a duration.

Parameters

  __d | A duration.

Returns
  The value of __d converted to type _ToDur.

Since
  C++17

Definition at line 384 of file chrono.h.

References duration_cast().

Referenced by ceil().

## ceil() [2/2]

template<typename _ToDur, typename _Clock, typename _Dur>

enable_if_t< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > > std::chrono::ceil | ( | const time_point< _Clock, _Dur > & | __tp | ) |

nodiscard constexpr

Convert a time_point to type ToDur and round up.

The result is the same time point as measured by the same clock, but using the specified duration to represent the time. If the time point cannot be represented exactly in the result type, returns the closest value that is greater than the argument.

Template Parameters

  _ToDur | The duration type to use for the result.

Parameters

  __t | A time point.

Returns
  The value of __d converted to type _ToDur.

Since
  C++17

Definition at line 1040 of file chrono.h.

References ceil().

## duration_cast()

template<typename _ToDur, typename _Rep, typename _Period>

__enable_if_is_duration< _ToDur > std::chrono::duration_cast | ( | const duration< _Rep, _Period > & | __d | ) |

nodiscard constexpr

Convert a duration to type ToDur.

If the duration cannot be represented accurately in the result type, returns the result of integer truncation (i.e., rounded towards zero).

Template Parameters

  _ToDur | The result type must be a duration.

Parameters

  __d | A duration.

Returns
  The value of __d converted to type _ToDur.

Since
  C++11

Definition at line 262 of file chrono.h.

Referenced by ceil(), floor(), std::this_thread::sleep_for(), and time_point_cast().

## floor() [1/2]

template<typename _ToDur, typename _Rep, typename _Period>

__enable_if_is_duration< _ToDur > std::chrono::floor | ( | const duration< _Rep, _Period > & | __d | ) |

nodiscard constexpr

Convert a duration to type ToDur and round down.

If the duration cannot be represented exactly in the result type, returns the closest value that is less than the argument.

Template Parameters

  _ToDur | The result type must be a duration.

Parameters

  __d | A duration.

Returns
  The value of __d converted to type _ToDur.

Since
  C++17

Definition at line 364 of file chrono.h.

References duration_cast().

Referenced by floor(), and round().

## floor() [2/2]

template<typename _ToDur, typename _Clock, typename _Dur>

enable_if_t< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > > std::chrono::floor | ( | const time_point< _Clock, _Dur > & | __tp | ) |

nodiscard constexpr

Convert a time_point to type ToDur and round down.

The result is the same time point as measured by the same clock, but using the specified duration to represent the time. If the time point cannot be represented exactly in the result type, returns the closest value that is less than the argument.

Template Parameters

  _ToDur | The duration type to use for the result.

Parameters

  __t | A time point.

Returns
  The value of __d converted to type _ToDur.

Since
  C++17

Definition at line 1019 of file chrono.h.

References floor().

## is_am()

bool std::chrono::is_am | ( | const hours & | __h | ) |

constexpr noexcept

Definition at line 2075 of file chrono.

## is_pm()

bool std::chrono::is_pm | ( | const hours & | __h | ) |

constexpr noexcept

Definition at line 2079 of file chrono.

## make12()

hours std::chrono::make12 | ( | const hours & | __h | ) |

constexpr noexcept

Definition at line 2083 of file chrono.

## make24()

hours std::chrono::make24 | ( | const hours & | __h,
|  | bool | __is_pm )

constexpr noexcept

Definition at line 2093 of file chrono.

## ok()

bool std::chrono::year_month_day::ok | ( |  | ) | const

constexpr noexcept

Definition at line 1612 of file chrono.

## operator!=() [1/2]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

bool std::chrono::operator!= | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Comparisons for chrono::duration

Definition at line 825 of file chrono.h.

## operator!=() [2/2]

template<typename _Clock, typename _Dur1, typename _Dur2>

bool std::chrono::operator!= | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const time_point< _Clock, _Dur2 > & | __rhs )

constexpr

Definition at line 1146 of file chrono.h.

## operator""d()

chrono::day std::literals::chrono_literals::operator""d | ( | unsigned long long | __d | ) |

constexpr noexcept

Literal suffix for creating chrono::day objects.

Since
  C++20

Definition at line 2126 of file chrono.

## operator""h() [1/2]

template<char... _Digits>

chrono::hours std::literals::chrono_literals::operator""h | ( |  | ) |

constexpr

Literal suffix for durations of type std::chrono::hours.

Definition at line 1352 of file chrono.h.

## operator""h() [2/2]

chrono::duration< long double, ratio< 3600, 1 > > std::literals::chrono_literals::operator""h | ( | long double | __hours | ) |

constexpr

Literal suffix for durations representing non-integer hours.

Definition at line 1346 of file chrono.h.

## operator""min() [1/2]

template<char... _Digits>

chrono::minutes std::literals::chrono_literals::operator""min | ( |  | ) |

constexpr

Literal suffix for durations of type std::chrono::minutes.

Definition at line 1363 of file chrono.h.

## operator""min() [2/2]

chrono::duration< long double, ratio< 60, 1 > > std::literals::chrono_literals::operator""min | ( | long double | __mins | ) |

constexpr

Literal suffix for durations representing non-integer minutes.

Definition at line 1357 of file chrono.h.

## operator""ms() [1/2]

template<char... _Digits>

chrono::milliseconds std::literals::chrono_literals::operator""ms | ( |  | ) |

constexpr

Literal suffix for durations of type std::chrono::milliseconds.

Definition at line 1385 of file chrono.h.

## operator""ms() [2/2]

chrono::duration< long double, milli > std::literals::chrono_literals::operator""ms | ( | long double | __msecs | ) |

constexpr

Literal suffix for durations representing non-integer milliseconds.

Definition at line 1379 of file chrono.h.

## operator""ns() [1/2]

template<char... _Digits>

chrono::nanoseconds std::literals::chrono_literals::operator""ns | ( |  | ) |

constexpr

Literal suffix for durations of type std::chrono::nanoseconds.

Definition at line 1407 of file chrono.h.

## operator""ns() [2/2]

chrono::duration< long double, nano > std::literals::chrono_literals::operator""ns | ( | long double | __nsecs | ) |

constexpr

Literal suffix for durations representing non-integer nanoseconds.

Definition at line 1401 of file chrono.h.

## operator""s() [1/2]

template<char... _Digits>

chrono::seconds std::literals::chrono_literals::operator""s | ( |  | ) |

constexpr

Literal suffix for durations of type std::chrono::seconds.

Definition at line 1374 of file chrono.h.

## operator""s() [2/2]

chrono::duration< long double > std::literals::chrono_literals::operator""s | ( | long double | __secs | ) |

constexpr

Literal suffix for durations representing non-integer seconds.

Definition at line 1368 of file chrono.h.

## operator""us() [1/2]

template<char... _Digits>

chrono::microseconds std::literals::chrono_literals::operator""us | ( |  | ) |

constexpr

Literal suffix for durations of type std::chrono::microseconds.

Definition at line 1396 of file chrono.h.

## operator""us() [2/2]

chrono::duration< long double, micro > std::literals::chrono_literals::operator""us | ( | long double | __usecs | ) |

constexpr

Literal suffix for durations representing non-integer microseconds.

Definition at line 1390 of file chrono.h.

## operator""y()

chrono::year std::literals::chrono_literals::operator""y | ( | unsigned long long | __y | ) |

constexpr noexcept

Literal suffix for creating chrono::year objects.

Since
  C++20

Definition at line 2132 of file chrono.

## operator%() [1/2]

template<typename _Rep1, typename _Period, typename _Rep2>

duration< __common_rep_t< _Rep1, __disable_if_is_duration< _Rep2 > >, _Period > std::chrono::operator% | ( | const duration< _Rep1, _Period > & | __d,
|  | const _Rep2 & | __s )

constexpr

Arithmetic operators for chrono::duration

Definition at line 757 of file chrono.h.

## operator%() [2/2]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type std::chrono::operator% | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Arithmetic operators for chrono::duration

Definition at line 768 of file chrono.h.

## operator*() [1/2]

template<typename _Rep1, typename _Period, typename _Rep2>

duration< __common_rep_t< _Rep1, _Rep2 >, _Period > operator* | ( | const duration< _Rep1, _Period > & | __d,
|  | const _Rep2 & | __s )

related

Arithmetic operators for chrono::duration

Definition at line 719 of file chrono.h.

## operator*() [2/2]

template<typename _Rep1, typename _Rep2, typename _Period>

duration< __common_rep_t< _Rep2, _Rep1 >, _Period > std::chrono::operator* | ( | const _Rep1 & | __s,
|  | const duration< _Rep2, _Period > & | __d )

constexpr

Arithmetic operators for chrono::duration

Definition at line 728 of file chrono.h.

## operator+() [1/3]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type operator+ | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

related

The sum of two durations.

Definition at line 674 of file chrono.h.

## operator+() [2/3]

template<typename _Rep1, typename _Period1, typename _Clock, typename _Dur2>

time_point< _Clock, typename common_type< duration< _Rep1, _Period1 >, _Dur2 >::type > std::chrono::operator+ | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const time_point< _Clock, _Dur2 > & | __rhs )

constexpr

Adjust a time point forwards by the given duration.

Definition at line 1094 of file chrono.h.

## operator+() [3/3]

template<typename _Clock, typename _Dur1, typename _Rep2, typename _Period2>

time_point< _Clock, typename common_type< _Dur1, duration< _Rep2, _Period2 > >::type > operator+ | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

related

Adjust a time point forwards by the given duration.

Definition at line 1080 of file chrono.h.

## operator-() [1/3]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

common_type< duration< _Rep1, _Period1 >, duration< _Rep2, _Period2 > >::type std::chrono::operator- | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

The difference between two durations.

Definition at line 688 of file chrono.h.

## operator-() [2/3]

template<typename _Clock, typename _Dur1, typename _Rep2, typename _Period2>

time_point< _Clock, typename common_type< _Dur1, duration< _Rep2, _Period2 > >::type > std::chrono::operator- | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Adjust a time point backwards by the given duration.

Definition at line 1108 of file chrono.h.

## operator-() [3/3]

template<typename _Clock, typename _Dur1, typename _Dur2>

common_type< _Dur1, _Dur2 >::type std::chrono::operator- | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const time_point< _Clock, _Dur2 > & | __rhs )

constexpr

The difference between two time points (as a duration).

Definition at line 1120 of file chrono.h.

## operator/() [1/2]

template<typename _Rep1, typename _Period, typename _Rep2>

duration< __common_rep_t< _Rep1, __disable_if_is_duration< _Rep2 > >, _Period > std::chrono::operator/ | ( | const duration< _Rep1, _Period > & | __d,
|  | const _Rep2 & | __s )

constexpr

Arithmetic operators for chrono::duration

Definition at line 734 of file chrono.h.

## operator/() [2/2]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

common_type< _Rep1, _Rep2 >::type std::chrono::operator/ | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Arithmetic operators for chrono::duration

Definition at line 744 of file chrono.h.

## operator<() [1/2]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

bool std::chrono::operator< | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Comparisons for chrono::duration

Definition at line 799 of file chrono.h.

## operator<() [2/2]

template<typename _Clock, typename _Dur1, typename _Dur2>

bool std::chrono::operator< | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const time_point< _Clock, _Dur2 > & | __rhs )

constexpr

Definition at line 1152 of file chrono.h.

## operator<<()

template<typename _CharT, typename _Traits, typename _Rep, typename _Period>

basic_ostream< _CharT, _Traits > & std::chrono::operator<< | ( | std::basic_ostream< _CharT, _Traits > & | __os,
|  | const duration< _Rep, _Period > & | __d )

inline

Definition at line 2132 of file chrono.

## operator<=() [1/2]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

bool std::chrono::operator<= | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Comparisons for chrono::duration

Definition at line 832 of file chrono.h.

## operator<=() [2/2]

template<typename _Clock, typename _Dur1, typename _Dur2>

bool std::chrono::operator<= | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const time_point< _Clock, _Dur2 > & | __rhs )

constexpr

Definition at line 1158 of file chrono.h.

## operator==()

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

bool operator== | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

related

Comparisons for chrono::duration

Definition at line 788 of file chrono.h.

## operator>() [1/2]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

bool std::chrono::operator> | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Comparisons for chrono::duration

Definition at line 840 of file chrono.h.

## operator>() [2/2]

template<typename _Clock, typename _Dur1, typename _Dur2>

bool std::chrono::operator> | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const time_point< _Clock, _Dur2 > & | __rhs )

constexpr

Definition at line 1165 of file chrono.h.

## operator>=() [1/2]

template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>

bool std::chrono::operator>= | ( | const duration< _Rep1, _Period1 > & | __lhs,
|  | const duration< _Rep2, _Period2 > & | __rhs )

constexpr

Comparisons for chrono::duration

Definition at line 847 of file chrono.h.

## operator>=() [2/2]

template<typename _Clock, typename _Dur1, typename _Dur2>

bool std::chrono::operator>= | ( | const time_point< _Clock, _Dur1 > & | __lhs,
|  | const time_point< _Clock, _Dur2 > & | __rhs )

constexpr

Definition at line 1171 of file chrono.h.

## operator[]() [1/2]

weekday_last std::chrono::weekday::operator[] | ( | last_spec |  | ) | const

constexpr noexcept

Definition at line 825 of file chrono.

## operator[]() [2/2]

weekday_indexed std::chrono::weekday::operator[] | ( | unsigned | __index | ) | const

constexpr noexcept

Definition at line 784 of file chrono.

## round() [1/2]

template<typename _ToDur, typename _Rep, typename _Period>

enable_if_t< __and_< __is_duration< _ToDur >, __not_< treat_as_floating_point< typename _ToDur::rep > > >::value, _ToDur > std::chrono::round | ( | const duration< _Rep, _Period > & | __d | ) |

nodiscard constexpr

Convert a duration to type ToDur and round to the closest value.

If the duration cannot be represented exactly in the result type, returns the closest value, rounding ties to even.

Template Parameters

  _ToDur | The result type must be a duration with a non-floating-point rep type.

Parameters

  __d | A duration.

Returns
  The value of __d converted to type _ToDur.

Since
  C++17

Definition at line 409 of file chrono.h.

References floor().

Referenced by round().

## round() [2/2]

template<typename _ToDur, typename _Clock, typename _Dur>

enable_if_t< __and_< __is_duration< _ToDur >, __not_< treat_as_floating_point< typename _ToDur::rep > > >::value, time_point< _Clock, _ToDur > > std::chrono::round | ( | const time_point< _Clock, _Dur > & | __tp | ) |

nodiscard constexpr

Convert a time_point to type ToDur and round to the closest value.

The result is the same time point as measured by the same clock, but using the specified duration to represent the time. If the time point cannot be represented exactly in the result type, returns the closest value, rounding ties to even.

Template Parameters

  _ToDur | The duration type to use for the result, which must have a non-floating-point rep type.

Parameters

  __t | A time point.

Returns
  The value of __d converted to type _ToDur.

Since
  C++17

Definition at line 1065 of file chrono.h.

References round().

## time_point_cast()

template<typename _ToDur, typename _Clock, typename _Dur>

__enable_if_t< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > > std::chrono::time_point_cast | ( | const time_point< _Clock, _Dur > & | __t | ) |

nodiscard constexpr

Convert a time_point to use duration type ToDur.

The result is the same time point as measured by the same clock, but using the specified duration to represent the time. If the time point cannot be represented accurately in the result type, returns the result of integer truncation (i.e., rounded towards zero).

Template Parameters

  _ToDur | The duration type to use for the result.

Parameters

  __t | A time point.

Returns
  The value of __t converted to use type _ToDur.

Since
  C++11

Definition at line 997 of file chrono.h.

References duration_cast().

## Variable Documentation

## April

month std::chrono::April

inline constexpr

Definition at line 427 of file chrono.

## August

month std::chrono::August

inline constexpr

Definition at line 431 of file chrono.

## December

month std::chrono::December

inline constexpr

Definition at line 435 of file chrono.

## February

month std::chrono::February

inline constexpr

Definition at line 425 of file chrono.

## Friday

weekday std::chrono::Friday

inline constexpr

Definition at line 730 of file chrono.

## is_clock_v

template<typename _Tp>

bool std::chrono::is_clock_v

inline constexpr

Definition at line 300 of file chrono.h.

## is_clock_v< file_clock >

template<>

bool std::chrono::is_clock_v< file_clock >

inline constexpr

Definition at line 1291 of file chrono.h.

## is_clock_v< gps_clock >

template<>

bool std::chrono::is_clock_v< gps_clock >

inline constexpr

Definition at line 95 of file chrono.

## is_clock_v< steady_clock >

template<>

bool std::chrono::is_clock_v< steady_clock >

inline constexpr

Definition at line 1290 of file chrono.h.

## is_clock_v< system_clock >

template<>

bool std::chrono::is_clock_v< system_clock >

inline constexpr

Definition at line 1289 of file chrono.h.

## is_clock_v< tai_clock >

template<>

bool std::chrono::is_clock_v< tai_clock >

inline constexpr

Definition at line 94 of file chrono.

## is_clock_v< utc_clock >

template<>

bool std::chrono::is_clock_v< utc_clock >

inline constexpr

Definition at line 93 of file chrono.

## January

month std::chrono::January

inline constexpr

Definition at line 424 of file chrono.

## July

month std::chrono::July

inline constexpr

Definition at line 430 of file chrono.

## June

month std::chrono::June

inline constexpr

Definition at line 429 of file chrono.

## last

last_spec std::chrono::last

inline constexpr

Definition at line 133 of file chrono.

## March

month std::chrono::March

inline constexpr

Definition at line 426 of file chrono.

## May

month std::chrono::May

inline constexpr

Definition at line 428 of file chrono.

## Monday

weekday std::chrono::Monday

inline constexpr

Definition at line 726 of file chrono.

## November

month std::chrono::November

inline constexpr

Definition at line 434 of file chrono.

## October

month std::chrono::October

inline constexpr

Definition at line 433 of file chrono.

## Saturday

weekday std::chrono::Saturday

inline constexpr

Definition at line 731 of file chrono.

## September

month std::chrono::September

inline constexpr

Definition at line 432 of file chrono.

## Sunday

weekday std::chrono::Sunday

inline constexpr

Definition at line 725 of file chrono.

## Thursday

weekday std::chrono::Thursday

inline constexpr

Definition at line 729 of file chrono.

## treat_as_floating_point_v

template<typename _Rep>

bool std::chrono::treat_as_floating_point_v

inline constexpr

Definition at line 291 of file chrono.h.

## Tuesday

weekday std::chrono::Tuesday

inline constexpr

Definition at line 727 of file chrono.

## Wednesday

weekday std::chrono::Wednesday

inline constexpr

Definition at line 728 of file chrono.