Карта сайта 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

Распространяется под лицензией Boost Software License, версия 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

]

]

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

— Августин

How to Use This Documentation

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

  • Код находится в<fixedwidth 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 — A Foundation to Sleep On. Этот документ обеспечивает основу и мотивацию для ключевых проектных решений и является источником большой информации в этой документации.

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

Wall clock versus system and user time

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

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

Standard
  • Средство для представления длительностей времени: управляется общим классом<duration>. Примеры длительности времени включают дни<minutes>,<seconds>и<nanoseconds>, которые могут быть представлены с фиксированным числом тактовых клещей на единицу. Все эти единицы времени объединены общим интерфейсом<duration>.
  • Тип для представления точек во времени:<time_point>А<time_point>представляет собой эпоху плюс или минус а<duration>. Библиотека оставляет эпохи неустановленными.<time_point>связано счасами.
  • Несколько часов, некоторые из которых могут быть недоступны на конкретной платформе:<system_clock>,<steady_clock>и<high_resolution_clock>. Часы представляют собой пару<time_point>и<duration>, и функцию, которая возвращает<time_point>, представляющуютеперь.
Other clocks

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

  • <process_real_cpu_clock>, фиксирует время процессора настенных часов, затраченное текущим процессом.
  • <process_user_cpu_clock>, фиксирует время, затрачиваемое пользователем-процессором на текущий процесс.
  • <process_system_cpu_clock>, фиксирует время, затрачиваемое процессором на текущий процесс.
  • Класс, похожий на кортеж<process_cpu_clock>, который фиксирует время реального, пользовательского и системного процессоров вместе.
  • <thread_clock>непрерывные часы, дающие время, затрачиваемое текущей нитью (при поддержке платформы).

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

I/O

Он содержит в себе<duration>и<time_point>. Это делает использование этих типов гораздо более удобным. Следуя философии «вы платите только за то, что используете», эта дополнительная функциональность расположена в заголовке, отдельном от, а именно.

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

<system_clock::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:07:30/0.004194974899292/0