Читаем Параллельное программирование на С++ в действии полностью

Класс 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;

 typedef std::ratio<

  unspecified, unspecified> period;

 typedef std::chrono::duration duration;

 typedef std::chrono::time_point

 time_point;

 static const bool is_steady = true;

 static time_point now() noexcept;

};

STD::CHRONO::STEADY_CLOCK::REP, TYPEDEF

Псевдоним целочисленного типа, используемого для хранения количества тиков в интервале duration.

Объявление

typedef unspecified-integral-type rep;

STD::CHRONO::STEADY_CLOCK::PERIOD, TYPEDEF

Псевдоним типа для конкретизации шаблонного класса std::ratio, которая определяет наименьшее число секунд (или долей секунды) между различающимися значениями duration или time_point. Псевдоним period определяет точность часов, а не частоту тактов.

Объявление

typedef std::ratio<unspecified, unspecified> period;

STD::CHRONO::STEADY_CLOCK::DURATION, TYPEDEF

Конкретизация шаблонного класса std::chrono::duration, в которой может храниться разность между любыми двумя моментами времени, полученными от системных стабильных часов.

Объявление

typedef std::chrono::duration<

 std::chrono::steady_clock::rep,

 std::chrono::steady_clock::period> duration;

STD::CHRONO::STEADY_CLOCK::TIME_POINT, TYPEDEF

Конкретизация шаблонного класса std::chrono::time_point, в которой могут храниться моменты времени, полученные от системных стабильных часов.

Объявление

typedef std::chrono::time_point

time_point;

STD::CHRONO::STEADY_CLOCK::NOW, СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН

Получает текущее время от системных стабильных часов.

Объявление

time_point now() noexcept;

Возвращаемое значение

Экземпляр time_point, представляющий текущее время но системным стабильным часам.

Исключения

Возбуждает исключение std::system_error в случае ошибки.

Синхронизация

Если одно обращение к std::chrono::steady_clock::now() происходит-раньше другого, то момент времени time_point, возвращенный при первом обращении, меньше или равен моменту времени time_point, возвращенному при втором обращении.

<p>D.1.5. Псевдоним типа <code>std::chrono::high_resolution_clock</code></p>

Класс std::chrono::high_resolution_clock предоставляет доступ к системным часам максимально высокого разрешения. Как и для всех остальных часов, текущее время можно получить от функции std::chrono::high_resolution_clock::now(). Имя std::chrono::high_resolution_clock может быть псевдонимом класса std::chrono::system_clock или класса std::chrono::steady_clock, либо отдельным типом.

Хотя тип std::chrono::high_resolution_clock дает самое высокое разрешение среди всех входящих в библиотеку часов, обращение к функции std::chrono::high_resolution_clock::now() все же занимает конечное время. Поэтому, пытаясь хронометрировать очень короткие операции, учитывайте накладные расходы на вызов этой функции.

Определение класса

class high_resolution_clock {

public:

 typedef unspecified-integral-type rep;

 typedef std::ratio<

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных

Все жанры