Объявление
static constexpr time_point max();
Возвращаемое значение
time_point(time_point::duration::max())
(см. 11.1.1.16)
D.1.3. Класс std::chrono::system_clock
Класс std::chrono::system_clock
предоставляет средства для получения времени от системных часов реального времени. Текущее время возвращает функция std::chrono::system_clock::now()
. Объекты класса std::chrono::system_clock::time_point
можно преобразовывать в тип time_t
с помощью функции std::chrono::system_clock::to_time_t()
и получать из этого типа с помощью функции std::chrono::system_clock::to_time_point()
. Системные часы не стабильны , поэтому последующее обращение к std::chrono::system_clock::now()
может вернуть момент времени, более ранний, чем при предыдущем обращении (например, если часы операционной системы были подведены вручную или автоматически синхронизировались с внешним источником времени).
Определение класса
class system_clock {
public:
typedef unspecified-integral-type rep;
typedef std::ratio< unspecified , unspecified > period;
typedef std::chrono::duration duration;
typedef std::chrono::time_point time_point;
static const bool is_steady = unspecified ;
static time_point now() noexcept;
static time_t to_time_t(const time_point& t) noexcept;
static time_point from_time_t(time_t t) noexcept;
};
STD::CHRONO::SYSTEM_CLOCK::REP
, TYPEDEF
Псевдоним целочисленного типа, используемого для хранения количества тиков в интервале duration
.
Объявление
typedef unspecified-integral-type rep;
STD::CHRONO::SYSTEM_CLOCK::PERIOD
, TYPEDEF
Псевдоним типа для конкретизации шаблонного класса std::ratio
, которая определяет наименьшее число секунд (или долей секунды) между различающимися значениями duration
или time_point
. Псевдоним period
определяет точность часов, а не частоту тактов.
Объявление
typedef std::ratio< unspecified , unspecified > period;
STD::CHRONO::SYSTEM_CLOCK::DURATION
, TYPEDEF
Конкретизация шаблонного класса std::chrono::duration
, в которой может храниться разность между любыми двумя моментами времени, полученными от системных часов реального времени.
Объявление
typedef std::chrono::duration<
std::chrono::system_clock::rep,
std::chrono::system_clock::period> duration;
STD::CHRONO::SYSTEM_CLOCK::TIME_POINT
, TYPEDEF
Конкретизация шаблонного класса std::chrono::time_point
, в которой могут храниться моменты времени, полученные от системных часов реального времени.
Объявление
typedef std::chrono::time_point time_point;
STD::CHRONO::SYSTEM_CLOCK::NOW
, СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН
Получает текущее время от системных часов реального времени.
Объявление
time_point now() noexcept;
Возвращаемое значение
Экземпляр time_point
, представляющий текущее время по системным часам реального времени.
Исключения
Возбуждает исключение std::system_error
в случае ошибки.
STD::CHRONO::SYSTEM_CLOCK::TO_TIME_T
, СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН
Преобразует объект типа time_point
в объект типа time_t
.
Объявление
time_t to_time_t(time_point const& t) noexcept;
Возвращаемое значение
Экземпляр time_t
, представляющий тот же момент времени, что и t
, округленный или обрезанный до секунд.
Исключения
Возбуждает исключение std::system_error
в случае ошибки.
STD::CHRONO::SYSТЕМ_CLOCK::FROM_TIME_T
, СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН
Преобразует объект типа time_t
в объект типа time_point
.
Объявление
time_point from_time_t(time_t const& t) noexcept;
Возвращаемое значение
Экземпляр time_point
, представляющий тот же момент времени, что и t
.
Исключения
Возбуждает исключение std::system_error
в случае ошибки.
D.1.4. Класс std::chrono::steady_clock
Класс std::chrono::steady_clock
предоставляет доступ к системным стабильным часам. Текущее время возвращает функция std::chrono::steady_clock::now()
. He существует фиксированного соотношения между значениями, возвращаемыми std::chrono::steady_clock::now()
и показаниями часов реального времени. Стабильные часы не могут «идти в обратную сторону», поэтому если некое обращение к функции std::chrono::steady_clock::now()
происходит-раньше другого обращения к ней же, то второе обращение должно вернуть момент времени, больший или равным первому. Часы ходят с частотой, настолько близкой к постоянной, насколько это возможно.
Определение класса
class steady_clock {
public:
typedef unspecified-integral-type rep;
Читать дальше