Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r53715 - website/public_html/beta/development
From: daniel_james_at_[hidden]
Date: 2009-06-07 07:17:21


Author: danieljames
Date: 2009-06-07 07:17:21 EDT (Sun, 07 Jun 2009)
New Revision: 53715
URL: http://svn.boost.org/trac/boost/changeset/53715

Log:
Add missing files from merge.

Added:
   website/public_html/beta/development/report-jun-2009.html (contents, props changed)
   website/public_html/beta/development/report-jun-2009.rst (contents, props changed)

Added: website/public_html/beta/development/report-jun-2009.html
==============================================================================
--- (empty file)
+++ website/public_html/beta/development/report-jun-2009.html 2009-06-07 07:17:21 EDT (Sun, 07 Jun 2009)
@@ -0,0 +1,876 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+ <title>Review Wizard Status Report for June 2009</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+ <link rel="icon" href="/favicon.ico" type="image/ico" />
+ <link rel="stylesheet" type="text/css" href=
+ "../style/section-development.css" />
+ <!--[if IE]> <style type="text/css"> body { behavior: url(../style/csshover.htc); } </style> <![endif]-->
+</head><!--
+Note: Editing website content is documented at:
+http://www.boost.org/development/website_updating.html
+-->
+
+<body>
+ <div id="heading">
+ <!--#include virtual="/common/heading.html" -->
+ </div>
+
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section" id="intro">
+ <div class="section-0">
+ <div class="section-title">
+ <h1>Review Wizard Status Report for June 2009</h1>
+ </div>
+
+ <div class="section-body">
+ <h2><a name="news" id="news"></a>News</h2>
+<p>Futures: Williams variant Accepted; Gaskill variant Rejected</p>
+<dl class="docutils">
+<dt>Boost 1.38 Released</dt>
+<dd>New Libraries:
+Revised Libraries:</dd>
+</dl>
+<p>Boost.Range Extension Accepted</p>
+<p>Polynomial Library Rejected</p>
+<p>Boost 1.39 Released</p>
+<p>Constrained Value Review - Review Result Pending</p>
+</div>
+<div class="section" id="library-issues">
+<h1>Library Issues</h1>
+<p>The Time Series Library, accepted in August 2007, has not yet been
+submitted to SVN. Eric Niebler and John Phillips are working on
+making the changes suggested during the review.</p>
+<p>The Floating Point Utilities Library, has not yet been submitted to
+SVN. It is slated to be integrated with the Boost.Math library.</p>
+<p>The Switch Library, accepted provisionally in January 2008,
+has not yet been submitted for mini-review and full acceptance.</p>
+<p>The Phoenix Library, accepted provisionally in September 2008, has not
+yet been submitted for mini-review and full acceptance. A rewrite of
+Phoenix, basing it on the Proto metaprogramming library, has just
+begun.</p>
+<p>Maintenance of The Property Tree Library has been taken over by
+Sebastian Redl from Marcin Kalicinski. The library has been checked
+into svn trunk, but Sebastian is doing major maintenance on it in a
+branch. He is aiming for a 1.41 or 1.40 release.</p>
+</div>
+<div class="section" id="general-announcements">
+<h1>General Announcements</h1>
+<p>As always, we need experienced review managers. The review queue has
+been growing substantially but we have had few volunteers, so manage
+reviews if possible and if not please make sure to watch the review
+schedule and participate. Please take a look at the list of libraries
+in need of managers and check out their descriptions. In general
+review managers are active boost participants or library
+contributors. If you can serve as review manager for any of them,
+email Ron Garcia or John Phillips, &quot;garcia at osl dot iu dot edu&quot;
+and &quot;phillips at mps dot ohio-state dot edu&quot; respectively.</p>
+<p>We are also suffering from a lack of reviewers. While we all
+understand time pressures and the need to complete paying work, the
+strength of Boost is based on the detailed and informed reviews
+submitted by you. A recent effort is trying to secure at least five
+people who promise to submit reviews as a precondition to starting
+the review period. Consider volunteering for this and even taking the
+time to create the review as early as possible. No rule says you can
+only work on a review during the review period.</p>
+<p>A link to this report will be posted to www.boost.org. If you would
+like us to make any modifications or additions to this report before
+we do that, please email Ron or John.</p>
+<p>If you're a library author and plan on submitting a library for review
+in the next 3-6 months, send Ron or John a short description of your
+library and we'll add it to the Libraries Under Construction below. We
+know that there are many libraries that are near completion, but we
+have hard time keeping track all of them. Please keep us informed
+about your progress.</p>
+</div>
+<div class="section" id="review-queue">
+<h1>Review Queue</h1>
+<ul class="simple">
+<li>Lexer</li>
+<li>Shifted Pointer</li>
+<li>Logging</li>
+<li>Log</li>
+<li>Join</li>
+<li>Pimpl</li>
+<li>Thread Pool</li>
+<li>Endian</li>
+<li>Meta State Machine</li>
+<li>Conversion</li>
+<li>Sorting</li>
+<li>GIL.IO</li>
+<li>AutoBuffer</li>
+<li>String Convert</li>
+</ul>
+<hr class="docutils" />
+<div class="section" id="lexer">
+<h2>Lexer</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Ben Hanson</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Eric Niebler</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="http://boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=boost.lexer.zip&amp;directory=Strings%20-%20Text%20Processing">Boost Vault</a></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">A programmable lexical analyser generator inspired by 'flex'.
+Like flex, it is programmed by the use of regular expressions
+and outputs a state machine as a number of DFAs utilising
+equivalence classes for compression.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="shifted-pointer">
+<h2>Shifted Pointer</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Phil Bouchard</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Needed</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="http://www.boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=Memory">Boost Vault</a></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">Smart pointers are in general optimized for a specific resource
+(memory usage, CPU cycles, user friendliness, ...) depending on
+what the user need to make the most of. The purpose of this smart
+pointer is mainly to allocate the reference counter (or owner) and
+the object itself at the same time so that dynamic memory management
+is simplified thus accelerated and cheaper on the memory map.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="logging">
+<h2>Logging</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">John Torjo</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Gennadiy Rozental</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="http://torjo.com/log2/">http://torjo.com/log2/></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">Used properly, logging is a very powerful tool. Besides aiding
+debugging/testing, it can also show you how your application is
+used. The Boost Logging Library allows just for that, supporting
+a lot of scenarios, ranging from very simple (dumping all to one
+destination), to very complex (multiple logs, some enabled/some
+not, levels, etc). It features a very simple and flexible
+interface, efficient filtering of messages, thread-safety,
+formatters and destinations, easy manipulation of logs, finding
+the best logger/filter classes based on your application's
+needs, you can define your own macros and much more!</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="log">
+<h2>Log</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Andrey Semashev</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Needed</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="
http://tinyurl.com/cm9lum">Boost Vault</a></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">The library is aimed to help adding logging features to
+applications. It provides out-of-box support for many widely used
+capabilities, such as formatting and filtering based on attributes,
+sending logs to a syslog server or to Windows Event Log, or simply
+storing logs into files. It also provides basic support for the
+library initialization from a settings file. The library can also be
+used for a wider range of tasks and implement gathering and processing
+statistical information or notifying user about application events.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="join">
+<h2>Join</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Yigong Liu</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Needed</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="http://channel.sourceforge.net/">http://channel.sourceforge.net/></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">Join is an asynchronous, message based C++ concurrency
+library based on join calculus. It is applicable both to
+multi-threaded applications and to the orchestration of asynchronous,
+event-based applications. It follows Comega's design and
+implementation and builds with Boost facilities. It provides a high
+level concurrency API with asynchronous methods, synchronous methods,
+and chords which are &quot;join-patterns&quot; defining the synchronization,
+asynchrony, and concurrency.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="pimpl">
+<h2>Pimpl</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Vladimir Batov</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Needed</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><div class="first last line-block">
+<div class="line"><a class="reference external" href="
http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=Pimpl.zip&amp;directory=&amp;">Boost Vault</a></div>
+<div class="line"><a class="reference external" href="http://www.ddj.com/cpp/205918714">http://www.ddj.com/cpp/205918714> (documentation)</div>
+</div>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">The Pimpl idiom is a simple yet robust technique to
+minimize coupling via the separation of interface and implementation
+and then implementation hiding. This library provides a convenient
+yet flexible and generic deployment technique for the Pimpl idiom.
+It's seemingly complete and broadly applicable, yet minimal, simple
+and pleasant to use.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="thread-pool">
+<h2>Thread Pool</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Oliver Kowalke</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body"><p class="first">Needed</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="
http://www.boostpro.com/vault/index.php?action=downloadfile&amp;amp;filename=boost-threadpool.2.tar.gz&amp;amp;directory=Concurrent%20Programming">Boost Vault</a></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><dl class="first last docutils">
+<dt>The library provides:</dt>
+<dd><ul class="first last">
+<li><dl class="first docutils">
+<dt>thread creation policies: determines the management of worker threads:</dt>
+<dd><ul class="first last simple">
+<li>fixed set of threads in pool</li>
+<li>create workerthreads on demand (depending on context)</li>
+<li>let worker threads ime out after certain idle time</li>
+</ul>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>channel policies: manages access to queued tasks:</dt>
+<dd><ul class="first last simple">
+<li>bounded channel with high and low watermark for queuing tasks</li>
+<li>unbounded channel with unlimited number of queued tasks</li>
+<li>rendezvous syncron hand-over between producer and consumer threads</li>
+</ul>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>queueing policy: determines how tasks will be removed from channel:</dt>
+<dd><ul class="first last simple">
+<li>FIFO</li>
+<li>LIFO</li>
+<li>priority queue (attribute assigned to task)</li>
+<li>smart insertions and extractions (for instance remove oldest task with certain attribute by newst one)</li>
+</ul>
+</dd>
+</dl>
+</li>
+<li><p class="first">tasks can be chained and lazy submit of taks is also supported (thanks to
+Braddocks future library).</p>
+</li>
+<li><p class="first">returns a task object from the submit function. The task it self can
+be interrupted if its is cooperative (means it has some interruption points
+in its code -&gt; <tt class="docutils literal"><span class="pre">this_thread::interruption_point()</span></tt> ).</p>
+</li>
+</ul>
+</dd>
+</dl>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="endian">
+<h2>Endian</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Beman Dawes</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body"><p class="first">Needed</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="http://mysite.verizon.net/beman/endian-0.10.zip">http://mysite.verizon.net/beman/endian-0.10.zip></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">Header boost/integer/endian.hpp provides integer-like byte-holder
+binary types with explicit control over byte order, value type, size,
+and alignment. Typedefs provide easy-to-use names for common
+configurations.</p>
+<p class="last">These types provide portable byte-holders for integer data,
+independent of particular computer architectures. Use cases almost
+always involve I/O, either via files or network connections. Although
+data portability is the primary motivation, these integer byte-holders
+may also be used to reduce memory use, file size, or network activity
+since they provide binary integer sizes not otherwise available.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="meta-state-machine">
+<h2>Meta State Machine</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Christophe Henry</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body"><p class="first">Needed</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="
http://www.boostpro.com/vault/index.php?direction=0&amp;amp;order=&amp;amp;directory=Msm">Boost Vault</a></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">Msm is a framework which enables you to build a Finite State Machine
+in a straightforward, descriptive and easy-to-use manner . It requires
+minimal effort to generate a working program from an UML state machine
+diagram. This work was inspired by the state machine described in the
+book of David Abrahams and Aleksey Gurtovoy &quot;C++ Template
+Metaprogramming&quot; and adds most of what UML Designers are expecting
+from an UML State Machine framework:</p>
+<ul class="last simple">
+<li>Entry and Exit Methods</li>
+<li>Guard Conditions</li>
+<li>Sub state machines (also called composite states in UML)</li>
+<li>History</li>
+<li>Terminate Pseudo-State</li>
+<li>Deferred Events</li>
+<li>Orthogonal zones</li>
+<li>Explicit entry into sub state machine states</li>
+<li>Fork</li>
+<li>Entry / Exit pseudo states</li>
+<li>Conflicting transitions</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="conversion">
+<h2>Conversion</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Vicente Botet</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body"><p class="first">Needed</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="http://www.boostpro.com/vault/index.php?action=downloadfile&amp;amp;filename=conversion.zip&amp;amp;directory=Utilities&amp;amp;">Boost Vault</a></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">Generic explicit conversion between unrelated types.</p>
+<dl class="last docutils">
+<dt>Boost.Conversion provides:</dt>
+<dd><ul class="first last simple">
+<li>a generic <tt class="docutils literal"><span class="pre">convert_to</span></tt> function which can be specialized by the user to
+make explicit conversion between unrelated types.</li>
+<li>a generic <tt class="docutils literal"><span class="pre">assign_to</span></tt> function which can be specialized by the user to
+make explicit assignation between unrelated types.</li>
+<li>conversion between <tt class="docutils literal"><span class="pre">std::complex</span></tt> of explicitly convertible types.</li>
+<li>conversion between <tt class="docutils literal"><span class="pre">std::pair</span></tt> of explicitly convertible types.</li>
+<li>conversion between <tt class="docutils literal"><span class="pre">boost::optional</span></tt> of explicitly convertible types.</li>
+<li>conversion between <tt class="docutils literal"><span class="pre">boost::rational</span></tt> of explicitly convertible types.</li>
+<li>conversion between <tt class="docutils literal"><span class="pre">boost::interval</span></tt> of explicitly convertible types.</li>
+<li>conversion between <tt class="docutils literal"><span class="pre">boost::chrono::time_point</span></tt> and <tt class="docutils literal"><span class="pre">boost::ptime</span></tt>.</li>
+<li>conversion between <tt class="docutils literal"><span class="pre">boost::chrono::duration</span></tt> and <tt class="docutils literal"><span class="pre">boost::time_duration</span></tt>.</li>
+</ul>
+</dd>
+</dl>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="sorting">
+<h2>Sorting</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Steven Ross</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body"><p class="first">Needed</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="http://www.boostpro.com/vault/index.php?action=downloadfile&amp;amp;filename=algorithm_sorting.zip">Boost Vault</a></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">A grouping of 3 templated hybrid radix/comparison-based sorting
+algorithms that provide superior worst-case and average-case
+performance to std::sort: integer_sort, which sorts fixed-size data
+types that support a rightshift (default of &gt;&gt;) and a comparison
+(default of &lt;) operator. float_sort, which sorts standard
+floating-point numbers by safely casting them to integers.
+string_sort, which sorts variable-length data types, and is optimized
+for 8-bit character strings.</p>
+<p class="last">All 3 algorithms have O(n(k/s + s)) runtime where k is the number of
+bits in the data type and s is a constant, and limited memory overhead
+(in the kB for realistic inputs). In testing, integer_sort varies
+from 35% faster to 8X as fast as std::sort, depending on processor,
+compiler optimizations, and data distribution. float_sort is roughly
+7X as fast as std::sort on x86 processors. string_sort is roughly 2X
+as fast as std::sort.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="gil-io">
+<h2>GIL.IO</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Christian Henning</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Needed</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="http://gil-contributions.googlecode.com/files/rc2.zip">GIL Google Code Vault</a></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">I/O extension for <tt class="docutils literal"><span class="pre">boost::gil</span></tt> which allows reading and
+writing of/in various image formats ( tiff, jpeg, png, etc ). This
+review will also include the Toolbox extension which adds some common
+functionality to gil, such as new color spaces, algorithms, etc.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="autobuffer">
+<h2>AutoBuffer</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Thorsten Ottosen</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body">Robert Stewart</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="http://www.cs.aau.dk/~nesotto/boost/auto_buffer.zip">Here</a></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">Boost.AutoBuffer provides a container for efficient dynamic, local buffers.
+Furthermore, the container may be used as an alternative to std::vector,
+offering greater flexibility and sometimes better performance.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="string-convert">
+<h2>String Convert</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Vladimir Batov</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Review Manager:</th><td class="field-body"><p class="first">Needed</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="http://www.boostpro.com/vault/index.php?action=downloadfile&amp;amp;filename=boost-string-convert.zip">Boost Vault</a></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">The library takes the approach of boost::lexical_cast in the area of
+string-to-type and type-to-string conversions, builds on the past
+boost::lexical_cast experience and advances that conversion
+functionality further to additionally provide:
+* throwing and non-throwing conversion-failure behavior;
+* support for the default value to be returned when conversion fails;
+* two types of the conversion-failure check -- basic and better/safe;
+* formatting support based on the standard I/O Streams and the standard
+(or user-defined) I/O Stream-based manipulators
+(like std::hex, std::scientific, etc.);
+* locale support;
+* support for boost::range-compliant char and wchar_t-based string containers;
+* no DefaultConstructibility requirement for the Target type;
+* consistent framework to uniformly incorporate any type-to-type conversions.</p>
+<p class="last">It is an essential tool with applications making extensive use of
+configuration files or having to process/prepare considerable amounts
+of data in, say, XML, etc.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="section" id="libraries-under-development">
+<h1>Libraries under development</h1>
+<p>Please let us know of any libraries you are currently
+developing that you intend to submit for review.</p>
+<div class="section" id="mirror">
+<h2>Mirror</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Matus Chochlik</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><div class="first line-block">
+<div class="line"><a class="reference external" href="http://svn.boost.org/svn/boost/sandbox/mirror/doc/index.html">http://svn.boost.org/svn/boost/sandbox/mirror/doc/index.html></div>
+<div class="line"><a class="reference external" href="
http://www.boostpro.com/vault/index.php?action=downloadfile&amp;amp;filename=mirror.zip">Boost Vault</a></div>
+</div>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">The aim of the Mirror library is to provide useful meta-data at both
+compile-time and run-time about common C++ constructs like namespaces,
+types, typedef-ined types, classes and their base classes and member
+attributes, instances, etc. and to provide generic interfaces for
+their introspection.</p>
+<p>Mirror is designed with the principle of stratification in mind and
+tries to be as less intrusive as possible. New or existing classes do
+not need to be designed to directly support Mirror and no Mirror
+related code is necessary in the class' definition, as far as some
+general guidelines are followed</p>
+<p>Most important features of the Mirror library that are currently
+implemented include:</p>
+<blockquote>
+<ul class="simple">
+<li>Namespace-name inspection.</li>
+<li>Inspection of the whole scope in which a namespace is defined</li>
+<li>Type-name querying, with the support for typedef-ined typenames
+and typenames of derived types like pointers, references,
+cv-qualified types, arrays, functions and template names. Names
+with or without nested-name-specifiers can be queried.</li>
+<li>Inspection of the scope in which a type has been defined</li>
+<li>Uniform and generic inspection of class' base classes. One can
+inspect traits of the base classes for example their types,
+whether they are inherited virtually or not and the access
+specifier (private, protected, public).</li>
+<li>Uniform and generic inspection of class' member attributes. At
+compile-time the count of class' attributes and their types,
+storage class specifiers (static, mutable) and some other traits
+can be queried. At run-time one can uniformly query the names
+and/or values (when given an instance of the reflected class) of
+the member attributes and sequentially execute a custom functor
+on every attribute of a class.</li>
+<li>Traversals of a class' (or generally type's) structure with user
+defined visitors, which are optionally working on an provided
+instance of the type or just on it's structure without any
+run-time data. These visitors are guided by Mirror through the
+structure of the class and optionally provided with contextual
+information about the current position in the traversal.</li>
+</ul>
+</blockquote>
+<p class="last">I'm hoping to have it review ready in the next few months.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="interval-template-library">
+<h2>Interval Template Library</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Joachim Faulhaber</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">The Interval Template Library (Itl) provides intervals
+and two kinds of interval containers: Interval_sets and
+interval_maps. Interval_sets and maps can be used just
+as sets or maps of elements. Yet they are much more
+space and time efficient when the elements occur in
+contiguous chunks: intervals. This is obviously the case
+in many problem domains, particularly in fields that deal
+with problems related to date and time.</p>
+<p>Interval containers allow for intersection with interval_sets
+to work with segmentation. For instance you might want
+to intersect an interval container with a grid of months
+and then iterate over those months.</p>
+<p>Finally interval_maps provide aggregation on
+associated values, if added intervals overlap with
+intervals that are stored in the interval_map. This
+feature is called aggregate on overlap. It is shown by
+example:</p>
+<pre class="literal-block">
+typedef set&lt;string&gt; guests;
+interval_map&lt;time, guests&gt; party;
+guests mary; mary.insert(&quot;Mary&quot;);
+guests harry; harry.insert(&quot;Harry&quot;);
+party += make_pair(interval&lt;time&gt;::rightopen(20:00, 22:00),mary);
+party += make_pair(interval&lt;time&gt;::rightopen_(21:00, 23:00),harry);
+// party now contains
+[20:00, 21:00)-&gt;{&quot;Mary&quot;}
+[21:00, 22:00)-&gt;{&quot;Harry&quot;,&quot;Mary&quot;} //guest sets aggregated on overlap
+[22:00, 23:00)-&gt;{&quot;Harry&quot;}
+</pre>
+<p class="last">As can be seen from the example an interval_map has both
+a decompositional behavior (on the time dimension) as well as
+a accumulative one (on the associated values).</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="stlconstanttimesize">
+<h2>StlConstantTimeSize</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Vicente J. Botet Escriba</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=constant_time_size.zip&amp;amp;directory=Containers&amp;amp;">Boost Vault</a></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">Boost.StlConstantTimeSize Defines a wrapper to the stl container list
+giving the user the chioice for the complexity of the size function:
+linear time, constant time or quasi-constant. In future versions the
+library could include a similar wrapper to slist.</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="interthreads">
+<h2>InterThreads</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Vicente J. Botet Escriba</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="http://www.boostpro.com/vault/index.php?action=downloadfile&amp;amp;filename=interthreads.zip&amp;amp;directory=Concurrent%20Programming&amp;amp;">Boost Vault</a></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">Boost.InterThreads extends Boost.Threads adding some features:</p>
+<blockquote>
+<ul class="simple">
+<li>thread decorator: thread_decorator allows to define
+setup/cleanup functions which will be called only once by
+thread: setup before the thread function and cleanup at thread
+exit.</li>
+<li>thread specific shared pointer: this is an extension of the
+thread_specific_ptr providing access to this thread specific
+context from other threads. As it is shared the stored pointer
+is a shared_ptr instead of a raw one.</li>
+<li>thread keep alive mechanism: this mechanism allows to detect
+threads that do not prove that they are alive by calling to the
+keep_alive_point regularly. When a thread is declared dead a
+user provided function is called, which by default will abort
+the program.</li>
+<li>thread tuple: defines a thread groupe where the number of
+threads is know statically and the threads are created at
+construction time.</li>
+<li>set_once: a synchonizer that allows to set a variable only once,
+notifying to the variable value to whatever is waiting for that.</li>
+<li>thread_tuple_once: an extension of the boost::thread_tuple which
+allows to join the thread finishing the first, using for that
+the set_once synchronizer.</li>
+<li>thread_group_once: an extension of the boost::thread_group which
+allows to join the thread finishing the first, using for that
+the set_once synchronizer.</li>
+</ul>
+</blockquote>
+<p>(thread_decorator and thread_specific_shared_ptr) are based on the
+original implementation of threadalert written by Roland Schwarz.</p>
+<p class="last">Boost.InterThreads extends Boost.Threads adding thread setup/cleanup
+decorator, thread specific shared pointer, thread keep alive
+mechanism and thread tuples.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="channel">
+<h2>Channel</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body"><p class="first">Yigong Liu</p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="http://channel.sourceforge.net">http://channel.sourceforge.net></p>
+</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">Channel is a C++ template library to provide name spaces for distributed
+message passing and event dispatching. Message senders and receivers bind to
+names in name space; binding and matching rules decide which senders will
+bind to which receivers (the binding-set); then message passing could happen
+among bound senders and receivers.</p>
+<p>The type of name space is a template parameter of Channel. Various name
+spaces (linear/hierarchical/associative) can be used for different
+applications. For example, integer ids can be used to send messages in
+linear name space, string path name ids (such as &quot;/sports/basketball&quot;) can
+be used to send messages in hierarchical name space and regex patterns or
+Linda tuple-space style tuples can be used to send messages in associative
+name space.</p>
+<p>Dispatcher is another configurable template parameter of Channel; which
+dispatch messages/events from senders to bounded receivers. The design of
+dispatchers can vary in several dimensions:
+how msgs move: push or pull;
+how callbacks executed: synchronous or asynchronous.
+Sample dispatchers includes : synchronous broadcast dispatcher, asynchronous
+dispatchers with choice_arbiter and join_arbiters.</p>
+<p>Name space and dispatchers are orthogonal; they can mix and match together
+freely. Name spaces and name-binding create binding-sets for sender and
+receiver, and dispatchers are algorithms defined over the binding-set.</p>
+<p class="last">Distributed channels can be connected to allow transparent distributed
+message passing. Filters and translators are used to control name space
+changes.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="bitfield">
+<h2>Bitfield</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Authot:</th><td class="field-body">Vicente Botet</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"></td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body"></td>
+</tr>
+</tbody>
+</table>
+<p>I have adapted the Bitfield library from Emile Cormier with its
+permision and I would like you add it to the libraries under
+developement list. The library is quite stable but I want to add some
+test with Boost.Endian before adding it to the formal review schedule
+list.</p>
+<dl class="docutils">
+<dt>Boost.Bitfield consists of:</dt>
+<dd><ul class="first last">
+<li><p class="first">a generic bitfield traits class providing generic getter and setter methods.</p>
+</li>
+<li><p class="first">a BOOST_BITFIELD_DCL macro making easier the definition of the
+bitfield traits and the bitfield getter and setter functions:</p>
+<pre class="literal-block">
+struct X {
+ typedef boost::ubig_32 storage_type;
+ storage_type d0;
+ typedef unsigned int value_type;
+ BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d00, 0, 10);
+ BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d01, 11, 31);
+};
+</pre>
+</li>
+</ul>
+</dd>
+</dl>
+</div>
+<div class="section" id="synchro">
+<h2>Synchro</h2>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Author:</th><td class="field-body">Vicente Botet</td>
+</tr>
+<tr class="field"><th class="field-name">Download:</th><td class="field-body"><a class="reference external" href="
http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=synchro.zip&amp;directory=Concurrent%20Programming&amp;">Boost Vault:</a>
+<a class="reference external" href="https://svn.boost.org/svn/boost/sandbox/synchro">Boost Sandbox:</a>
+Html doc included only on the Vault</td>
+</tr>
+<tr class="field"><th class="field-name">Description:</th><td class="field-body">Synchro provides:</td>
+</tr>
+</tbody>
+</table>
+<ul>
+<li><p class="first">A uniform usage of Boost.Thread and Boost.Interprocess
+synchronization mechanisms based on lockables(mutexes) concepts and
+locker(guards) concepts.</p>
+<blockquote>
+<ul class="simple">
+<li>lockables traits and lock generators,</li>
+<li>generic free functions on lockables as: <cite>lock</cite>, <cite>try_lock</cite>, ...</li>
+<li>locker adapters of the Boost.Thread and Boost.Interprocess lockers models,</li>
+<li>complete them with the corresponding models for single-threaded
+programms: <cite>null_mutex</cite> and <cite>null_condition</cite> classes,</li>
+<li>locking families,</li>
+<li><cite>semaphore</cite> and <cite>binary_semaphore</cite>,</li>
+<li><cite>condition_lockable</cite> lock which put toghether a lock and its
+associated conditions.</li>
+</ul>
+</blockquote>
+</li>
+<li><p class="first">A coherent exception based timed lock approach for functions and constructors,</p>
+</li>
+<li><p class="first">A rich palete of lockers as</p>
+<blockquote>
+<ul class="simple">
+<li><cite>strict_locker</cite>, <cite>nested_strict_locker</cite>,</li>
+<li><cite>condition_locker</cite>,</li>
+<li><cite>reverse_locker</cite>, <cite>nested_reverse_locker</cite>,</li>
+<li><cite>locking_ptr</cite>, <cite>on_derreference_locking_ptr</cite>,</li>
+<li><cite>externally_locked</cite>,</li>
+</ul>
+</blockquote>
+</li>
+<li><p class="first"><cite>array_unique_locker</cite> on multiple lockables.</p>
+</li>
+<li><p class="first">Generic free functions on multiple lockables <cite>lock</cite>, <cite>try_lock</cite>,
+<cite>lock_until</cite>, <cite>lock_for</cite>, <cite>try_lock_until</cite>, <cite>try_lock_for</cite>, <cite>unlock</cite></p>
+</li>
+<li><p class="first">lock adapters of the Boost.Thread and Boost.Interprocess lockable models,</p>
+</li>
+<li><p class="first"><cite>lock_until</cite>, <cite>lock_for</cite>, <cite>try_lock_until</cite>, <cite>try_lock_for</cite></p>
+</li>
+<li><p class="first">A polymorphic lockable hierarchy.</p>
+</li>
+<li><p class="first">High-level abstractions for handling more complicated
+synchronization problems, including</p>
+<blockquote>
+<ul class="simple">
+<li><cite>monitor</cite> for guaranteeing exclusive access to an object.</li>
+</ul>
+</blockquote>
+</li>
+<li><p class="first">A rendezvous mechanism for handling direct communication between
+objects <cite>concurrent_components</cite> via <cite>ports</cite> using an
+accept-synchronize protocol based on the design of the concurrency
+library in the Beta language.</p>
+</li>
+<li><p class="first">Language-like Synchronized Block Macros</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</body>
+</html>

Added: website/public_html/beta/development/report-jun-2009.rst
==============================================================================
--- (empty file)
+++ website/public_html/beta/development/report-jun-2009.rst 2009-06-07 07:17:21 EDT (Sun, 07 Jun 2009)
@@ -0,0 +1,691 @@
+==============================================
+Review Wizard Status Report for June 2009
+==============================================
+
+News
+====
+
+Futures: Williams variant Accepted; Gaskill variant Rejected
+
+Boost 1.38 Released
+ New Libraries:
+ Revised Libraries:
+
+Boost.Range Extension Accepted
+
+Polynomial Library Rejected
+
+Boost 1.39 Released
+
+Constrained Value Review - Review Result Pending
+
+
+
+Library Issues
+==============
+
+The Time Series Library, accepted in August 2007, has not yet been
+submitted to SVN. Eric Niebler and John Phillips are working on
+making the changes suggested during the review.
+
+The Floating Point Utilities Library, has not yet been submitted to
+SVN. It is slated to be integrated with the Boost.Math library.
+
+The Switch Library, accepted provisionally in January 2008,
+has not yet been submitted for mini-review and full acceptance.
+
+The Phoenix Library, accepted provisionally in September 2008, has not
+yet been submitted for mini-review and full acceptance. A rewrite of
+Phoenix, basing it on the Proto metaprogramming library, has just
+begun.
+
+Maintenance of The Property Tree Library has been taken over by
+Sebastian Redl from Marcin Kalicinski. The library has been checked
+into svn trunk, but Sebastian is doing major maintenance on it in a
+branch. He is aiming for a 1.41 or 1.40 release.
+
+
+
+General Announcements
+=====================
+
+As always, we need experienced review managers. The review queue has
+been growing substantially but we have had few volunteers, so manage
+reviews if possible and if not please make sure to watch the review
+schedule and participate. Please take a look at the list of libraries
+in need of managers and check out their descriptions. In general
+review managers are active boost participants or library
+contributors. If you can serve as review manager for any of them,
+email Ron Garcia or John Phillips, "garcia at osl dot iu dot edu"
+and "phillips at mps dot ohio-state dot edu" respectively.
+
+We are also suffering from a lack of reviewers. While we all
+understand time pressures and the need to complete paying work, the
+strength of Boost is based on the detailed and informed reviews
+submitted by you. A recent effort is trying to secure at least five
+people who promise to submit reviews as a precondition to starting
+the review period. Consider volunteering for this and even taking the
+time to create the review as early as possible. No rule says you can
+only work on a review during the review period.
+
+A link to this report will be posted to www.boost.org. If you would
+like us to make any modifications or additions to this report before
+we do that, please email Ron or John.
+
+If you're a library author and plan on submitting a library for review
+in the next 3-6 months, send Ron or John a short description of your
+library and we'll add it to the Libraries Under Construction below. We
+know that there are many libraries that are near completion, but we
+have hard time keeping track all of them. Please keep us informed
+about your progress.
+
+
+Review Queue
+============
+
+* Lexer
+* Shifted Pointer
+* Logging
+* Log
+* Join
+* Pimpl
+* Thread Pool
+* Endian
+* Meta State Machine
+* Conversion
+* Sorting
+* GIL.IO
+* AutoBuffer
+* String Convert
+
+--------------------
+
+
+Lexer
+-----
+:Author: Ben Hanson
+
+:Review Manager: Eric Niebler
+
+:Download: `Boost Vault <http://boost-consulting.com/vault/index.php?action=downloadfile&filename=boost.lexer.zip&directory=Strings%20-%20Text%20Processing>`__
+
+:Description:
+ A programmable lexical analyser generator inspired by 'flex'.
+ Like flex, it is programmed by the use of regular expressions
+ and outputs a state machine as a number of DFAs utilising
+ equivalence classes for compression.
+
+
+Shifted Pointer
+---------------
+:Author: Phil Bouchard
+
+:Review Manager: Needed
+
+:Download: `Boost Vault <http://www.boost-consulting.com/vault/index.php?&direction=0&order=&directory=Memory>`__
+
+:Description:
+ Smart pointers are in general optimized for a specific resource
+ (memory usage, CPU cycles, user friendliness, ...) depending on
+ what the user need to make the most of. The purpose of this smart
+ pointer is mainly to allocate the reference counter (or owner) and
+ the object itself at the same time so that dynamic memory management
+ is simplified thus accelerated and cheaper on the memory map.
+
+
+Logging
+-------
+:Author: John Torjo
+
+:Review Manager: Gennadiy Rozental
+
+:Download: http://torjo.com/log2/
+
+:Description: Used properly, logging is a very powerful tool. Besides aiding
+ debugging/testing, it can also show you how your application is
+ used. The Boost Logging Library allows just for that, supporting
+ a lot of scenarios, ranging from very simple (dumping all to one
+ destination), to very complex (multiple logs, some enabled/some
+ not, levels, etc). It features a very simple and flexible
+ interface, efficient filtering of messages, thread-safety,
+ formatters and destinations, easy manipulation of logs, finding
+ the best logger/filter classes based on your application's
+ needs, you can define your own macros and much more!
+
+
+Log
+---
+:Author: Andrey Semashev
+
+:Review Manager: Needed
+
+:Download: `Boost Vault <http://tinyurl.com/cm9lum>`__
+
+:Description: The library is aimed to help adding logging features to
+ applications. It provides out-of-box support for many widely used
+ capabilities, such as formatting and filtering based on attributes,
+ sending logs to a syslog server or to Windows Event Log, or simply
+ storing logs into files. It also provides basic support for the
+ library initialization from a settings file. The library can also be
+ used for a wider range of tasks and implement gathering and processing
+ statistical information or notifying user about application events.
+
+
+Join
+----
+:Author: Yigong Liu
+
+:Review Manager: Needed
+
+:Download: http://channel.sourceforge.net/
+
+:Description: Join is an asynchronous, message based C++ concurrency
+ library based on join calculus. It is applicable both to
+ multi-threaded applications and to the orchestration of asynchronous,
+ event-based applications. It follows Comega's design and
+ implementation and builds with Boost facilities. It provides a high
+ level concurrency API with asynchronous methods, synchronous methods,
+ and chords which are "join-patterns" defining the synchronization,
+ asynchrony, and concurrency.
+
+
+Pimpl
+-----
+:Author: Vladimir Batov
+
+:Review Manager: Needed
+
+:Download: | `Boost Vault <http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=Pimpl.zip&directory=&>`__
+ | http://www.ddj.com/cpp/205918714 (documentation)
+
+:Description: The Pimpl idiom is a simple yet robust technique to
+ minimize coupling via the separation of interface and implementation
+ and then implementation hiding. This library provides a convenient
+ yet flexible and generic deployment technique for the Pimpl idiom.
+ It's seemingly complete and broadly applicable, yet minimal, simple
+ and pleasant to use.
+
+
+Thread Pool
+-----------
+
+:Author: Oliver Kowalke
+
+:Review Manager: Needed
+
+:Download: `Boost Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=boost-threadpool.2.tar.gz&amp;directory=Concurrent%20Programming>`__
+
+:Description:
+ The library provides:
+ - thread creation policies: determines the management of worker threads:
+ - fixed set of threads in pool
+ - create workerthreads on demand (depending on context)
+ - let worker threads ime out after certain idle time
+ - channel policies: manages access to queued tasks:
+ - bounded channel with high and low watermark for queuing tasks
+ - unbounded channel with unlimited number of queued tasks
+ - rendezvous syncron hand-over between producer and consumer threads
+ - queueing policy: determines how tasks will be removed from channel:
+ - FIFO
+ - LIFO
+ - priority queue (attribute assigned to task)
+ - smart insertions and extractions (for instance remove oldest task with certain attribute by newst one)
+ - tasks can be chained and lazy submit of taks is also supported (thanks to
+ Braddocks future library).
+ - returns a task object from the submit function. The task it self can
+ be interrupted if its is cooperative (means it has some interruption points
+ in its code -> ``this_thread::interruption_point()`` ).
+
+
+Endian
+------
+:Author: Beman Dawes
+
+:Review Manager: Needed
+
+:Download: http://mysite.verizon.net/beman/endian-0.10.zip
+
+:Description:
+ Header boost/integer/endian.hpp provides integer-like byte-holder
+ binary types with explicit control over byte order, value type, size,
+ and alignment. Typedefs provide easy-to-use names for common
+ configurations.
+
+ These types provide portable byte-holders for integer data,
+ independent of particular computer architectures. Use cases almost
+ always involve I/O, either via files or network connections. Although
+ data portability is the primary motivation, these integer byte-holders
+ may also be used to reduce memory use, file size, or network activity
+ since they provide binary integer sizes not otherwise available.
+
+
+Meta State Machine
+------------------
+:Author: Christophe Henry
+
+:Review Manager: Needed
+
+:Download: `Boost Vault <http://www.boostpro.com/vault/index.php?direction=0&amp;order=&amp;directory=Msm>`__
+
+:Description: Msm is a framework which enables you to build a Finite State Machine
+ in a straightforward, descriptive and easy-to-use manner . It requires
+ minimal effort to generate a working program from an UML state machine
+ diagram. This work was inspired by the state machine described in the
+ book of David Abrahams and Aleksey Gurtovoy "C++ Template
+ Metaprogramming" and adds most of what UML Designers are expecting
+ from an UML State Machine framework:
+
+ * Entry and Exit Methods
+ * Guard Conditions
+ * Sub state machines (also called composite states in UML)
+ * History
+ * Terminate Pseudo-State
+ * Deferred Events
+ * Orthogonal zones
+ * Explicit entry into sub state machine states
+ * Fork
+ * Entry / Exit pseudo states
+ * Conflicting transitions
+
+
+Conversion
+----------
+:Author: Vicente Botet
+
+:Review Manager: Needed
+
+:Download: `Boost Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=conversion.zip&amp;directory=Utilities&amp;>`__
+
+:Description:
+ Generic explicit conversion between unrelated types.
+
+ Boost.Conversion provides:
+ * a generic ``convert_to`` function which can be specialized by the user to
+ make explicit conversion between unrelated types.
+ * a generic ``assign_to`` function which can be specialized by the user to
+ make explicit assignation between unrelated types.
+ * conversion between ``std::complex`` of explicitly convertible types.
+ * conversion between ``std::pair`` of explicitly convertible types.
+ * conversion between ``boost::optional`` of explicitly convertible types.
+ * conversion between ``boost::rational`` of explicitly convertible types.
+ * conversion between ``boost::interval`` of explicitly convertible types.
+ * conversion between ``boost::chrono::time_point`` and ``boost::ptime``.
+ * conversion between ``boost::chrono::duration`` and ``boost::time_duration``.
+
+
+Sorting
+-------
+:Author: Steven Ross
+
+:Review Manager: Needed
+
+:Download: `Boost Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=algorithm_sorting.zip>`__
+
+:Description:
+ A grouping of 3 templated hybrid radix/comparison-based sorting
+ algorithms that provide superior worst-case and average-case
+ performance to std::sort: integer_sort, which sorts fixed-size data
+ types that support a rightshift (default of >>) and a comparison
+ (default of <) operator. float_sort, which sorts standard
+ floating-point numbers by safely casting them to integers.
+ string_sort, which sorts variable-length data types, and is optimized
+ for 8-bit character strings.
+
+ All 3 algorithms have O(n(k/s + s)) runtime where k is the number of
+ bits in the data type and s is a constant, and limited memory overhead
+ (in the kB for realistic inputs). In testing, integer_sort varies
+ from 35% faster to 8X as fast as std::sort, depending on processor,
+ compiler optimizations, and data distribution. float_sort is roughly
+ 7X as fast as std::sort on x86 processors. string_sort is roughly 2X
+ as fast as std::sort.
+
+
+GIL.IO
+------
+:Author: Christian Henning
+
+:Review Manager: Needed
+
+:Download: `GIL Google Code Vault <http://gil-contributions.googlecode.com/files/rc2.zip>`__
+
+:Description: I/O extension for ``boost::gil`` which allows reading and
+ writing of/in various image formats ( tiff, jpeg, png, etc ). This
+ review will also include the Toolbox extension which adds some common
+ functionality to gil, such as new color spaces, algorithms, etc.
+
+
+
+AutoBuffer
+----------
+:Author: Thorsten Ottosen
+
+:Review Manager: Robert Stewart
+
+:Download: `Here <http://www.cs.aau.dk/~nesotto/boost/auto_buffer.zip>`__
+
+:Description:
+ Boost.AutoBuffer provides a container for efficient dynamic, local buffers.
+ Furthermore, the container may be used as an alternative to std::vector,
+ offering greater flexibility and sometimes better performance.
+
+
+
+String Convert
+--------------
+:Author: Vladimir Batov
+
+:Review Manager: Needed
+
+:Download: `Boost Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=boost-string-convert.zip>`__
+
+:Description:
+ The library takes the approach of boost::lexical_cast in the area of
+ string-to-type and type-to-string conversions, builds on the past
+ boost::lexical_cast experience and advances that conversion
+ functionality further to additionally provide:
+ * throwing and non-throwing conversion-failure behavior;
+ * support for the default value to be returned when conversion fails;
+ * two types of the conversion-failure check -- basic and better/safe;
+ * formatting support based on the standard I/O Streams and the standard
+ (or user-defined) I/O Stream-based manipulators
+ (like std::hex, std::scientific, etc.);
+ * locale support;
+ * support for boost::range-compliant char and wchar_t-based string containers;
+ * no DefaultConstructibility requirement for the Target type;
+ * consistent framework to uniformly incorporate any type-to-type conversions.
+
+ It is an essential tool with applications making extensive use of
+ configuration files or having to process/prepare considerable amounts
+ of data in, say, XML, etc.
+
+
+Libraries under development
+===========================
+
+
+Please let us know of any libraries you are currently
+developing that you intend to submit for review.
+
+
+Mirror
+------
+:Author: Matus Chochlik
+
+:Download: | http://svn.boost.org/svn/boost/sandbox/mirror/doc/index.html
+ | `Boost Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=mirror.zip>`__
+
+:Description:
+
+ The aim of the Mirror library is to provide useful meta-data at both
+ compile-time and run-time about common C++ constructs like namespaces,
+ types, typedef-ined types, classes and their base classes and member
+ attributes, instances, etc. and to provide generic interfaces for
+ their introspection.
+
+ Mirror is designed with the principle of stratification in mind and
+ tries to be as less intrusive as possible. New or existing classes do
+ not need to be designed to directly support Mirror and no Mirror
+ related code is necessary in the class' definition, as far as some
+ general guidelines are followed
+
+ Most important features of the Mirror library that are currently
+ implemented include:
+
+ * Namespace-name inspection.
+
+ * Inspection of the whole scope in which a namespace is defined
+
+ * Type-name querying, with the support for typedef-ined typenames
+ and typenames of derived types like pointers, references,
+ cv-qualified types, arrays, functions and template names. Names
+ with or without nested-name-specifiers can be queried.
+
+ * Inspection of the scope in which a type has been defined
+
+ * Uniform and generic inspection of class' base classes. One can
+ inspect traits of the base classes for example their types,
+ whether they are inherited virtually or not and the access
+ specifier (private, protected, public).
+
+ * Uniform and generic inspection of class' member attributes. At
+ compile-time the count of class' attributes and their types,
+ storage class specifiers (static, mutable) and some other traits
+ can be queried. At run-time one can uniformly query the names
+ and/or values (when given an instance of the reflected class) of
+ the member attributes and sequentially execute a custom functor
+ on every attribute of a class.
+
+ * Traversals of a class' (or generally type's) structure with user
+ defined visitors, which are optionally working on an provided
+ instance of the type or just on it's structure without any
+ run-time data. These visitors are guided by Mirror through the
+ structure of the class and optionally provided with contextual
+ information about the current position in the traversal.
+
+ I'm hoping to have it review ready in the next few months.
+
+
+Interval Template Library
+-------------------------
+:Author: Joachim Faulhaber
+
+:Description:
+
+ The Interval Template Library (Itl) provides intervals
+ and two kinds of interval containers: Interval_sets and
+ interval_maps. Interval_sets and maps can be used just
+ as sets or maps of elements. Yet they are much more
+ space and time efficient when the elements occur in
+ contiguous chunks: intervals. This is obviously the case
+ in many problem domains, particularly in fields that deal
+ with problems related to date and time.
+
+ Interval containers allow for intersection with interval_sets
+ to work with segmentation. For instance you might want
+ to intersect an interval container with a grid of months
+ and then iterate over those months.
+
+ Finally interval_maps provide aggregation on
+ associated values, if added intervals overlap with
+ intervals that are stored in the interval_map. This
+ feature is called aggregate on overlap. It is shown by
+ example:
+
+ ::
+
+ typedef set<string> guests;
+ interval_map<time, guests> party;
+ guests mary; mary.insert("Mary");
+ guests harry; harry.insert("Harry");
+ party += make_pair(interval<time>::rightopen(20:00, 22:00),mary);
+ party += make_pair(interval<time>::rightopen_(21:00, 23:00),harry);
+ // party now contains
+ [20:00, 21:00)->{"Mary"}
+ [21:00, 22:00)->{"Harry","Mary"} //guest sets aggregated on overlap
+ [22:00, 23:00)->{"Harry"}
+
+ As can be seen from the example an interval_map has both
+ a decompositional behavior (on the time dimension) as well as
+ a accumulative one (on the associated values).
+
+StlConstantTimeSize
+-------------------
+:Author: Vicente J. Botet Escriba
+
+:Download: `Boost Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&filename=constant_time_size.zip&amp;directory=Containers&amp;>`__
+
+:Description:
+
+ Boost.StlConstantTimeSize Defines a wrapper to the stl container list
+ giving the user the chioice for the complexity of the size function:
+ linear time, constant time or quasi-constant. In future versions the
+ library could include a similar wrapper to slist.
+
+
+InterThreads
+------------
+:Author: Vicente J. Botet Escriba
+
+:Download: `Boost Vault <http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=interthreads.zip&amp;directory=Concurrent%20Programming&amp;>`__
+
+:Description:
+
+ Boost.InterThreads extends Boost.Threads adding some features:
+
+ * thread decorator: thread_decorator allows to define
+ setup/cleanup functions which will be called only once by
+ thread: setup before the thread function and cleanup at thread
+ exit.
+ * thread specific shared pointer: this is an extension of the
+ thread_specific_ptr providing access to this thread specific
+ context from other threads. As it is shared the stored pointer
+ is a shared_ptr instead of a raw one.
+ * thread keep alive mechanism: this mechanism allows to detect
+ threads that do not prove that they are alive by calling to the
+ keep_alive_point regularly. When a thread is declared dead a
+ user provided function is called, which by default will abort
+ the program.
+ * thread tuple: defines a thread groupe where the number of
+ threads is know statically and the threads are created at
+ construction time.
+ * set_once: a synchonizer that allows to set a variable only once,
+ notifying to the variable value to whatever is waiting for that.
+ * thread_tuple_once: an extension of the boost::thread_tuple which
+ allows to join the thread finishing the first, using for that
+ the set_once synchronizer.
+ * thread_group_once: an extension of the boost::thread_group which
+ allows to join the thread finishing the first, using for that
+ the set_once synchronizer.
+
+
+ (thread_decorator and thread_specific_shared_ptr) are based on the
+ original implementation of threadalert written by Roland Schwarz.
+
+ Boost.InterThreads extends Boost.Threads adding thread setup/cleanup
+ decorator, thread specific shared pointer, thread keep alive
+ mechanism and thread tuples.
+
+
+Channel
+-------
+:Author: Yigong Liu
+
+:Download: http://channel.sourceforge.net
+
+:Description:
+ Channel is a C++ template library to provide name spaces for distributed
+ message passing and event dispatching. Message senders and receivers bind to
+ names in name space; binding and matching rules decide which senders will
+ bind to which receivers (the binding-set); then message passing could happen
+ among bound senders and receivers.
+
+ The type of name space is a template parameter of Channel. Various name
+ spaces (linear/hierarchical/associative) can be used for different
+ applications. For example, integer ids can be used to send messages in
+ linear name space, string path name ids (such as "/sports/basketball") can
+ be used to send messages in hierarchical name space and regex patterns or
+ Linda tuple-space style tuples can be used to send messages in associative
+ name space.
+
+ Dispatcher is another configurable template parameter of Channel; which
+ dispatch messages/events from senders to bounded receivers. The design of
+ dispatchers can vary in several dimensions:
+ how msgs move: push or pull;
+ how callbacks executed: synchronous or asynchronous.
+ Sample dispatchers includes : synchronous broadcast dispatcher, asynchronous
+ dispatchers with choice_arbiter and join_arbiters.
+
+ Name space and dispatchers are orthogonal; they can mix and match together
+ freely. Name spaces and name-binding create binding-sets for sender and
+ receiver, and dispatchers are algorithms defined over the binding-set.
+
+ Distributed channels can be connected to allow transparent distributed
+ message passing. Filters and translators are used to control name space
+ changes.
+
+
+Bitfield
+--------
+:Authot: Vicente Botet
+
+:Download:
+
+:Description:
+
+I have adapted the Bitfield library from Emile Cormier with its
+permision and I would like you add it to the libraries under
+developement list. The library is quite stable but I want to add some
+test with Boost.Endian before adding it to the formal review schedule
+list.
+
+Boost.Bitfield consists of:
+ * a generic bitfield traits class providing generic getter and setter methods.
+ * a BOOST_BITFIELD_DCL macro making easier the definition of the
+ bitfield traits and the bitfield getter and setter functions::
+
+ struct X {
+ typedef boost::ubig_32 storage_type;
+ storage_type d0;
+ typedef unsigned int value_type;
+ BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d00, 0, 10);
+ BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d01, 11, 31);
+ };
+
+
+Synchro
+-------
+:Author: Vicente Botet
+
+:Download: `Boost Vault: <http://www.boostpro.com/vault/index.php?action=downloadfile&filename=synchro.zip&directory=Concurrent%20Programming&>`__
+ `Boost Sandbox: <https://svn.boost.org/svn/boost/sandbox/synchro>`__
+ Html doc included only on the Vault
+
+:Description: Synchro provides:
+
+* A uniform usage of Boost.Thread and Boost.Interprocess
+ synchronization mechanisms based on lockables(mutexes) concepts and
+ locker(guards) concepts.
+
+ * lockables traits and lock generators,
+ * generic free functions on lockables as: `lock`, `try_lock`, ...
+ * locker adapters of the Boost.Thread and Boost.Interprocess lockers models,
+ * complete them with the corresponding models for single-threaded
+ programms: `null_mutex` and `null_condition` classes,
+ * locking families,
+ * `semaphore` and `binary_semaphore`,
+ * `condition_lockable` lock which put toghether a lock and its
+ associated conditions.
+
+* A coherent exception based timed lock approach for functions and constructors,
+
+* A rich palete of lockers as
+
+ * `strict_locker`, `nested_strict_locker`,
+ * `condition_locker`,
+ * `reverse_locker`, `nested_reverse_locker`,
+ * `locking_ptr`, `on_derreference_locking_ptr`,
+ * `externally_locked`,
+
+* `array_unique_locker` on multiple lockables.
+
+* Generic free functions on multiple lockables `lock`, `try_lock`,
+ `lock_until`, `lock_for`, `try_lock_until`, `try_lock_for`, `unlock`
+
+* lock adapters of the Boost.Thread and Boost.Interprocess lockable models,
+
+* `lock_until`, `lock_for`, `try_lock_until`, `try_lock_for`
+
+* A polymorphic lockable hierarchy.
+
+* High-level abstractions for handling more complicated
+ synchronization problems, including
+
+ * `monitor` for guaranteeing exclusive access to an object.
+
+* A rendezvous mechanism for handling direct communication between
+ objects `concurrent_components` via `ports` using an
+ accept-synchronize protocol based on the design of the concurrency
+ library in the Beta language.
+
+* Language-like Synchronized Block Macros
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk