Open 3D Engine AzCore API Reference  2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Classes | Typedefs | Functions
AZStd::chrono Namespace Reference

Classes

class  duration
 
class  system_clock
 
class  time_point
 
struct  treat_as_floating_point
 

Typedefs

typedef system_clock monotonic_clock
 
typedef monotonic_clock high_resolution_clock
 
typedef duration< AZStd::sys_time_t, nanonanoseconds
 
typedef duration< AZStd::sys_time_t, micromicroseconds
 
typedef duration< AZStd::sys_time_t, millimilliseconds
 
typedef duration< AZStd::sys_time_t > seconds
 
typedef duration< AZStd::sys_time_t, ratio< 60 > > minutes
 
typedef duration< AZStd::sys_time_t, ratio< 3600 > > hours
 

Functions

template<class ToDuration , class Rep , class Period >
constexpr ToDuration duration_cast (const duration< Rep, Period > &fd)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr common_type_t< duration< Rep1, Period1 >, duration< Rep2, Period2 > > operator+ (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr common_type_t< duration< Rep1, Period1 >, duration< Rep2, Period2 > > operator- (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period , class Rep2 >
constexpr duration< common_type_t< Rep1, Rep2 >, Period > operator* (const duration< Rep1, Period > &d, const Rep2 &s)
 
template<class Rep1 , class Period , class Rep2 >
constexpr duration< common_type_t< Rep1, Rep2 >, Period > operator* (const Rep1 &s, const duration< Rep2, Period > &d)
 
template<class Rep1 , class Period , class Rep2 >
constexpr Internal::duration_divide_result< duration< Rep1, Period >, Rep2 >::type operator/ (const duration< Rep1, Period > &d, const Rep2 &s)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr common_type_t< Rep1, Rep2 > operator/ (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period , class Rep2 >
constexpr Internal::duration_divide_result< duration< Rep1, Period >, Rep2 >::type operator% (const duration< Rep1, Period > &d, const Rep2 &s)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr auto operator% (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs) -> common_type_t< duration< Rep1, Period1 >, duration< Rep2, Period2 >>
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr bool operator== (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr bool operator!= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr bool operator< (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr bool operator> (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr bool operator<= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period1 , class Rep2 , class Period2 >
constexpr bool operator>= (const duration< Rep1, Period1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Clock , class Duration1 , class Rep2 , class Period2 >
constexpr time_point< Clock, common_type_t< Duration1, duration< Rep2, Period2 > > > operator+ (const time_point< Clock, Duration1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Rep1 , class Period1 , class Clock , class Duration2 >
constexpr time_point< Clock, common_type_t< duration< Rep1, Period1 >, Duration2 > > operator+ (const duration< Rep1, Period1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class Clock , class Duration1 , class Rep2 , class Period2 >
constexpr time_point< Clock, common_type_t< Duration1, duration< Rep2, Period2 > > > operator- (const time_point< Clock, Duration1 > &lhs, const duration< Rep2, Period2 > &rhs)
 
template<class Clock , class Duration1 , class Duration2 >
constexpr common_type_t< Duration1, Duration2 > operator- (const time_point< Clock, Duration1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class Clock , class Duration1 , class Duration2 >
constexpr bool operator== (const time_point< Clock, Duration1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class Clock , class Duration1 , class Duration2 >
constexpr bool operator!= (const time_point< Clock, Duration1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class Clock , class Duration1 , class Duration2 >
constexpr bool operator< (const time_point< Clock, Duration1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class Clock , class Duration1 , class Duration2 >
constexpr bool operator> (const time_point< Clock, Duration1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class Clock , class Duration1 , class Duration2 >
constexpr bool operator<= (const time_point< Clock, Duration1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class Clock , class Duration1 , class Duration2 >
constexpr bool operator>= (const time_point< Clock, Duration1 > &lhs, const time_point< Clock, Duration2 > &rhs)
 
template<class ToDuration , class Clock , class Duration >
constexpr time_point< Clock, ToDuration > time_point_cast (const time_point< Clock, Duration > &t)
 

Detailed Description

IMPORTANT: This is not the full standard implementation, it is the same except for supported Rep types. At the moment you can use only types "AZStd::sys_time_t" and "float" as duration Rep parameter. Any other type will lead to either a compiler error or bad results. Everything else should be up to standard. The reason for that is the use of common_type which requires compiler support or rtti. We can't rely on any of those for the variety of compilers we use.