Time
Utilities
Collaboration diagram for Time:

## Namespaces

| std::chrono

## Classes

struct | std::chrono::_V2::steady_clock
struct | std::chrono::_V2::system_clock
struct | std::chrono::duration< _Rep, _Period >
struct | std::chrono::duration_values< _Rep >
struct | std::chrono::time_point< _Clock, _Dur >
struct | std::chrono::treat_as_floating_point< _Rep >

## Macros

#define | __cpp_lib_chrono_udls

## Typedefs

typedef _Clock | std::chrono::time_point< _Clock, _Dur >::clock
typedef _Dur | std::chrono::time_point< _Clock, _Dur >::duration
typedef chrono::nanoseconds | std::chrono::_V2::system_clock::duration
typedef chrono::nanoseconds | std::chrono::_V2::steady_clock::duration
using | std::chrono::high_resolution_clock = system_clock
typedef duration< int64_t, ratio< 3600 > > | std::chrono::hours
typedef duration< int64_t, micro > | std::chrono::microseconds
typedef duration< int64_t, milli > | std::chrono::milliseconds
typedef duration< int64_t, ratio< 60 > > | std::chrono::minutes
typedef duration< int64_t, nano > | std::chrono::nanoseconds
typedef _Period | std::chrono::duration< _Rep, _Period >::period
typedef duration::period | std::chrono::time_point< _Clock, _Dur >::period
typedef duration::period | std::chrono::_V2::system_clock::period
typedef duration::period | std::chrono::_V2::steady_clock::period
typedef _Rep | std::chrono::duration< _Rep, _Period >::rep
typedef duration::rep | std::chrono::time_point< _Clock, _Dur >::rep
typedef duration::rep | std::chrono::_V2::system_clock::rep
typedef duration::rep | std::chrono::_V2::steady_clock::rep
typedef duration< int64_t > | std::chrono::seconds
typedef chrono::time_point< system_clock, duration > | std::chrono::_V2::system_clock::time_point
typedef chrono::time_point< steady_clock, duration > | std::chrono::_V2::steady_clock::time_point
typedef __success_type< chrono::duration< __cr, __r > > | std::__duration_common_type_wrapper< _CT, _Period1, _Period2 >::type
typedef __failure_type | std::__duration_common_type_wrapper< __failure_type, _Period1, _Period2 >::type
typedef __success_type< chrono::time_point< _Clock, typename _CT::type > > | std::__timepoint_common_type_wrapper< _CT, _Clock >::type
typedef __failure_type | std::__timepoint_common_type_wrapper< __failure_type, _Clock >::type
typedef common_type< _Rep1, _Rep2 >::type | std::chrono::__common_rep_type< _Rep1, _Rep2, true >::type

## Functions

template<typename _Rep2 , typename = typename enable_if<is_convertible<const _Rep2&, rep>::value && (treat_as_floating_point<rep>::value || !treat_as_floating_point<_Rep2>::value)>::type>
constexpr | std::chrono::duration< _Rep, _Period >::duration (const _Rep2 &__rep)
| std::chrono::duration< _Rep, _Period >::duration (const duration &)=default
template<typename _Rep2 , typename _Period2 , typename = typename enable_if<treat_as_floating_point<rep>::value || (ratio_divide<_Period2, period>::den == 1 && !treat_as_floating_point<_Rep2>::value)>::type>
constexpr | std::chrono::duration< _Rep, _Period >::duration (const duration< _Rep2, _Period2 > &__d)
constexpr | std::chrono::time_point< _Clock, _Dur >::time_point (const duration &__dur)
template<typename _Dur2 , typename = _Require<is_convertible<_Dur2, _Dur>>>
constexpr | std::chrono::time_point< _Clock, _Dur >::time_point (const time_point< clock, _Dur2 > &__t)
template<typename _Rep , typename _Period >
static constexpr _ToDur | std::chrono::__duration_cast_impl< _ToDur, _CF, _CR, _NumIsOne, _DenIsOne >::__cast (const duration< _Rep, _Period > &__d)
template<typename _Rep , typename _Period >
static constexpr _ToDur | std::chrono::__duration_cast_impl< _ToDur, _CF, _CR, true, true >::__cast (const duration< _Rep, _Period > &__d)
template<typename _Rep , typename _Period >
static constexpr _ToDur | std::chrono::__duration_cast_impl< _ToDur, _CF, _CR, true, false >::__cast (const duration< _Rep, _Period > &__d)
template<typename _Rep , typename _Period >
static constexpr _ToDur | std::chrono::__duration_cast_impl< _ToDur, _CF, _CR, false, true >::__cast (const duration< _Rep, _Period > &__d)
template<typename _Dur , char... _Digits>
constexpr _Dur | std::literals::__check_overflow ()
constexpr rep | std::chrono::duration< _Rep, _Period >::count () const
template<typename _ToDur , typename _Rep , typename _Period >
constexpr enable_if< __is_duration< _ToDur >::value, _ToDur >::type | std::chrono::duration_cast (const duration< _Rep, _Period > &__d)
static time_point | std::chrono::_V2::system_clock::from_time_t (std::time_t __t) noexcept
static constexpr _Rep | std::chrono::duration_values< _Rep >::max ()
static constexpr duration | std::chrono::duration< _Rep, _Period >::max ()
static constexpr time_point | std::chrono::time_point< _Clock, _Dur >::max ()
static constexpr _Rep | std::chrono::duration_values< _Rep >::min ()
static constexpr duration | std::chrono::duration< _Rep, _Period >::min ()
static constexpr time_point | std::chrono::time_point< _Clock, _Dur >::min ()
static time_point | std::chrono::_V2::system_clock::now () noexcept
static time_point | std::chrono::_V2::steady_clock::now () noexcept
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 _Clock , typename _Dur1 , typename _Dur2 >
constexpr bool | std::chrono::operator!= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<char... _Digits>
constexpr chrono::hours | std::literals::operator""h ()
constexpr chrono::duration< long double, ratio< 3600, 1 > > | std::literals::operator""h (long double __hours)
template<char... _Digits>
constexpr chrono::minutes | std::literals::operator""min ()
constexpr chrono::duration< long double, ratio< 60, 1 > > | std::literals::operator""min (long double __mins)
template<char... _Digits>
constexpr chrono::milliseconds | std::literals::operator""ms ()
constexpr chrono::duration< long double, milli > | std::literals::operator""ms (long double __msecs)
template<char... _Digits>
constexpr chrono::nanoseconds | std::literals::operator""ns ()
constexpr chrono::duration< long double, nano > | std::literals::operator""ns (long double __nsecs)
template<char... _Digits>
constexpr chrono::seconds | std::literals::operator""s ()
constexpr chrono::duration< long double > | std::literals::operator""s (long double __secs)
template<char... _Digits>
constexpr chrono::microseconds | std::literals::operator""us ()
constexpr chrono::duration< long double, micro > | std::literals::operator""us (long double __usecs)
template<typename _Rep1 , typename _Period , typename _Rep2 >
constexpr duration< typename __common_rep_type< _Rep1, typename enable_if<!__is_duration< _Rep2 >::value, _Rep2 >::type >::type, _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 _Rep2 = rep>
_GLIBCXX17_CONSTEXPR enable_if<!treat_as_floating_point< _Rep2 >::value, duration & >::type | std::chrono::duration< _Rep, _Period >::operator%= (const duration &__d)
template<typename _Rep2 = rep>
_GLIBCXX17_CONSTEXPR enable_if<!treat_as_floating_point< _Rep2 >::value, duration & >::type | std::chrono::duration< _Rep, _Period >::operator%= (const rep &__rhs)
template<typename _Rep1 , typename _Rep2 , typename _Period >
constexpr duration< typename __common_rep_type< _Rep2, _Rep1 >::type, _Period > | std::chrono::operator* (const _Rep1 &__s, const duration< _Rep2, _Period > &__d)
template<typename _Rep1 , typename _Period , typename _Rep2 >
constexpr duration< typename __common_rep_type< _Rep1, _Rep2 >::type, _Period > | std::chrono::operator* (const duration< _Rep1, _Period > &__d, const _Rep2 &__s)
_GLIBCXX17_CONSTEXPR duration & | std::chrono::duration< _Rep, _Period >::operator*= (const rep &__rhs)
constexpr duration | std::chrono::duration< _Rep, _Period >::operator+ () const
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 _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)
_GLIBCXX17_CONSTEXPR duration & | std::chrono::duration< _Rep, _Period >::operator++ ()
_GLIBCXX17_CONSTEXPR duration | std::chrono::duration< _Rep, _Period >::operator++ (int)
_GLIBCXX17_CONSTEXPR duration & | std::chrono::duration< _Rep, _Period >::operator+= (const duration &__d)
_GLIBCXX17_CONSTEXPR time_point & | std::chrono::time_point< _Clock, _Dur >::operator+= (const duration &__dur)
constexpr duration | std::chrono::duration< _Rep, _Period >::operator- () const
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 _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)
_GLIBCXX17_CONSTEXPR duration & | std::chrono::duration< _Rep, _Period >::operator-- ()
_GLIBCXX17_CONSTEXPR duration | std::chrono::duration< _Rep, _Period >::operator-- (int)
_GLIBCXX17_CONSTEXPR duration & | std::chrono::duration< _Rep, _Period >::operator-= (const duration &__d)
_GLIBCXX17_CONSTEXPR time_point & | std::chrono::time_point< _Clock, _Dur >::operator-= (const duration &__dur)
template<typename _Rep1 , typename _Period , typename _Rep2 >
constexpr duration< typename __common_rep_type< _Rep1, typename enable_if<!__is_duration< _Rep2 >::value, _Rep2 >::type >::type, _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)
_GLIBCXX17_CONSTEXPR duration & | std::chrono::duration< _Rep, _Period >::operator/= (const rep &__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 _Clock , typename _Dur1 , typename _Dur2 >
constexpr bool | std::chrono::operator< (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__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 _Clock , typename _Dur1 , typename _Dur2 >
constexpr bool | std::chrono::operator<= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
duration & | std::chrono::duration< _Rep, _Period >::operator= (const duration &)=default
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 _Clock , typename _Dur1 , typename _Dur2 >
constexpr bool | std::chrono::operator== (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__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 _Clock , typename _Dur1 , typename _Dur2 >
constexpr bool | std::chrono::operator> (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__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 _Clock , typename _Dur1 , typename _Dur2 >
constexpr bool | std::chrono::operator>= (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
template<typename _ToDur , typename _Clock , typename _Dur >
constexpr enable_if< __is_duration< _ToDur >::value, time_point< _Clock, _ToDur > >::type | std::chrono::time_point_cast (const time_point< _Clock, _Dur > &__t)
constexpr duration | std::chrono::time_point< _Clock, _Dur >::time_since_epoch () const
static std::time_t | std::chrono::_V2::system_clock::to_time_t (const time_point &__t) noexcept
static constexpr _Rep | std::chrono::duration_values< _Rep >::zero ()
static constexpr duration | std::chrono::duration< _Rep, _Period >::zero ()

## Variables

static constexpr bool | std::chrono::_V2::system_clock::is_steady
static constexpr bool | std::chrono::_V2::steady_clock::is_steady

## Detailed Description

Classes and functions for time.

## Typedef Documentation

## high_resolution_clock

using std::chrono::_V2::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 878 of file chrono.

## hours

typedef duration<int64_t, ratio<3600> > std::chrono::hours

hours

Definition at line 612 of file chrono.

## microseconds

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

microseconds

Definition at line 600 of file chrono.

## milliseconds

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

milliseconds

Definition at line 603 of file chrono.

## minutes

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

minutes

Definition at line 609 of file chrono.

## nanoseconds

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

nanoseconds

Definition at line 597 of file chrono.

## seconds

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

seconds

Definition at line 606 of file chrono.

## Function Documentation

## duration_cast()

template<typename _ToDur , typename _Rep , typename _Period >

constexpr enable_if<__is_duration<_ToDur>::value, _ToDur>::type std::chrono::duration_cast | ( | const duration< _Rep, _Period > & | __d | ) |

constexpr

duration_cast

Definition at line 194 of file chrono.

## time_point_cast()

template<typename _ToDur , typename _Clock , typename _Dur >

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

constexpr

time_point_cast

Definition at line 674 of file chrono.