libstdc++
Collaboration diagram for Time:

Files

file  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
 
#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::filesystem::__file_clock::duration = chrono::nanoseconds
 
using std::chrono::high_resolution_clock = system_clock
 
using std::chrono::hours = duration< int64_t, ratio< 3600 > >
 
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::nanoseconds = duration< int64_t, nano >
 
using std::chrono::duration< _Rep, _Period >::period = typename _Period::type
 
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
 
using std::filesystem::__file_clock::period = duration::period
 
using std::chrono::duration< _Rep, _Period >::rep = _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
 
using std::filesystem::__file_clock::rep = duration::rep
 
using std::chrono::seconds = duration< int64_t >
 
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
 
using std::filesystem::__file_clock::time_point = chrono::time_point< __file_clock >
 
using std::common_type< chrono::duration< _Rep, _Period >, chrono::duration< _Rep, _Period > >::type = chrono::duration< typename common_type< _Rep >::type, typename _Period::type >
 
using std::common_type< chrono::duration< _Rep, _Period > >::type = chrono::duration< typename common_type< _Rep >::type, typename _Period::type >
 
using std::common_type< chrono::time_point< _Clock, _Duration >, chrono::time_point< _Clock, _Duration > >::type = chrono::time_point< _Clock, _Duration >
 
using std::common_type< chrono::time_point< _Clock, _Duration > >::type = chrono::time_point< _Clock, _Duration >
 

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< is_convertible<const _Rep2&, rep>, __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)
 
template<typename _Dur >
static chrono::time_point< __file_clock, _Dur > std::filesystem::__file_clock::_S_from_sys (const chrono::time_point< __sys_clock, _Dur > &__t) noexcept
 
template<typename _Dur >
static chrono::time_point< __sys_clock, _Dur > std::filesystem::__file_clock::_S_to_sys (const chrono::time_point< __file_clock, _Dur > &__t) 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)
 
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)
 
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)
 
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
 
static time_point std::filesystem::__file_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< typename common_type< rep >::type, period > 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< typename common_type< rep >::type, period > 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 _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< __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
 
static constexpr bool std::filesystem::__file_clock::is_steady
 
template<typename _Rep >
constexpr bool std::chrono::treat_as_floating_point_v
 
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 1163 of file chrono.

◆ hours

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

hours

Definition at line 831 of file chrono.

◆ microseconds

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

microseconds

Definition at line 819 of file chrono.

◆ milliseconds

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

milliseconds

Definition at line 822 of file chrono.

◆ minutes

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

minutes

Definition at line 828 of file chrono.

◆ nanoseconds

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

nanoseconds

Definition at line 816 of file chrono.

◆ seconds

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

seconds

Definition at line 825 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 254 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 3189 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 3183 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 3200 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 3194 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 3222 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 3216 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 3244 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 3238 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 3211 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 3205 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 3233 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 3227 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 686 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 676 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 633 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 994 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 980 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 647 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 1008 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 1024 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 936 of file chrono.