Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Chapter 7. Boost.Chrono 2.0.5

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Part I. The Boost C++ Libraries (BoostBook Subset)

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Chapter 7. Boost.Chrono 2.0.5

Howard Hinnant

Beman Dawes

Vicente J. Botet Escriba

Distributed under the Boost Software License, Version 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копия на http://www.boost.org/LICENSE_1_0.txt)

Таблица контента

Overview
Motivation
Description
User's Guide
Getting Started
Tutorial
Examples
External Resources
Reference
Header <boost/chrono/include.hpp>
Included on the C++11 Recommendation
Chrono I/O V1
Chrono I/O V2
Chrono Rounding Utilities
Other Clocks
Appendices
Appendix: History
Appendix: Rationale
Appendix: Implementation Notes
Appendix: FAQ
Appendix: Acknowledgements
Appendix: Future plans

]

]

Тогда какое время? Если никто не спрашивает меня, я знаю; если я должен объяснить это тому, кто спросил меня, я не знаю».

-- Августин

How to Use This Documentation

В этой документации используются следующие конвенции о присвоении названий и форматировании.

  • Код находится в fixed width font и имеет синтаксис.
  • Заменимый текст, который вам нужно будет предоставить, находится в italics.
  • Бесплатные функции отображаются в шрифте кода, за которым следует (), как в free_ function().
  • Если имя относится к шаблону класса, то оно определяется следующим образом: class_template<>; то есть в шрифте кода, за которым следует <>, чтобы указать, что это шаблон класса.
  • Если имя относится к функционально-подобному макросу, то оно определяется следующим образом: MACRO(); то есть это верхняя строка в кодовом шрифте, за которым следует (), чтобы указать, что это функционал-подобный макрос. Объект-подобные макросы появляются без следа ().
  • Имена, которые относятся к концепции в общем смысле программирования, указаны в CamelCase.
[Note] Note

Кроме того, в примечаниях, таких как этот, указывается несущественная информация, которая предоставляет дополнительную информацию или обоснование.

Наконец, вы можете мысленно добавить следующие фрагменты кода в этом документе:

// Include all of Chrono files
#include <boost/chrono.hpp>
Time

Мы все имеем дело со временем каждый день нашей жизни. Мы интуитивно знаем это с рождения. Таким образом, мы все очень знакомы с ним и считаем это простым делом. Моделирование времени в компьютерных программах должно быть таким же простым. Досадная правда заключается в том, что эта воспринимаемая простота является лишь глубиной кожи. К счастью, нам не нужно ужасно сложное решение для удовлетворения большинства наших потребностей. Однако чрезмерно упрощенные решения могут быть опасными и неэффективными и не будут адаптироваться по мере развития компьютерной индустрии.

Boost.Chrono реализует новые временные возможности на C++11, как предлагается в N2661 - Фонд для сна на. Этот документ содержит информацию и мотивацию для ключевых дизайнерских решений и является источником большой информации в этой документации.

В дополнение к часам, предусмотренным стандартным предложением, Boost.Chrono предоставляет конкретные технологические и ниточные часы.

Wall clock versus system and user time

Чтобы сделать время объектов Boost. Chrono в целом полезен, библиотека предоставляет ряд часов, которые являются тонкими обертками вокруг API рабочего времени операционной системы, тем самым позволяя извлекать время настенных часов, время процессора пользователя и время процессора системы процесса. Время настенных часов - это сумма времени процессора и времени процессора системы. (На POSIX-подобных системах это опирается на times(). На Windows он опирается на GetProcessTimes()

Боост.Chrono библиотека предоставляет:

Standard
  • Средства для представления продолжительности времени: управляемый дженериком дукция класс. Примеры продолжительности времени включают дни, минуты, секунды и наносекунды, которые могут быть представлены с фиксированным количеством часовых клещей на единицу. Все эти единицы времени объединены с общим интерфейсом объекта duration.
  • Тип для представления точек во времени: time_point. time_point представляет собой эпоху плюс или минус дукция. Библиотека оставляет неопределенные эпохи. time_point ассоциируется с час.
  • Несколько часов, некоторые из которых могут быть недоступны на конкретной платформе: система_час, устойчивый_час и высокий_разрешение_час. Часы - это пара time_point и duration, и функция, которая возвращает time_point, представляющую now.
Other clocks

Чтобы сделать временные установки более полезными, Boost.Chrono предоставляет ряд часов, которые являются тонкими обертками вокруг API-интерфейсов операционной системы, тем самым позволяя извлекать время настенных часов, время процессора пользователя, время системного процессора, проведенное процессом,

  • process_real_cpu_hour, захватывает время процессора настенных часов, проведенное в текущем процессе.
  • process_user_cpu_ hours, фиксирует время пользователя-CPU, проведенное текущим процессом.
  • process_system_cpu_ hours, фиксирует время системы-CPU, проведенное текущим процессом.
  • Тюль-подобный класс процесс_cpu_часовой, который объединяет реальные, пользователь-CPU и системно-CPU процессы.
  • thread_hour резьбовые часы, дающие время, проведенное текущей нитью (при поддержке платформы).

Наконец, Boost.Chrono включает в себя typeof регистрацию для удаление и time_point, чтобы разрешить использование эмулированного авто с компиляторами C++03.

I/O

Он предоставляет I/O для дукция и Time_point. Этот I/O делает использование этих типов гораздо более удобным. Следуя философии «вы платите только за то, что используете», эта дополнительная функция находится в заголовке отдельно от , а именно .

Он основан на <boost/ratio/ratio_io.hpp> для обеспечения читаемого и гибкого форматирования и парирования для типов в <boost/chrono.hpp>gt>>>>>>>>>>>>>>>>> Это текстовое представление использует префиксы SI, когда это возможно. Это упрощает для boost::milliseconds быть представленным текстом "milliseconds", или гипотетическим классом метра для печати "миллиметрового". The duration and the time_point i/o можно подгонять через новые грани: duration_units и time_point_units. Пользователь может специализироваться на этих гранях, чтобы chrono i/o мог быть локализован. Как бы то ни было. Chrono не предоставляет полное локальное решение.

система_час::time_point I/O предлагается в терминах временных точек UTC, строго руководствуясь ISO 9899:1999, Языки программирования - C, ISO 9945:2003, Информационные технологии - портативный интерфейс операционной системы (POSIX) и ISO 8601:2004, Элементы данных и форматы обмена - Обмен информацией - Представление дат и времени.

Rounding utilities

Несколько простых функций округления для работы с продолжительностью.

Caveat Emptor

Основные часы, предоставляемые операционными системами, подвержены многим, казалось бы, произвольным политикам и нарушениям осуществления. Это вежливый способ сказать, что они, как правило, опасны, и каждая операционная система или даже каждый часы имеет свои жестокие и необычные формы легкости. Не делайте ставку на их точность, если вы не глубоко знакомы с тем, что гарантирует конкретная операционная система, что часто очень мало.

Последний пересмотр: 21 сентября 2016 года в 14:37:13 GMT


PrevUpHomeNext

Статья Chapter 7. Boost.Chrono 2.0.5 раздела The Boost C++ Libraries BoostBook Documentation Subset Part I. The Boost C++ Libraries (BoostBook Subset) может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Part I. The Boost C++ Libraries (BoostBook Subset) ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:51:53/0.0088231563568115/0