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::steady_clock
struct | std::chrono::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 = duration< int64_t, ratio< 86400 > >
using | std::chrono::file_clock = ::std::filesystem::__file_clock
template<typename _Duration >
using | std::chrono::file_time = time_point< file_clock, _Duration >
using | std::chrono::gps_seconds = gps_time< seconds >
template<typename _Duration >
using | std::chrono::gps_time = time_point< gps_clock, _Duration >
using | std::chrono::high_resolution_clock = system_clock
using | std::chrono::hours = duration< int64_t, ratio< 3600 > >
using | std::chrono::local_days = local_time< days >
using | std::chrono::local_seconds = local_time< seconds >
template<typename _Duration >
using | std::chrono::local_time = time_point< local_t, _Duration >
using | std::chrono::microseconds = duration< int64_t, micro >
using | std::chrono::milliseconds = duration< int64_t, milli >
using | std::chrono::minutes = duration< int64_t, ratio< 60 > >
using | std::chrono::months = duration< int64_t, ratio< 2629746 > >
using | std::chrono::nanoseconds = duration< int64_t, nano >
using | std::chrono::seconds = duration< int64_t >
using | std::chrono::sys_days = sys_time< days >
using | std::chrono::sys_seconds = sys_time< seconds >
template<typename _Duration >
using | std::chrono::sys_time = time_point< system_clock, _Duration >
using | std::chrono::tai_seconds = tai_time< seconds >
template<typename _Duration >
using | std::chrono::tai_time = time_point< tai_clock, _Duration >
using | std::chrono::utc_seconds = utc_time< seconds >
template<typename _Duration >
using | std::chrono::utc_time = time_point< utc_clock, _Duration >
using | std::chrono::weeks = duration< int64_t, ratio< 604800 > >
using | std::chrono::years = duration< int64_t, ratio< 31556952 > >

## 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
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 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 = typedef duration<int64_t, ratio<86400> >

days

Definition at line 885 of file chrono.h.

## file_clock

using std::chrono::file_clock = typedef ::std::filesystem::__file_clock

Definition at line 1280 of file chrono.h.

## file_time

template<typename _Duration >

using std::chrono::file_time = typedef time_point<file_clock, _Duration>

Definition at line 1283 of file chrono.h.

## gps_seconds

using std::chrono::gps_seconds = typedef gps_time<seconds>

Definition at line 87 of file chrono.

## gps_time

template<typename _Duration >

using std::chrono::gps_time = typedef time_point<gps_clock, _Duration>

Definition at line 86 of file chrono.

## high_resolution_clock

using std::chrono::high_resolution_clock = typedef system_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 = typedef duration<int64_t, ratio<3600> >

hours

Definition at line 881 of file chrono.h.

## local_days

using std::chrono::local_days = typedef local_time<days>

Definition at line 71 of file chrono.

## local_seconds

using std::chrono::local_seconds = typedef local_time<seconds>

Definition at line 70 of file chrono.

## local_time

template<typename _Duration >

using std::chrono::local_time = typedef time_point<local_t, _Duration>

Definition at line 69 of file chrono.

## microseconds

using std::chrono::microseconds = typedef duration<int64_t, micro>

microseconds

Definition at line 869 of file chrono.h.

## milliseconds

using std::chrono::milliseconds = typedef duration<int64_t, milli>

milliseconds

Definition at line 872 of file chrono.h.

## minutes

using std::chrono::minutes = typedef duration<int64_t, ratio< 60> >

minutes

Definition at line 878 of file chrono.h.

## months

using std::chrono::months = typedef duration<int64_t, ratio<2629746> >

months

Definition at line 894 of file chrono.h.

## nanoseconds

using std::chrono::nanoseconds = typedef duration<int64_t, nano>

nanoseconds

Definition at line 866 of file chrono.h.

## seconds

using std::chrono::seconds = typedef duration<int64_t>

seconds

Definition at line 875 of file chrono.h.

## sys_days

using std::chrono::sys_days = typedef sys_time<days>

Definition at line 1278 of file chrono.h.

## sys_seconds

using std::chrono::sys_seconds = typedef sys_time<seconds>

Definition at line 1277 of file chrono.h.

## sys_time

template<typename _Duration >

using std::chrono::sys_time = typedef time_point<system_clock, _Duration>

Definition at line 1276 of file chrono.h.

## tai_seconds

using std::chrono::tai_seconds = typedef tai_time<seconds>

Definition at line 83 of file chrono.

## tai_time

template<typename _Duration >

using std::chrono::tai_time = typedef time_point<tai_clock, _Duration>

Definition at line 82 of file chrono.

## utc_seconds

using std::chrono::utc_seconds = typedef utc_time<seconds>

Definition at line 79 of file chrono.

## utc_time

template<typename _Duration >

using std::chrono::utc_time = typedef time_point<utc_clock, _Duration>

Definition at line 78 of file chrono.

## weeks

using std::chrono::weeks = typedef duration<int64_t, ratio<604800> >

weeks

Definition at line 888 of file chrono.h.

## years

using std::chrono::years = typedef duration<int64_t, ratio<31556952> >

years

Definition at line 891 of file chrono.h.

## Function Documentation

## year_month_day()

constexpr 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 >

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

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.

References std::abs().

## ceil() [1/2]

template<typename _ToDur , typename _Rep , typename _Period >

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

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.

## ceil() [2/2]

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 | ) |

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.

## duration_cast()

template<typename _ToDur , typename _Rep , typename _Period >

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

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.

## floor() [1/2]

template<typename _ToDur , typename _Rep , typename _Period >

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

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.

## floor() [2/2]

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

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.

## is_am()

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

constexpr noexcept

Definition at line 2075 of file chrono.

## is_pm()

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

constexpr noexcept

Definition at line 2079 of file chrono.

## make12()

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

constexpr noexcept

Definition at line 2083 of file chrono.

## make24()

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

constexpr noexcept

Definition at line 2093 of file chrono.

## ok()

constexpr 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 >

constexpr 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 >

constexpr 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""h() [1/2]

template<char... _Digits>

constexpr 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]

constexpr 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>

constexpr 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]

constexpr 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>

constexpr 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]

constexpr 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>

constexpr 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]

constexpr 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>

constexpr 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]

constexpr 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>

constexpr 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]

constexpr 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%() [1/2]

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
| ) |  |

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 >

constexpr 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 _Rep2 , typename _Period >

constexpr 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*() [2/2]

template<typename _Rep1 , typename _Period , typename _Rep2 >

constexpr 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+() [1/3]

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
| ) |  |

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 >

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
| ) |  |

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 >

constexpr 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 >

constexpr 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 >

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
| ) |  |

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 >

constexpr 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 >

constexpr 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 >

constexpr 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 >

constexpr 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 >

constexpr 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<=() [1/2]

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

constexpr 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 >

constexpr 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 >

constexpr 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 >

constexpr 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 >

constexpr 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 >

constexpr 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 >

constexpr 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]

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

constexpr noexcept

Definition at line 825 of file chrono.

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

constexpr 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 >

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 | ) |

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.

## round() [2/2]

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 | ) |

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.

## time_point_cast()

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 | ) |

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.

## Variable Documentation

## April

constexpr month std::chrono::April

inline constexpr

Definition at line 427 of file chrono.

## August

constexpr month std::chrono::August

inline constexpr

Definition at line 431 of file chrono.

## December

constexpr month std::chrono::December

inline constexpr

Definition at line 435 of file chrono.

## February

constexpr month std::chrono::February

inline constexpr

Definition at line 425 of file chrono.

## Friday

constexpr weekday std::chrono::Friday

inline constexpr

Definition at line 730 of file chrono.

## is_clock_v

template<typename _Tp >

constexpr bool std::chrono::is_clock_v

inline constexpr

Definition at line 300 of file chrono.h.

## is_clock_v< file_clock >

template<>

constexpr bool std::chrono::is_clock_v< file_clock >

inline constexpr

Definition at line 1291 of file chrono.h.

## is_clock_v< gps_clock >

template<>

constexpr bool std::chrono::is_clock_v< gps_clock >

inline constexpr

Definition at line 95 of file chrono.

## is_clock_v< steady_clock >

template<>

constexpr bool std::chrono::is_clock_v< steady_clock >

inline constexpr

Definition at line 1290 of file chrono.h.

## is_clock_v< system_clock >

template<>

constexpr bool std::chrono::is_clock_v< system_clock >

inline constexpr

Definition at line 1289 of file chrono.h.

## is_clock_v< tai_clock >

template<>

constexpr bool std::chrono::is_clock_v< tai_clock >

inline constexpr

Definition at line 94 of file chrono.

## is_clock_v< utc_clock >

template<>

constexpr bool std::chrono::is_clock_v< utc_clock >

inline constexpr

Definition at line 93 of file chrono.

## January

constexpr month std::chrono::January

inline constexpr

Definition at line 424 of file chrono.

## July

constexpr month std::chrono::July

inline constexpr

Definition at line 430 of file chrono.

## June

constexpr month std::chrono::June

inline constexpr

Definition at line 429 of file chrono.

## last

constexpr last_spec std::chrono::last

inline constexpr

Definition at line 133 of file chrono.

## March

constexpr month std::chrono::March

inline constexpr

Definition at line 426 of file chrono.

## May

constexpr month std::chrono::May

inline constexpr

Definition at line 428 of file chrono.

## Monday

constexpr weekday std::chrono::Monday

inline constexpr

Definition at line 726 of file chrono.

## November

constexpr month std::chrono::November

inline constexpr

Definition at line 434 of file chrono.

## October

constexpr month std::chrono::October

inline constexpr

Definition at line 433 of file chrono.

## Saturday

constexpr weekday std::chrono::Saturday

inline constexpr

Definition at line 731 of file chrono.

## September

constexpr month std::chrono::September

inline constexpr

Definition at line 432 of file chrono.

## Sunday

constexpr weekday std::chrono::Sunday

inline constexpr

Definition at line 725 of file chrono.

## Thursday

constexpr weekday std::chrono::Thursday

inline constexpr

Definition at line 729 of file chrono.

## treat_as_floating_point_v

template<typename _Rep >

constexpr bool std::chrono::treat_as_floating_point_v

inline constexpr

Definition at line 291 of file chrono.h.

## Tuesday

constexpr weekday std::chrono::Tuesday

inline constexpr

Definition at line 727 of file chrono.

## Wednesday

constexpr weekday std::chrono::Wednesday

inline constexpr

Definition at line 728 of file chrono.