libstdc++
chrono.h File Reference

Go to the source code of this file.

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 >
 

Namespaces

namespace  std
 
namespace  std::chrono
 
namespace  std::filesystem
 
namespace  std::literals
 
namespace  std::literals::chrono_literals
 

Typedefs

using std::chrono::days
 
using std::chrono::file_clock
 
template<typename _Duration>
using std::chrono::file_time
 
using std::chrono::high_resolution_clock
 
using std::chrono::hours
 
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::weeks
 
using std::chrono::years
 

Functions

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::__detail::ceil (const 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_v< _ToDur >, 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_v< _ToDur >, time_point< _Clock, _ToDur > > std::chrono::floor (const time_point< _Clock, _Dur > &__tp)
 
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 _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< __is_duration_v< _ToDur > &&!treat_as_floating_point_v< typename _ToDur::rep >, 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)
 
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, __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 _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 _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>
requires three_way_comparable<common_type_t<_Rep1, _Rep2>>
constexpr auto 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 _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 _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, three_way_comparable_with< _Dur1 > _Dur2>
constexpr auto 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)
 

Variables

template<typename _Tp, typename = void>
constexpr bool std::chrono::is_clock_v
 
template<typename _Tp>
constexpr bool std::chrono::is_clock_v< _Tp, void_t< typename _Tp::rep, typename _Tp::period, typename _Tp::duration, typename _Tp::time_point::duration, decltype(_Tp::is_steady), decltype(_Tp::now())> >
 
template<>
constexpr bool std::chrono::is_clock_v< file_clock >
 
template<>
constexpr bool std::chrono::is_clock_v< steady_clock >
 
template<>
constexpr bool std::chrono::is_clock_v< system_clock >
 
template<typename _Rep>
constexpr bool std::chrono::treat_as_floating_point_v
 
template<>
constexpr bool std::chrono::treat_as_floating_point_v< double >
 
template<>
constexpr bool std::chrono::treat_as_floating_point_v< float >
 
template<>
constexpr bool std::chrono::treat_as_floating_point_v< int >
 
template<>
constexpr bool std::chrono::treat_as_floating_point_v< long >
 
template<>
constexpr bool std::chrono::treat_as_floating_point_v< long double >
 
template<>
constexpr bool std::chrono::treat_as_floating_point_v< long long >
 

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <chrono>.

Definition in file chrono.h.

Function Documentation

◆ ceil()

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

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
_ToDurThe result type must be a duration.
Parameters
__dA duration.
Returns
The value of __d converted to type _ToDur.
Since
C++17

Definition at line 412 of file chrono.h.