|  | 
|      | 
|  | 
| Chapter 7. Boost.Chrono 2.0.5Boost , The Boost C++ Libraries BoostBook Documentation Subset , Part I. The Boost C++ Libraries (BoostBook Subset)
  
   | |||||||||
| ![[Note]](/img/note.png) | Note | 
|---|---|
| Кроме того, такие заметки, как эта, указывают несущественную информацию, которая обеспечивает дополнительный фон или обоснование. | 
Наконец, вы можете мысленно добавить следующие фрагменты кода в этот документ:
// Include all of Chrono files #include <boost/chrono.hpp>
Мы все имеем дело со временем каждый день нашей жизни. Мы интуитивно знаем это с самого рождения. Таким образом, мы все хорошо знакомы с этим и считаем, что это простой вопрос. Моделирование времени в компьютерных программах должно быть одинаково простым. Печальная правда заключается в том, что эта воспринимаемая простота глубока. К счастью, нам не нужно очень сложное решение для удовлетворения большинства наших потребностей. Однако слишком упрощенные решения могут быть опасными и неэффективными и не будут адаптироваться по мере развития компьютерной индустрии.
Boost.Chronoреализует новые средства времени в C++11, как предложено вN2661 — A Foundation to Sleep On. Этот документ обеспечивает основу и мотивацию для ключевых проектных решений и является источником большой информации в этой документации.
В дополнение к часам, предусмотренным стандартным предложением,Boost.Chronoпредоставляет конкретные технологические и резьбовые часы.
Чтобы сделать временные установки Boost. В более общем смысле, библиотека предоставляет ряд часов, которые представляют собой тонкие обертки вокруг API времени процесса операционной системы, тем самым позволяя извлекать время настенных часов, время процессора пользователя и время процессора системы процесса. Время настенных часов - это сумма времени процессора и времени системного процессора. (На POSIX-подобные системы это опирается<times()>. Для Windows это<GetProcessTimes()>.
Boost.Chronoбиблиотека предоставляет:
duration>. Примеры длительности времени включают дни<minutes>,<seconds>и<nanoseconds>, которые могут быть представлены с фиксированным числом тактовых клещей на единицу. Все эти единицы времени объединены общим интерфейсом<duration>.time_point>А<time_point>представляет собой эпоху плюс или минус а<duration>. Библиотека оставляет эпохи неустановленными.<time_point>связано счасами.system_clock>,<steady_clock>и<high_resolution_clock>. Часы представляют собой пару<time_point>и<duration>, и функцию, которая возвращает<time_point>, представляющуютеперь.Чтобы сделать временные средства более полезными,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.
Он содержит в себе<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, элементами данных и форматами обмена - обмен информацией - представление дат и времени.
Несколько простых функций округления для работы с длительностью.
Основные часы, предоставляемые операционными системами, подвержены многим, казалось бы, произвольным политикам и нарушениям реализации. Это вежливый способ сказать, что они, как правило, ненадежны, и у каждой операционной системы или даже у каждого часа есть свои жестокие и необычные формы дряблости. Не ставьте ферму на их точность, если вы не стали глубоко знакомы с тем, что гарантирует конкретная операционная система, что часто очень мало.
| Последний пересмотр: 21 сентября 2016 года в 14:37:13 GMT | 
Статья 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) ::
| реклама |