mirror of
https://github.com/boostorg/website.git
synced 2026-01-19 04:42:17 +00:00
801 lines
38 KiB
HTML
801 lines
38 KiB
HTML
<!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 December 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-v2/section-development.css" />
|
|
<!--[if IE]> <style type="text/css"> body { behavior: url(../style-v2/csshover.htc); } </style> <![endif]-->
|
|
</head><!--
|
|
Note: Editing website content is documented at:
|
|
https://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 December 2009</h1>
|
|
</div>
|
|
|
|
<div class="section-body">
|
|
<h2><a name="news" id="news"></a>News</h2>
|
|
<p>Polygon Library Accepted</p>
|
|
<dl class="docutils">
|
|
<dt>Boost 1.40 Released</dt>
|
|
<dd>New Libraries: None
|
|
Revised Libraries: Accumulators, Asio, Circular Buffer, Filesystem, Foreach, Function, Fusion, Hash, Interprocess, Intrusive, MPL, Program Options, Proto, Python, Serialization, Unordered, Xpressive</dd>
|
|
</dl>
|
|
<p>Geometry Library Accepted</p>
|
|
<dl class="docutils">
|
|
<dt>Boost 1.41 Released</dt>
|
|
<dd>New Libraries: Property Tree
|
|
Revised Libraries: DateTime, Filesystem, Iostreams, Math, Multi-index Containers, Proto, Python, Regex, Spirit, System, Thread, Unordered, Utility, Wave, Xpressive</dd>
|
|
</dl>
|
|
<p>MSM Library Review Underway</p>
|
|
<p>Constrained Value Review - Review Result still Pending</p>
|
|
</div>
|
|
<div class="section" id="older-issues">
|
|
<h1>Older Issues</h1>
|
|
<p>The Time Series Library, accepted in August 2007, has not yet been
|
|
submitted to SVN.</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.</p>
|
|
<p>For libraries that are still waiting to get into SVN, please get them
|
|
ready and into the repository. The developers did some great work
|
|
making the libraries, so don't miss the chance to share that work with
|
|
others.</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, "garcia at osl dot iu dot edu"
|
|
and "phillips at mps dot ohio-state dot edu" 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>
|
|
<p>The included review queue isn't a classic queue. It is more an unordered list of the libraries awaiting review. As such, any library in the queue can be reviewed once the developer is ready and a review manager works with the wizards and the developer to schedule a review. It is not FIFO.</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>Task</li>
|
|
<li>Endian</li>
|
|
<li>Conversion</li>
|
|
<li>Sorting</li>
|
|
<li>GIL.IO</li>
|
|
<li>AutoBuffer</li>
|
|
<li>String Convert</li>
|
|
<li>Move</li>
|
|
<li>Containers</li>
|
|
<li>Interval Containers</li>
|
|
<li>Type Traits Extensions</li>
|
|
<li>Interthreads</li>
|
|
<li>Bitfield</li>
|
|
<li>Lockfree</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 Neibler</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&filename=boost.lexer.zip&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?&direction=0&order=&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/</a></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/</a></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 "join-patterns" 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&filename=Pimpl.zip&directory=&">Boost Vault</a></div>
|
|
<div class="line"><a class="reference external" href="http://www.ddj.com/cpp/205918714">http://www.ddj.com/cpp/205918714</a> (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="task">
|
|
<h2>Task</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;filename=boost-threadpool.2.tar.gz&amp;directory=Concurrent%20Programming">Boost Vault</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">Formerly called Thread Pool
|
|
The library provides:
|
|
* thread creation policies:</p>
|
|
<blockquote>
|
|
<ul class="simple">
|
|
<li>determines the management of worker threads:</li>
|
|
<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>
|
|
</blockquote>
|
|
<ul class="last">
|
|
<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 newest 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 -> <tt class="docutils literal"><span class="pre">this_thread::interruption_point()</span></tt> ).</p>
|
|
</li>
|
|
</ul>
|
|
</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">Beman Dawes</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://mysite.verizon.net/beman/endian-0.10.zip">http://mysite.verizon.net/beman/endian-0.10.zip</a></td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body"></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;filename=conversion.zip&amp;directory=Utilities&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;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 >>) 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.</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 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.</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">Needed</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;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:</p>
|
|
<blockquote>
|
|
<ul class="simple">
|
|
<li>throwing and non-throwing conversion-failure behavior;</li>
|
|
<li>support for the default value to be returned when conversion fails;</li>
|
|
<li>two types of the conversion-failure check -- basic and better/safe;</li>
|
|
<li>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.);</li>
|
|
<li>locale support;</li>
|
|
<li>support for boost::range-compliant char and wchar_t-based string containers;</li>
|
|
<li>no DefaultConstructibility requirement for the Target type;</li>
|
|
<li>consistent framework to uniformly incorporate any type-to-type conversions.</li>
|
|
</ul>
|
|
</blockquote>
|
|
<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 class="section" id="move">
|
|
<h2>Move</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">Ion Gaztanaga</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://svn.boost.org/svn/boost/sandbox/move/">http://svn.boost.org/svn/boost/sandbox/move/</a> and online documentation at <a class="reference external" href="http://svn.boost.org/svn/boost/sandbox/move/libs/move/doc/html/index.html">http://svn.boost.org/svn/boost/sandbox/move/libs/move/doc/html/index.html</a></td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body">In C++0x, move semantics are implemented with the introduction of
|
|
rvalue references. They allow us to implement move() without verbosity
|
|
or runtime overhead. Boost.Move is a library that offers tools to
|
|
implement those move semantics not only in compilers with rvalue
|
|
references but also in compilers conforming to C++03.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="section" id="containers">
|
|
<h2>Containers</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">Ion Gaztanaga</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.boostpro.com/vault/index.php?action=downloadfile&filename=boost.move.container">http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.move.container</a>.zip&directory=Containers&</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Documentation:</th><td class="field-body"><a class="reference external" href="http://svn.boost.org/svn/boost/sandbox/move/libs/container/doc/html/index.html">http://svn.boost.org/svn/boost/sandbox/move/libs/container/doc/html/index.html</a></td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body">Boost.Container library implements several well-known containers,
|
|
including STL containers. The aim of the library is to offers advanced
|
|
features not present in standard containers or to offer the latest
|
|
standard draft features for compilers that comply with C++03.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="section" id="interval-containers-library">
|
|
<h2>Interval Containers 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">Download:</th><td class="field-body"><p class="first"><a class="reference external" href="http://www.boostpro.com/vault/index.php?action=downloadfile&filename=itl_3_2_0.zip&directory=Containers">http://www.boostpro.com/vault/index.php?action=downloadfile&filename=itl_3_2_0.zip&directory=Containers</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Documentation:</th><td class="field-body"><p class="first"><a class="reference external" href="http://herold-faulhaber.de/boost_itl/doc/libs/itl/doc/html/index.html">http://herold-faulhaber.de/boost_itl/doc/libs/itl/doc/html/index.html</a></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">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<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"}
|
|
</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="type-traits-extensions">
|
|
<h2>Type Traits Extensions</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">Frederic Bron</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://svn.boost.org/trac/boost/browser/sandbox/type_traits">http://svn.boost.org/trac/boost/browser/sandbox/type_traits</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">The purpose of the addition is to add type traits to detect if types T and U
|
|
are comparable in the sense of <, <=, >, >=, == or != operators, i.e. if
|
|
t<u has a sens when t is of type T and u of type U (same for <=, >, >=, ==,
|
|
!=).</p>
|
|
<p>The following traits are added:</p>
|
|
<p>is_equal_to_comparable<T,U>
|
|
is_greater_comparable<T,U>
|
|
is_greater_equal_comparable<T,U>
|
|
is_less_comparable<T,U>
|
|
is_less_equal_comparable<T,U>
|
|
is_not_equal_to_comparable<T,U></p>
|
|
<p>The names are based on the corresponding names of the standard
|
|
template library (<functional> header, section 20.3.3 of the
|
|
standard).</p>
|
|
<p class="last">The code has the following properties:
|
|
* returns true if t<u is meaningful and returns a value convertible to bool
|
|
* returns false if t<u is meaningless.
|
|
* fails with compile time error if t<u is meaningful and returns void
|
|
(a possibility to avoid compile time error would be to return true
|
|
with an operator, trick but this has little sens as returning false
|
|
would be better)</p>
|
|
</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">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;filename=interthreads.zip&amp;directory=Concurrent%20Programming&amp;">Boost Vault</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><dl class="first docutils">
|
|
<dt>Boost.InterThreads extends Boost.Threads adding some features:</dt>
|
|
<dd><ul class="first last 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>
|
|
</dd>
|
|
</dl>
|
|
<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="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">Author:</th><td class="field-body"><p class="first">Vicente J. Botet Escriba</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://svn.boost.org/svn/boost/sandbox/bitfield">http://svn.boost.org/svn/boost/sandbox/bitfield</a> with documentation available at <a class="reference external" href="http://svn.boost.org/svn/boost/sandbox/bitfield/libs/integer/doc/index.html">http://svn.boost.org/svn/boost/sandbox/bitfield/libs/integer/doc/index.html</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><dl class="first last docutils">
|
|
<dt>Portable bitfields traits. Boost.Bitfield consists of:</dt>
|
|
<dd><ul class="first last simple">
|
|
<li>a generic bitfield traits class providing generic getter and setter methods.</li>
|
|
<li>a BOOST_BITFIELD_DCL macro making easier the definition of the bitfield traits and the bitfield getter and setter functions.</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="section" id="lockfree">
|
|
<h2>Lockfree</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">Tim Blechmann</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;filename=boost_lockfree-241109.zip&amp;directory=Concurrent%20Programming&amp">http://www.boostpro.com/vault/index.php?action=downloadfile&amp;filename=boost_lockfree-241109.zip&amp;directory=Concurrent%20Programming&amp</a>;</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Documentation:</th><td class="field-body"><p class="first"><a class="reference external" href="http://tim.klingt.org/boost_lockfree/">http://tim.klingt.org/boost_lockfree/</a></p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">boost.lockfree provides implementations of lock-free data structures.
|
|
lock-free data structures can be accessed by multiple threads without
|
|
the necessity of blocking synchronization primitives such as guards.
|
|
lock-free data structures can be used in real-time systems, where
|
|
blocking algorithms may lead to high worst-case execution times, to
|
|
avoid priority inversion, or to increase the scalability for
|
|
multi-processor machines.</p>
|
|
<dl class="last docutils">
|
|
<dt>boost.lockfree provides:</dt>
|
|
<dd><ul class="first last simple">
|
|
<li>boost::lockfree::fifo, a lock-free fifo queue</li>
|
|
<li>boost::lockfree::stack, a lock-free stack</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>the code is available from from my personal git repository:</dt>
|
|
<dd><ul class="first last simple">
|
|
<li>git://tim.klingt.org/boost_lockfree.git</li>
|
|
<li><a class="reference external" href="http://tim.klingt.org/git?p=boost_lockfree.git">http://tim.klingt.org/git?p=boost_lockfree.git</a></li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="libraries-under-development">
|
|
<h1>Libraries under development</h1>
|
|
<div class="section" id="persistent">
|
|
<h2>Persistent</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">Tim Blechmann</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="field"><th class="field-name">Description:</th><td class="field-body"><p class="first">A library, based on Boost.Serialization, that provides access to persistent
|
|
objects with an interface as close as possible to accessing regular objects
|
|
in memory.</p>
|
|
<ul class="simple">
|
|
<li>object ownership concepts equivalent to the ones used by Boost.SmartPtr:
|
|
shared, weak, scoped (and raw)</li>
|
|
<li>ACID transactions, including recovery after a crash and "Serializable"
|
|
isolation level</li>
|
|
<li>concurrent transactions, nested transactions, distributed transactions</li>
|
|
<li>concurrent access containers: STL containers whose nodes are implemented as
|
|
persistent objects and can be accessed without moving the container to
|
|
memory. Concurrent transactions modifying the container are only repeated in
|
|
the rare cases the same container node is changed simultanisouly by 2
|
|
threads.</li>
|
|
<li>extensible by other transactional resources, e.g. an object relational
|
|
mapper based on the upcoming Boost.Rdb library. Multiple resources can be
|
|
combined to one database, with distributed transactions among them.</li>
|
|
</ul>
|
|
<p class="last">Please let us know of any libraries you are currently
|
|
developing that you intend to submit for review.</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>See <a class="reference external" href="http://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction">http://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction</a>
|
|
for a current listing of libraries under development.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|