Boost logo

Boost Users :

Subject: [Boost-users] [boost] [Review] Formal Review of Proposed Boost.Chrono Library Starts TOMORROW
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2010-11-05 13:25:50


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 <boost/ratio/ratio_io.hpp> to provide readable and
     flexible formatting and parsing for types in
     <boost/chrono.hpp>. The duration unit names can be customized
     through a new facet: duration_punct.

Getting the library
=============
The latest version of this library may be downloaded from

 vault: http://www.boostpro.com/vault/index.php?action=downloadfile&filename=chrono.zip&directory=System&
 SVN: http://svn.boost.org/svn/boost/sandbox/chrono

Boost.Chrono depends on Boost.Ratio
http://www.boostpro.com/vault/index.php?action=downloadfile&filename=ratio.zip&directory=Math%20-%20Numerics&PHPSESSID=2d7859f3e812c993f5a9e2d9900dfee8
and optionaly Boost.System Header Only
http://www.boostpro.com/vault/index.php?action=downloadfile&filename=system.zip&directory=System&PHPSESSID=2d7859f3e812c993f5a9e2d9900dfee8.

and the docs may be viewed here

HTML: http://svn.boost.org/svn/boost/sandbox/chrono/libs/chrono/doc/html/index.html
PDF: http://svn.boost.org/svn/boost/sandbox/chrono/libs/chrono/doc/chrono.pdf

You can get all these information also (which should avoid some long
links) from
http://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction#Boost.Chrono

Writing a review
================

If you feel this is an interesting library, then please submit your
review to the developer list (preferably), or to the review manager.

Here are some questions you might want to answer in your review:

- What is your evaluation of the design?
- What is your evaluation of the implementation?
- What is your evaluation of the documentation?
- What is your evaluation of the potential usefulness of the library?
- Did you try to use the library? With what compiler? Did you have any problems?
- How much effort did you put into your evaluation? A glance? A quick
- reading? In-depth study?
- Are you knowledgeable about the problem domain?

And finally, every review should answer this question:

- Do you think the library should be accepted as a Boost library?

Be sure to say this explicitly so that your other comments don't
obscure your overall opinion.

Anthony
Review Manager for the proposed Boost.Chrono library

-- 
Author of C++ Concurrency in Action     http://www.stdthread.co.uk/book/
just::thread C++0x thread library             http://www.stdthread.co.uk
Just Software Solutions Ltd       http://www.justsoftwaresolutions.co.uk
15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net