Hi everyone,
The review of Vicente Botet's Chrono library starts TOMORROW (November
6th) and lasts until November 15th unless an extension occurs.
What is it?
========
Boost.Chrono aims to implement the new time facilities in C++0x, as
proposed in N2661 - A Foundation to Sleep On
(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm). That
document provides background and motivation for key design decisions and
is the source of a good deal of information in this documentation.
See the current C++0x working draft at
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3126.pdf for
details of what was accepted.
The Boost.Chrono library provides:
* A means to represent time durations: managed by the generic
duration class . Examples of time durations include days, minutes,
seconds and nanoseconds, which can be represented with a fixed
number of clock ticks per unit. All of these units of time
duration are united with a generic interface by the duration
facility.
* A type for representing points in time: time_point. A time_point
represents an epoch plus or minus a duration. The library leaves
epochs unspecified. A time_point is associated with a clock.
* Several clocks, some of which may not be available on a particular
platform: system_clock, monotonic_clock and
high_resolution_clock. A clock is a pairing of a time_point and
duration, and a function which returns a time_point representing
now.
* To make the timing facilities more generally useful, Boost.Chrono
provides a number of additional clocks that are thin wrappers
around the operating system's time APIs, thereby allowing the
extraction of read (wall clock) time, user CPU time, system CPU
time,
- process_real_cpu_clock, captures real (wall clock) CPU times.
- process_user_cpu_clock, captures user-CPU times.
- process_system_cpu_clock, captures system-CPU times.
- A tuple-like class __process_cpuclock_, that captures real,
user-CPU, and system-CPU times together.
- A thread_clock thread monotonic clock, when supported by a platform.
* Boost.Chrono also includes typeof registration for duration and
time_point to permit using emulated auto with C++03 compilers.
* Boost.Chrono also provides I/O for duration and time_point. It
builds on