libstdc++
Collaboration diagram for Time:

Files

file  chrono
 

Namespaces

 std::chrono
 

Classes

struct  std::common_type< chrono::duration< _Rep1, _Period1 >, chrono::duration< _Rep2, _Period2 > >
 
struct  std::common_type< chrono::time_point< _Clock, _Duration1 >, chrono::time_point< _Clock, _Duration2 > >
 
struct  std::chrono::duration< _Rep, _Period >
 
struct  std::chrono::time_point< _Clock, _Dur >
 
struct  std::chrono::treat_as_floating_point< _Rep >
 

Macros

#define __cpp_lib_chrono_udls
 
#define _GLIBCXX_CHRONO_INT64_T
 

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, microstd::chrono::microseconds
 
typedef duration< int64_t, millistd::chrono::milliseconds
 
typedef duration< int64_t, ratio< 60 > > std::chrono::minutes
 
typedef duration< int64_t, nanostd::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, durationstd::chrono::_V2::system_clock::time_point
 
typedef chrono::time_point< steady_clock, durationstd::chrono::_V2::steady_clock::time_point
 

Functions

template<typename _Rep2 , typename = _Require< is_convertible<const _Rep2&, rep>, __or_<__is_float<rep>, __not_<__is_float<_Rep2>>>>>
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 = _Require< __or_<__is_float<rep>, __and_<__is_harmonic<_Period2>, __not_<__is_float<_Rep2>>>>>>
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)
 
constexpr rep std::chrono::duration< _Rep, _Period >::count () const
 
template<typename _ToDur , typename _Rep , typename _Period >
constexpr __enable_if_is_duration< _ToDur > 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 () noexcept
 
static constexpr duration std::chrono::duration< _Rep, _Period >::max () noexcept
 
static constexpr time_point std::chrono::time_point< _Clock, _Dur >::max () noexcept
 
static constexpr _Rep std::chrono::duration_values< _Rep >::min () noexcept
 
static constexpr duration std::chrono::duration< _Rep, _Period >::min () noexcept
 
static constexpr time_point std::chrono::time_point< _Clock, _Dur >::min () noexcept
 
static time_point std::chrono::_V2::system_clock::now () noexcept
 
static time_point std::chrono::_V2::steady_clock::now () 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, millistd::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, nanostd::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, microstd::literals::chrono_literals::operator""us (long double __usecs)
 
template<typename _Rep2 = rep>
constexpr enable_if<!treat_as_floating_point< _Rep2 >::value, duration & >::type std::chrono::duration< _Rep, _Period >::operator%= (const duration &__d)
 
template<typename _Rep2 = rep>
constexpr enable_if<!treat_as_floating_point< _Rep2 >::value, duration & >::type std::chrono::duration< _Rep, _Period >::operator%= (const rep &__rhs)
 
constexpr durationstd::chrono::duration< _Rep, _Period >::operator*= (const rep &__rhs)
 
constexpr duration std::chrono::duration< _Rep, _Period >::operator+ () const
 
constexpr durationstd::chrono::duration< _Rep, _Period >::operator++ ()
 
constexpr duration std::chrono::duration< _Rep, _Period >::operator++ (int)
 
constexpr durationstd::chrono::duration< _Rep, _Period >::operator+= (const duration &__d)
 
constexpr time_pointstd::chrono::time_point< _Clock, _Dur >::operator+= (const duration &__dur)
 
constexpr duration std::chrono::duration< _Rep, _Period >::operator- () const
 
constexpr durationstd::chrono::duration< _Rep, _Period >::operator-- ()
 
constexpr duration std::chrono::duration< _Rep, _Period >::operator-- (int)
 
constexpr durationstd::chrono::duration< _Rep, _Period >::operator-= (const duration &__d)
 
constexpr time_pointstd::chrono::time_point< _Clock, _Dur >::operator-= (const duration &__dur)
 
constexpr durationstd::chrono::duration< _Rep, _Period >::operator/= (const rep &__rhs)
 
durationstd::chrono::duration< _Rep, _Period >::operator= (const duration &)=default
 
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 () noexcept
 
static constexpr duration std::chrono::duration< _Rep, _Period >::zero () noexcept
 

Variables

static constexpr bool std::chrono::_V2::system_clock::is_steady
 
static constexpr bool std::chrono::_V2::steady_clock::is_steady
 
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 _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 _Period , typename _Rep2 >
constexpr duration< __common_rep_t< _Rep1, _Rep2 >, _Period > operator* (const duration< _Rep1, _Period > &__d, const _Rep2 &__s)
 
template<typename _Rep1 , typename _Rep2 , typename _Period >
constexpr duration< __common_rep_t< _Rep2, _Rep1 >, _Period > operator* (const _Rep1 &__s, const duration< _Rep2, _Period > &__d)
 
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 _Rep1 , typename _Period1 , typename _Clock , typename _Dur2 >
constexpr time_point< _Clock, typename common_type< duration< _Rep1, _Period1 >, _Dur2 >::type > 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 > 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 operator- (const time_point< _Clock, _Dur1 > &__lhs, const time_point< _Clock, _Dur2 > &__rhs)
 

Detailed Description

Classes and functions for time.

Typedef Documentation

◆ 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 948 of file chrono.

◆ hours

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

hours

Definition at line 666 of file chrono.

◆ microseconds

microseconds

Definition at line 654 of file chrono.

◆ milliseconds

milliseconds

Definition at line 657 of file chrono.

◆ minutes

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

minutes

Definition at line 663 of file chrono.

◆ nanoseconds

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

nanoseconds

Definition at line 651 of file chrono.

◆ seconds

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

seconds

Definition at line 660 of file chrono.

Function Documentation

◆ 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

duration_cast

Definition at line 216 of file chrono.

◆ 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 1007 of file chrono.

◆ 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 1001 of file chrono.

◆ 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 1018 of file chrono.

◆ 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 1012 of file chrono.

◆ 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 1040 of file chrono.

◆ 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 1034 of file chrono.

◆ 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 1062 of file chrono.

◆ 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 1056 of file chrono.

◆ 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 1029 of file chrono.

◆ 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 1023 of file chrono.

◆ 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 1051 of file chrono.

◆ 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 1045 of file chrono.

◆ operator*() [1/2]

template<typename _Rep1 , typename _Rep2 , typename _Period >
constexpr duration< __common_rep_t< _Rep2, _Rep1 >, _Period > operator* ( const _Rep1 &  __s,
const duration< _Rep2, _Period > &  __d 
)
related

Multiply a duration by a scalar value.

Definition at line 535 of file chrono.

◆ 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

Multiply a duration by a scalar value.

Definition at line 525 of file chrono.

◆ 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 482 of file chrono.

◆ operator+() [2/3]

template<typename _Rep1 , typename _Period1 , typename _Clock , typename _Dur2 >
constexpr time_point< _Clock, typename common_type< duration< _Rep1, _Period1 >, _Dur2 >::type > operator+ ( const duration< _Rep1, _Period1 > &  __lhs,
const time_point< _Clock, _Dur2 > &  __rhs 
)
related

Adjust a time point forwards by the given duration.

Definition at line 788 of file chrono.

◆ 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 774 of file chrono.

◆ 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 difference between two durations.

Definition at line 496 of file chrono.

◆ operator-() [2/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 backwards by the given duration.

Definition at line 802 of file chrono.

◆ operator-() [3/3]

template<typename _Clock , typename _Dur1 , typename _Dur2 >
constexpr common_type< _Dur1, _Dur2 >::type operator- ( const time_point< _Clock, _Dur1 > &  __lhs,
const time_point< _Clock, _Dur2 > &  __rhs 
)
related

The difference between two time points (as a duration)

Definition at line 818 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 730 of file chrono.