From 4d80142e5bd41f482dac98fc0cd1c53d76ca209e Mon Sep 17 00:00:00 2001 From: Daniel James Date: Wed, 28 Nov 2007 23:40:38 +0000 Subject: [PATCH 01/18] Move the review wizard reports to the new site. I'm not sure about how this is organized - I would the expect the review schedule (currently in community/reviews) and reports to be together. Refs #1368. [SVN r41447] --- report-apr-2006.html | 278 ---------------------------- report-jan-2006.html | 325 --------------------------------- report-nov-2007.html | 423 ------------------------------------------- report-sep-2007.html | 329 --------------------------------- 4 files changed, 1355 deletions(-) delete mode 100644 report-apr-2006.html delete mode 100644 report-jan-2006.html delete mode 100644 report-nov-2007.html delete mode 100644 report-sep-2007.html diff --git a/report-apr-2006.html b/report-apr-2006.html deleted file mode 100644 index 0512c08..0000000 --- a/report-apr-2006.html +++ /dev/null @@ -1,278 +0,0 @@ - - - - - - -Review Wizard Status Report for April 2006 - - - -
-

Review Wizard Status Report for April 2006

-
-

News

-

April 1, 2006 -- The "Promotion Traits" Review Begins (Fast-Track) -Proposal to add promote, integral_promotion and -floating_point_promotion class templates to type_traits library.

-

April 6, 2006 -- The "Function Types" Review Begins (Fast-Track) -This library provides a metaprogramming facility -to classify, decompose and synthesize function-, function pointer-, -function reference- and member function pointer types.

-

March 22, 2006 -- Asio Accepted -Announcement: http://lists.boost.org/Archives/boost/2006/03/102287.php

-

February 17, 2006 - Shared Memory Library Accepted -Announcement: http://lists.boost.org/boost-announce/2006/02/0083.php

-

February 5, 2006 - Fixed String Library Rejected -Announcement: http://lists.boost.org/boost-announce/2006/02/0081.php

-

We need experienced review managers. Please take a look at -the list of libraries in need of managers and check out their -descriptions. If you can serve as review manager for any of -them, email Ron Garcia or Tom Brinkman "garcia at cs dot indiana dot edu" -and "reportbase at gmail dot com" respectively.

-

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 Tom.

-

If you're library author and plan on submitting a library for review -in the next 3-6 months, send Ron or Tom a -short description of your library and we'll add it to the -Libraries Under Construction below. We know that there are many -libaries that are near completion, but we have hard time keeping -track all of them. Please keep us informed about your progress.

-
-
-

Review Queue

-
-
    -
  • Promotion Traits - April 1, 2006 (fast-track)
  • -
  • Function Types - April 6, 2006 (fast-track)
  • -
  • Fusion
  • -
  • Pimpl Pointer
  • -
  • Property Tree
  • -
  • Physical Quantities System
  • -
  • Intrusive Containers
  • -
-
-
-
-

Function Types (mini-re-review)

-
- --- - - - - - - - - - -
Author:Tobias Schwinger
Review Manager:Tom Brinkman
Download:http://boost-sandbox.sourceforge.net/vault/
Description:

This library provides a metaprogramming facility to classify, -decompose and synthesize function-, function pointer-, function -reference- and member function pointer types. For the purpose of -this documentation, these types are collectively referred to as -function types (this differs from the standard definition and -redefines the term from a programmer's perspective to refer to -the most common types that involve functions).

-

The classes introduced by this library shall conform to the -concepts of the Boost Metaprogramming library (MPL).

-
-
The Function Types library enables the user to:
-
    -
  • test an arbitrary type for being a function type of specified kind,
  • -
  • inspect properties of function types,
  • -
  • view and modify sub types of an encapsulated function type with -MPL Sequence operations, and
  • -
  • synthesize function types.
  • -
-
-
-

This library supports variadic functions and can be configured -to support non-default calling conventions.

-
-
-
-
-

Promotion Traits

-
- --- - - - - - - - - - -
Author:Alexander Nasonov
Review Manager:Tobias Schwinger
Download:http://cpp-experiment.sourceforge.net/promote-20050917.tar.gz
Description:

Proposal to add promote, integral_promotion and -floating_point_promotion class templates to type_traits library.

-

Alexander tried it on different compilers with various success: -GNU/Linux (gentoo-hardened): gcc 3.3 and 3.4, Intel 7, 8 and 9 -Windows: VC7 free compiler -Sparc Solaris: Sun C++ 5.3 and 5.7

-

See comments at the beginning of -promote_enum_test.cpp for what is broken.

-
-
-
-
-

Intrusive Containers

-
- --- - - - - - - - - - -
Author:Olaf Krzikalla
Review Manager:Thorsten Ottosen
Download:http://people.freenet.de/turtle++/intrusive.zip
Description:While intrusive containers were and are widely used in C, they became -more and more forgotten in the C++-world due to the presence of the -standard containers, which don't support intrusive -techniques. Boost.Intrusive not only reintroduces this technique to -C++, but also encapsulates the implementation in STL-like -interfaces. Hence anyone familiar with standard containers can use -intrusive containers with ease.
-
-
-
-

Fusion

-
- --- - - - - - - - - - -
Author:Joel de Guzman
Review Manager:Ron Garcia
Download:http://spirit.sourceforge.net/dl_more/fusion_v2/ -http://spirit.sourceforge.net/dl_more/fusion_v2.zip
Description:

Fusion is a library of heterogenous containers and views and -algorithms. A set of heterogenous containers (vector, list, set and -map) is provided out of the box along with view classes that present -various composable views over the data. The containers and views -follow a common sequence concept with an underlying iterator concept -that binds it all together, suitably making the algorithms fully -generic over all sequence types.

-

The architecture is somewhat modeled after MPL which in turn is -modeled after STL. It is code-named "fusion" because the library is -the "fusion" of compile time metaprogramming with runtime programming.

-
-
-
-
-

Pimpl Pointer

-
- --- - - - - - - - - - -
Author:Asger Mangaard
Review Manager:Need Volunteer
Download:Boost Sandbox (http://boost-consulting.com/vault/) under pimpl_ptr.
Description:The pimpl idiom is widely used to reduce compile times and disable -code coupling. It does so by moving private parts of a class from the -.hpp file to the .cpp file. -However, it's implementation can be tricky, and with many pitfalls -(especially regarding memory management). -The pimpl_ptr library is a single header file, implementing a special -policy based smart pointer to greately ease the implementation of the -pimpl idiom.
-
-
-
-

Property Tree

-
- --- - - - - - - - - - -
Author:Marcin Kalicinski
Review Manager:Need Volunteer
Download:Boost Sandbox Vault - property_tree_rev4.zip -http://kaalus.atspace.com/ptree
Description:Property tree is a data structure - a tree of (key, value) -pairs. It differs from its cousin, "usual" property map, because -it is hierarchical, not linear. Thus, it is more like a -minimalistic Document Object Model, but not bound to any -specific file format. It can store contents of XML files, -windows registry, JSON files, INI files, even command line -parameters. The library contains parsers for all these formats, -and more.
-
-
-
-

Physical Quantities System

-
- --- - - - - - - - - - -
Author:Andy Little
Review Manager:Need Volunteer
Download:http://tinyurl.com/7m5l8
Description:PQS (Physical Quantities System) is used for modelling -physical-quantities in C++ programs. The advantages over using -built-in types in the role include: trapping errors in -dimensional analysis, detailed semantic specifications for -reliable and repeatable conversions between units and -self-documentation of source code. PQS is based around the -principles and guidelines of the International System of Units -(SI). The library predefines a large number of quantities, -physical and maths constants using a common syntax. The library -also includes (or will soon include) classes for manipulating -quantities algebraically, for example angles (radians, -steradians, degrees,minutes,seconds) and vectors, matrices and -quaternions for more advanced modelling of physical systems.
-
-
-
-
-

Libraries under development

-

Geometry Library - Author - Andy Little (?)

-

C2_functions Library - Author - Marcus Mendenhall

-

Please let us know of any libraries you are currently -developing that you intend to submit for review.

-
-
- - - - diff --git a/report-jan-2006.html b/report-jan-2006.html deleted file mode 100644 index f1a557f..0000000 --- a/report-jan-2006.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - -Review Wizard Status Report for January 2006 - - - -
-

Review Wizard Status Report for January 2006

-
-

News

-

Happy New Year! Here are some statistics regarding Boost Library -reviews in 2005:

-
-
    -
  • 12 Libraries were reviewed
  • -
  • 8 Libraries were accepted
  • -
  • 1 Library (Function Types) was accepted pending a mini-review
  • -
  • 2 Libraries were rejected
  • -
  • 1 Library has yet to receive a final verdict (ASIO)
  • -
-
-

Policy Pointer has been removed from the review queue because the author has -stated that it is not quite ready.

-

We need review managers. Please take a look at the list of libraries -in need of managers and check out their descriptions. If you can -serve as review manager for any of them, send one of us an email.

-
-
Note:
-
If you have any suggestions about how we could improve -the Review Wizard's status report, -please email "reportbase at gmail dot com" -and "garcia at cs dot indiana dot edu".
-
-
-
-

Review Managers Needed

-

There are a few libraries in the review queue in need -of review managers. If you would like to volunteer to be a review -manager, please contact Ron or Tom.

-

The following libraries still require review managers:

-
-
    -
  • Fusion
  • -
  • Shmem
  • -
  • Pimpl Pointer
  • -
  • Type Traits (modification)
  • -
  • Function Types
  • -
-
-
-
-

Review Queue

-
-
    -
  • Fixed Strings - January 19 2006 - January 28 2006
  • -
  • Intrusive Containers
  • -
  • Function Types (mini-re-review)
  • -
  • Shmem
  • -
  • Fusion
  • -
  • Pimpl Pointer
  • -
  • Type Traits (modification)
  • -
-
-
-
-

Fixed Strings

-
- --- - - - - - - - - - -
Author:Reece Dunn
Review Manager:Harmut Kaiser
Download:Boost Sandbox (http://boost-sandbox.sourceforge.net/) under fixed_string
Description:The fixed string library provides buffer overrun protection for static -sized strings (char s[ n ]). It provides a C-style string -interface for compatibility with C code (for -example, porting a C program to C++). -There is also a std::string-style interface using a class based on -flex_string by Andre Alexandrescu with a few limitations due to the -non-resizable nature of the class.
-
-
-
-

Intrusive Containers

-
- --- - - - - - - - - - -
Author:Olaf Krzikalla
Review Manager:to be determined
Download:http://people.freenet.de/turtle++/intrusive.zip
Description:While intrusive containers were and are widely used in C, they became -more and more forgotten in the C++-world due to the presence of the -standard containers, which don't support intrusive -techniques. Boost.Intrusive not only reintroduces this technique to -C++, but also encapsulates the implementation in STL-like -interfaces. Hence anyone familiar with standard containers can use -intrusive containers with ease.
-
-
-
-

Function Types (mini-re-review)

-
- --- - - - - - - - - - -
Author:

Tobias Schwinger

-
Review Manager:

to be determined

-
Download:

http://boost-sandbox.sourceforge.net/vault/

-
Description:
-
This library provides a metaprogramming facility
-

to classify, decompose and synthesize function-, -function pointer-, function reference- and -member function pointer types. For the purpose -of this documentation, these types are -collectively referred to as function -types (this differs from the standard -definition and redefines the term from -a programmer's perspective to refer to -the most common types that involve functions).

-
-
The classes introduced by this library
-

shall conform to the concepts of the -Boost Metaprogramming library (MPL).

-
-
The Function Types library enables the user to:
-
    -
  • test an arbitrary type for -being a function type of specified kind,
  • -
  • inspect properties of function types,
  • -
  • view and modify sub types of an -encapsulated function type with -MPL Sequence operations, and
  • -
  • synthesize function types.
  • -
-
-
This library supports variadic functions and
-

can be configured to support -non-default calling conventions.

-
-
-
-
-
-
-

Shmem

-
- --- - - - - - - - - - -
Author:

Ion Gaztanaga

-
Review Manager:

to be determined

-
Download:

Boost Sandbox Vault -> Memory (http://boost-sandbox.sourceforge.net/vault/index.php?direction=0&order=&directory=Memory)

-

http://ice.prohosting.com/newfunk/boost/libs/shmem/doc/html/index.html

-
Description:

Shmem offers tools to simplify shared memory usage in -applications. These include shared memory creation/destruction and -synchronization objects. It also implements dynamic allocation of -portions of a shared memory segment and an easy way to construct C++ -objects in shared memory.

-

Apart from this, Shmem implements a wide range of STL-like containers -and allocators that can be safely placed in shared memory, helpful to -implement complex shared memory data-bases and other efficient -inter-process communications.

-
-
-
-
-

Fusion

-
- --- - - - - - - - - - -
Author:

Joel de Guzman

-
Review Manager:

to be determined

-
Download:

http://spirit.sourceforge.net/dl_more/fusion_v2/ -http://spirit.sourceforge.net/dl_more/fusion_v2.zip

-
Description:

Fusion is a library of heterogenous containers and views and -algorithms. A set of heterogenous containers (vector, list, set and -map) is provided out of the box along with view classes that present -various composable views over the data. The containers and views -follow a common sequence concept with an underlying iterator concept -that binds it all together, suitably making the algorithms fully -generic over all sequence types.

-

The architecture is somewhat modeled after MPL which in turn is -modeled after STL. It is code-named "fusion" because the library is -the "fusion" of compile time metaprogramming with runtime programming.

-
-
-
-
-

Pimpl Pointer

-
- --- - - - - - - - - - -
Author:Asger Mangaard
Review Manager:to be determined
Download:Boost Sandbox (http://boost-consulting.com/vault/) under pimpl_ptr.
Description:The pimpl idiom is widely used to reduce compile times and disable -code coupling. It does so by moving private parts of a class from the -.hpp file to the .cpp file. -However, it's implementation can be tricky, and with many pitfalls -(especially regarding memory management). -The pimpl_ptr library is a single header file, implementing a special -policy based smart pointer to greately ease the implementation of the -pimpl idiom.
-
-
-
-

Type_Traits (modification)

-
- --- - - - - - - - - - -
Author:

Alexander Nasonov

-
Review Manager:

to be determined

-
Download:

http://cpp-experiment.sourceforge.net/promote-20050917.tar.gz -or http://cpp-experiment.sourceforge.net/promote-20050917/

-
Description:

Proposal to add promote, integral_promotion and -floating_point_promotion class templates to type_traits library.

-

Alexander tried it on different compilers with various success: -GNU/Linux (gentoo-hardened): gcc 3.3 and 3.4, Intel 7, 8 and 9 -Windows: VC7 free compiler -Sparc Solaris: Sun C++ 5.3 and 5.7

-

See comments at the beginning of promote_enum_test.cpp for what is broken. -http://cpp-experiment.sourceforge.net/promote-20050917/libs/type_traits/test/promote_enum_test.cpp

-

Alexander requests a fast-track review.

-
-
-
-
-
-

Libraries under development

-
-

Property Tree

-
- --- - - - - - -
Author:Marcin Kalicinski
Download:Boost Sandbox Vault (http://boost-consulting.com/vault/) -property_tree_rev3.zip
-
-

Please let us know of any libraries you are currently -developing that you intend to submit for review.

-
-
-
- - - diff --git a/report-nov-2007.html b/report-nov-2007.html deleted file mode 100644 index 7d30787..0000000 --- a/report-nov-2007.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - -Review Wizard Status Report for November 2007 - - - -
-

Review Wizard Status Report for November 2007

-
-

News

-
-
November 7, 2007 - Exception Library Accepted
-
Announcement: http://lists.boost.org/boost-users/2007/11/31912.php
-
-

We need experienced review managers. 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 cs dot indiana dot edu" -and "jphillip at capital dot edu" respectively.

-

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 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

-
    -
  • Finite State Machines
  • -
  • Floating Point Utilities
  • -
  • Switch
  • -
  • Property Map (fast-track)
  • -
  • Graph (fast-track)
  • -
  • Forward (fast-track)
  • -
  • Singleton (fast-track)
  • -
  • Factory (fast-track)
  • -
  • Lexer
  • -
  • Thread-Safe Signals
  • -
  • Logging
  • -
  • Flyweight
  • -
  • Unordered Containers
  • -
-
-
-

Finite State Machines

- --- - - - - - - - - - -
Author:Andrey Semashev
Review Manager:Martin Vuille
Download:Boost Sandbox Vault
Description:

The Boost.FSM library is an implementation of FSM (stands for -Finite State Machine) programming concept. The main goals of the -library are:

-
    -
  • Simplicity. It should be very simple to create state machines using -this library.
  • -
  • Performance. The state machine infrastructure should not be -very time and memory-consuming in order to be applicable in -more use cases.
  • -
  • Extensibility. A developer may want to add more states to an -existing state machine. A developer should also be able to -specify additional transitions and events for the machine with -minimum modifications to the existing code.
  • -
-
-
-
-

Floating Point Utilities

- --- - - - - - - - - - -
Author:Johan Råde
Review Manager:Need Volunteer
Download:Boost Sandbox Vault
Description:

The Floating Point Utilities library contains the following:

-
    -
  • Floating point number classification functions: fpclassify, isfinite, -isinf, isnan, isnormal (Follows TR1)
  • -
  • Sign bit functions: signbit, copysign, changesign (Follows TR1)
  • -
  • Facets that format and parse infinity and NaN according to the C99 -standard (These can be used for portable handling of infinity and NaN -in text streams).
  • -
-
-
-
-

Switch

- --- - - - - - - - - - -
Author:Steven Watanabe
Review Manager:Need Volunteer
Download:Boost Sandbox Vault
Description:The built in C/C++ switch statement is very efficient. Unfortunately, -unlike a chained if/else construct there is no easy way to use it when -the number of cases depends on a template parameter. The Switch library -addresses this issue.
-
-
-

Property Map (fast-track)

- --- - - - - - - - - - -
Author:Andrew Sutton
Review Manager:Jeremy Siek
Download:http://svn.boost.org/svn/boost/sandbox/graph-v2
Description:

A number of additions and modifications to the Property Map Library, -including:

-
    -
  • A constant-valued property map, useful for naturally unweighted -graphs.
  • -
  • A noop-writing property map, useful when you have to provide an -argument, but just don't care about the output.
  • -
  • See -ChangeLog -for details.
  • -
-
-
-
-

Graph (fast-track)

- --- - - - - - - - - - -
Author:Andrew Sutton
Review Manager:Jeremy Siek
Download:http://svn.boost.org/svn/boost/sandbox/graph-v2
Description:

A number of additions and modifications to the Graph Library, -including:

-
    -
  • Two new graph classes (undirected and directed) which are intended -to make the library more approachable for new developers
  • -
  • A suite of graph measures including degree and closeness -centrality, mean geodesic distance, eccentricity, and clustering -coefficients.
  • -
  • An algorithm for visiting all cycles in a directed graph (Tiernan's -from 1970ish). It works for undirected graphs too, but reports cycles -twice (one for each direction).
  • -
  • An algorithm for visiting all the cliques a graph (Bron&Kerbosch). -Works for both directed and undirected.
  • -
  • Derived graph measures radius and diameter (from eccentricity) and -girth and circumference (from Tiernan), and clique number (from -Bron&Kerbosch).
  • -
  • An exterior_property class that helps hides some of the weirdness -with exterior properties.
  • -
  • runtime and compile-time tests for the new algorithms.
  • -
  • a substantial amount of documentation
  • -
  • Graph cores, implemented by David Gleich (@Stanford University)
  • -
  • Deterministic graph generators - capable of creating or inducing -specific types of graphs over a vertex set (e.g., star graph, wheel -graph, prism graph, etc). There are several other specific types that -could be added to this, but I haven't had the time just yet.
  • -
-
-
-
-

Forward (fast-track)

- --- - - - - - - - - - -
Author:Tobias Schwinger
Review Manager:John Torjo
Download:http://boost-consulting.com/vault/index.php?&direction=0&order=&directory=X-Files
Description:A brute-force solution to the forwarding problem.
-
-
-

Singleton (fast-track)

- --- - - - - - - - - - -
Author:Tobias Schwinger
Review Manager:John Torjo
Download:http://boost-consulting.com/vault/index.php?&direction=0&order=&directory=X-Files
Description:Three thread-safe Singleton templates with an -easy-to-use interface.
-
-
-

Factory (fast-track)

- --- - - - - - - - - - -
Author:Tobias Schwinger
Review Manager:John Torjo
Download:http://boost-consulting.com/vault/index.php?&direction=0&order=&directory=X-Files
Description:Generic factories.
-
-
-

Lexer

- --- - - - - - - - - - -
Author:Ben Hanson
Review Manager:Need Volunteer
Download: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.
-
-
-

Thread-Safe Signals

- --- - - - - - - - - - -
Author:Frank Hess
Review Manager:Need Volunteer
Download:http://www.boost-consulting.com/vault/index.php?&direction=0&order=&directory=thread_safe_signals
Description:A thread-safe implementation of Boost.signals that -has some interface changes to accommodate thread safety, mostly with -respect to automatic connection management.
-
-
-

Logging

- --- - - - - - - - - - -
Author:John Torjo
Review Manager:Need Volunteer
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!
-
-
-

Flyweight

- --- - - - - - - - - - -
Author:Joaquín M López Muñoz
Review Manager:Need Volunteer
Download:http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=flyweight.zip&directory=Patterns
Description:Flyweights are small-sized handle classes granting -constant access to shared common data, thus allowing for the -management of large amounts of entities within reasonable memory -limits. Boost.Flyweight makes it easy to use this common -programming idiom by providing the class template flyweight<T>, -which acts as a drop-in replacement for const T.
-
-
-

Unordered Containers

- --- - - - - - - - - - -
Author:Daniel James
Review Manager:Need Volunteer
Download:http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=unordered.zip&directory=Containers
Description:An implementation of the unordered containers specified -in TR1, with most of the changes from the recent draft standards.
-
-
-
-

Libraries under development

-
-

Dataflow

- --- - - - - - - - -
Author:Stjepan Rajko
Description:The Dataflow library provides generic support for data -producers, consumers, and connections between the two. It also -provides layers for several specific dataflow mechanisms, namely -Boost.Signals, VTK data/display pipelines, and plain -pointers. The Dataflow library came out of the Signal Network -GSoC project, mentored by Doug Gregor.
Status:I am polishing the Dataflow library for submission, and am expecting -to add it to the review queue in the next couple of months. -I am currently ironing out some faults in the design of the library, -filling in missing features, and testing it on / adapting it to -different dataflow mechanisms (currently VTK and soon -Boost.Iostreams). As soon as I'm pretty sure that things are going -the right way, I'll submit this to the review queue while I do the -finishing touches.
-
-
-

Constrained Value

- --- - - - - - - - - - -
Author:Robert Kawulak
Download:

http://rk.go.pl/f/constrained_value.zip

-

http://rk.go.pl/r/constrained_value (Documentation)

-
Description:The Constrained Value library contains class templates -useful for creating constrained objects. The simplest example -of a constrained object is hour. The only valid values for an hour -within a day are integers from the range [0, 23]. With this library, -you can create a variable which behaves exactly like int, but does -not allow for assignment of values which do not belong to the -allowed range. The library doesn't focus only on constrained -objects that hold a value belonging to a specified range (i.e., -bounded objects). Virtually any constraint can be imposed using -appropriate predicate. You can specify what happens in case of -assignment of an invalid value, e.g. an exception may be thrown or -the value may be adjusted to meet the constraint criterions.
Status:I'm planning to finish it in 1-2 months.
-

Please let us know of any libraries you are currently -developing that you intend to submit for review.

-
-
-
- - diff --git a/report-sep-2007.html b/report-sep-2007.html deleted file mode 100644 index 9bfc850..0000000 --- a/report-sep-2007.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - -Review Wizard Status Report for September 2007 - - - -
-

Review Wizard Status Report for September 2007

- -
-

News

-
-
August 17, 2007 -- Time Series Accepted.
-
Announcement: http://lists.boost.org/boost-announce/2007/08/0142.php
-
July 24, 2007 -- Boost Version 1.34.1 Released.
-
This is a bug fix release addressing many problems with the 1.34.0 release. -Announcement: http://svn.boost.org/trac/boost/query?status=closed&milestone=Boost+1.34.1
-
-

We need experienced review managers. 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 cs dot indiana dot edu" -and "jphillip at capital dot edu" respectively.

-

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 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

-
-
    -
  • Exception
  • -
  • Finite State Machines
  • -
  • Floating Point Utilities
  • -
  • Switch
  • -
  • Property Map (fast-track)
  • -
  • Graph (fast-track)
  • -
-
-
-
-

Exception

-
- --- - - - - - - - - - -
Author:

Emil Dotchevski

-
Review Manager:

Need Volunteer

-
Download:

http://www.revergestudios.com/boost-exception/boost-exception.zip

-
Description:

The purpose of this library is to free designers of -exception classes from having to consider what data needs to be -stored in exception objects in order for the catch site to be -able to make sense of what went wrong.

-

When the exception class is used, arbitrary values can be stored -in any exception. This can be done directly in the -throw-expression, or at a later time as the exception object -propagates up the call stack. The ability to add data to any -exception object after it has been thrown is important, because -often some of the information needed to handle an exception is -unavailable at the time of the throw.

-
-
-
-
-

Finite State Machines

-
- --- - - - - - - - - - -
Author:

Andrey Semashev

-
Review Manager:

Martin Vuille

-
Download:

Boost Sandbox Vault

-
Description:

The Boost.FSM library is an implementation of FSM (stands for -Finite State Machine) programming concept. The main goals of the -library are:

-
    -
  • Simplicity. It should be very simple to create state machines using -this library.
  • -
  • Performance. The state machine infrastructure should not be -very time and memory-consuming in order to be applicable in -more use cases.
  • -
  • Extensibility. A developer may want to add more states to an -existing state machine. A developer should also be able to -specify additional transitions and events for the machine with -minimum modifications to the existing code.
  • -
-
-
-
-
-

Floating Point Utilities

-
- --- - - - - - - - - - -
Author:

Johan RÂde

-
Review Manager:

Need Volunteer

-
Download:

Boost Sandbox Vault

-
Description:

The Floating Point Utilities library contains the following:

-
    -
  • Floating point number classification functions: fpclassify, isfinite, -isinf, isnan, isnormal (Follows TR1)
  • -
  • Sign bit functions: signbit, copysign, changesign (Follows TR1)
  • -
  • Facets that format and parse infinity and NaN according to the C99 -standard. (These can be used for portable handling of infinity and NaN -in text streams.)
  • -
-
-
-
-
-

Switch

-
- --- - - - - - - - - - -
Author:Steven Watanabe
Review Manager:Need Volunteer
Download:Boost Sandbox Vault
Description:The built in C/C++ switch statement is very efficient. Unfortunately, -unlike a chained if/else construct there is no easy way to use it when -the number of cases depends on a template parameter. The Switch library -addresses this issue.
-
-
-
-

Property Map (fast-track)

-
- --- - - - - - - - - - -
Author:

Andrew Sutton

-
Review Manager:

Jeremy Siek

-
Download:

http://svn.boost.org/svn/boost/sandbox/graph-v2

-
Description:

A number of additions and modifications to the Property Map Library, -including:

-
-
    -
  • A constant-valued property map, useful for naturally unweighted -graphs.
  • -
  • A noop-writing property map, useful when you have to provide an -argument, but just don't care about the output.
  • -
  • See -ChangeLog -for details.
  • -
-
-
-
-
-
-

Graph (fast-track)

-
- --- - - - - - - - - - -
Author:

Andrew Sutton

-
Review Manager:

Jeremy Siek

-
Download:

http://svn.boost.org/svn/boost/sandbox/graph-v2

-
Description:

A number of additions and modifications to the Graph Library, -including:

-
    -
  • Two new graph classes (undirected and directed) which are intended -to make the library more approachable for new developers
  • -
  • A suite of graph measures including degree and closeness -centrality, mean geodesic distance, eccentricity, and clustering -coefficients.
  • -
  • An algorithm for visiting all cycles in a directed graph (Tiernan's -from 1970ish). It works for undirected graphs too, but reports cycles -twice (one for each direction).
  • -
  • An algorithm for visiting all the cliques a graph (Bron&Kerbosch). -Works for both directed and undirected.
  • -
  • Derived graph measures radius and diameter (from eccentricity) and -girth and circumference (from Tiernan), and clique number (from -Bron&Kerbosch).
  • -
  • An exterior_property class that helps hides some of the weirdness -with exterior properties.
  • -
  • runtime and compile-time tests for the new algorithms.
  • -
  • a substantial amount of documentation
  • -
  • Graph cores, implemented by David Gleich (@Stanford University)
  • -
  • Deterministic graph generators - capable of creating or inducing -specific types of graphs over a vertex set (e.g., star graph, wheel -graph, prism graph, etc). There are several other specific types that -could be added to this, but I haven't had the time just yet.
  • -
-
-
-
-
-
-

Libraries under development

-
-

Dataflow

-
- --- - - - - - - - -
Author:Stjepan Rajko
Description:The Dataflow library provides generic support for data -producers, consumers, and connections between the two. It also -provides layers for several specific dataflow mechanisms, namely -Boost.Signals, VTK data/display pipelines, and plain -pointers. The Dataflow library came out of the Signal Network -GSoC project, mentored by Doug Gregor.
Status:I am polishing the Dataflow library for submission, and am expecting -to add it to the review queue in the next couple of months. -I am currently ironing out some faults in the design of the library, -filling in missing features, and testing it on / adapting it to -different dataflow mechanisms (currently VTK and soon -Boost.Iostreams). As soon as I'm pretty sure that things are going -the right way, I'll submit this to the review queue while I do the -finishing touches.
-
-
-
-

Constrained Value

-
- --- - - - - - - - - - -
Author:

Robert Kawulak

-
Download:

http://rk.go.pl/f/constrained_value.zip

-

http://rk.go.pl/r/constrained_value (Documentation)

-
Description:

The Constrained Value library contains class templates -useful for creating constrained objects. The simplest example -of a constrained object is hour. The only valid values for an hour -within a day are integers from the range [0, 23]. With this library, -you can create a variable which behaves exactly like int, but does -not allow for assignment of values which do not belong to the -allowed range. The library doesn't focus only on constrained -objects that hold a value belonging to a specified range (i.e., -bounded objects). Virtually any constraint can be imposed using -appropriate predicate. You can specify what happens in case of -assignment of an invalid value, e.g. an exception may be thrown or -the value may be adjusted to meet the constraint criterions.

-
Status:

I'm planning to finish it in 1-2 months.

-
-
-

Please let us know of any libraries you are currently -developing that you intend to submit for review.

-
-
-
- - From d5fe243bd89a7bdf0b9f76104260b4308cdb3269 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Thu, 29 Nov 2007 22:34:36 +0000 Subject: [PATCH 02/18] Move the feature model diagrams into the community/C++ section of the beta site. Not a great fit but I couldn't find anywhere better to put it. Fixes #1349. [SVN r41479] --- feature_model_diagrams.htm | 112 ------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 feature_model_diagrams.htm diff --git a/feature_model_diagrams.htm b/feature_model_diagrams.htm deleted file mode 100644 index 2ca017a..0000000 --- a/feature_model_diagrams.htm +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Feature Model Diagrams - - - - -

Boost logo

-

Feature Model Diagrams in text and HTML

-

By Beman Dawes

-

Introduction

-

In their seminal book, Generative Programming, Czarnecki and Eisenecker (C&E)) -describe how to build feature models [C&E 4.4] consisting of a feature -diagram plus semantic, rationale, and other attributes.  Feature models are -then used to drive design cycles which eventually lead to manual or automatic -assembly of configurations.

-

Feature models provide a language to describe the library variability that is -often such an issue in boost.org discussions. The Whorf hypothesis that -"Language shapes the way we think, and determines what we can think -about" seems to apply.  In discussion of library variability issues, -we have been crippled by lack of a good language. With feature models we now -have a language to carry on the dialog.

-

The graphical feature diagrams presented by C&E are not in a suitable -form for the email discussions boost.org depends upon. The hierarchical nature -of feature diagrams can be represented by a simple text-based feature diagram -language.  A feature model can also take advantage of the hyperlinks -inherent in HTML.

-

Grammar

-

The grammar for the feature diagram language is expressed in Extended -Bakus-Naur Form; ::= represents productions, [...] represents options, {...} -represents zero or more instances, and represents | alternatives.

-
-
feature-model       ::= concept-name details { feature }
-
feature             ::= feature-name [details]
-
details             ::= "(" feature-list ")"      // required features
-                      | "[" feature-list "]"      // optional features
-
feature-list        ::= element { "|" element }   // one only
-                      | element { "+" element }   // one or more
-                      | element { "," element }   // all
-                                                  // [a+b] equivalent to [a,b]
-
element             ::= feature
-                      | details
-
concept-name        ::= name
-
feature-name        ::= name
-
-

The usual lexical conventions apply. Names are case-insensitive and consist -of a leading letter, followed by letters, digits, underscores or hyphens, with -no spaces allowed.

-

At least one instance of each name should be hyperlinked to the corresponding -Feature Description.

-

While the grammar is intended for written communication between people, it -may also be trivially machine parsed for use by automatic tools.

-

-

Descriptive information is associated with each concept or feature. According -to [C&E 4.4.2] this includes:

- -

What is a Feature?

-

A feature [C&E 4.9.1] is "anything users or client programs might -want to control about a concept.  Thus, during feature modeling, we -document no only functional features ... but also implementation features, ..., -various optimizations, alternative implementation techniques, and so on."

-

Example

-
-
special-container ( organization,
-                    performance,
-                    interface  )         // all required
-
organization [ ordered + indexed ]       // zero or more (4 configurations)
-
indexed [ hash-function ]                // zero or one  (2 configurations)
-
performance ( fast | small | balanced )  // exactly one  (3 configurations)
-
interface ( STL-style + cursor-style )   // one or more  (3 configurations)
-
-

There should be feature descriptions for some-container, organization, -ordered, indexed, hash-function, performance, fast, small, balanced, interface, -STL-style, and cursor-style.

-

The number of possible configurations is  (2 + 2*2) * 3 * 3 = 54, -assuming no constraints.

-

There are equivalent representations. For example:

-
-
special-container ( organization[ ordered+indexed[ hash-function ]],
-                    performance( fast|small|balanced ),
-                    interface( STL-style+cursor-style ) )
-
-

References

-

Krzysztof Czarnecki and Ulrich W. Eisenecker, Generative -Programming, Addison-Wesley, 2000, ISBN 0-201-30977-7

-
-

Revised 26 August 2004

-

Copyright Beman Dawes, 2000

- -

- Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or copy - at http://www.boost.org/LICENSE_1_0.txt) -

- - - - From e8eb1fe5ec33c562a650c72d9a88723f991adfed Mon Sep 17 00:00:00 2001 From: Daniel James Date: Thu, 29 Nov 2007 22:51:54 +0000 Subject: [PATCH 03/18] We're missing a page for the root of the 'C++' section, so I just moved the links for the sub-pages from the old 'more' page into one. Obviously needs more work but it fills the hole for now. [SVN r41481] --- index.htm | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/index.htm b/index.htm index 5a5ff17..47d3db8 100644 --- a/index.htm +++ b/index.htm @@ -41,9 +41,6 @@

Header Policy.  Headers are where a library contacts its users, so programming practices are particularly important.

-

Implementation Variations.  Sometimes - one size fits all, sometimes it doesn't.  This page deals with the - trade-offs.

Library Reuse.  Should Boost libraries use other boost libraries?  What about the C++ Standard Library?  It's another trade-off.

@@ -77,8 +74,6 @@ bugs.

How to request features Ways to request new library features.

-

C++ Committee Meetings FAQ for - Boost Members wishing to attend a standards committee meeting.

An overview of Boost participation in Google Summer of Code™ 2006 A report of our first experience in this open source initiative.

@@ -87,19 +82,6 @@

Articles and Papers

-

Error and Exception Handling describes - approaches to errors and exceptions by David - Abrahams. -

-

Counted Body Techniques by - Kevlin Henney is must reading for those interested in reference - counting, a widely used object management idiom.  Originally published in - Overload magazine.

-

Generic Programming Techniques by - David Abrahams and Jeremy Siek describe - some of the techniques used in Boost libraries.

-

Feature Model Diagrams in text and HTML - describes how to represent feature model diagrams in text form.

Portability Hints: Borland C++ 5.5.1 describes Borland C++ portability issues, with suggested workarounds.

Portability Hints: Microsoft VC++ 6.0 SP4 From 251b4baf793e185b7c4f0286800d87c4870e5a1f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 30 Nov 2007 15:56:42 +0000 Subject: [PATCH 04/18] Mode proposal.pdf to new web site. (fixes #1364) [SVN r41493] --- proposal.pdf | Bin 15877 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 proposal.pdf diff --git a/proposal.pdf b/proposal.pdf deleted file mode 100644 index d85860bac1d463584f2941dce1b782a13614709b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15877 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 From 3b20b12834e85af21e7436e801d023fad06f2039 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 30 Nov 2007 15:58:59 +0000 Subject: [PATCH 05/18] Obsolete. (fixes #1362) [SVN r41494] --- microsoft_vcpp.html | 326 -------------------------------------------- 1 file changed, 326 deletions(-) delete mode 100644 microsoft_vcpp.html diff --git a/microsoft_vcpp.html b/microsoft_vcpp.html deleted file mode 100644 index 7af0c4e..0000000 --- a/microsoft_vcpp.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - Portability Hints: Microsoft Visual C++ 6.0 SP4 - - - - - - - - - - - - - - - - - -
-HomeLibrariesPeopleFAQMore
- -

Portability Hints: Microsoft Visual C++ 6.0 SP4

- -

Similar to the portability hints for Borland - C++, this page provides hints on some language features of the - Microsoft Visual C++ version 6.0 service pack 4 compiler. A list of - acknowledged deficiencies can be found at the Microsoft - support site.

- -

Each entry in the following list describes a particular issue, complete - with sample source code to demonstrate the effect. Most sample code herein - has been verified to compile with gcc 2.95.2 and Comeau C++ 4.2.44.

- -

Preprocessor symbol

- -

The preprocessor symbol _MSC_VER is defined for all - Microsoft C++ compilers. Its value is the internal version number of the - compiler interpreted as a decimal number. Since a few other compilers also - define this symbol, boost provides the symbol BOOST_MSVC, - which is defined in boost/config.hpp to - the value of _MSC_VER if and only if the compiler is really Microsoft - Visual C++. The following table lists some known values.

- - - - - - - - - - - - - - - - - - - -
CompilerBOOST_MSVC value
Microsoft Visual C++ 6.0 (up to SP6)1200
Microsoft embedded Visual C++ 4.01200-1202 (cross compilers)
- -

Core Language

- -

[chained using] Chaining using-declarations

- -

Chaining using-declarations does not work.

-
-void f();
-
-namespace N {
-  using ::f;
-}
-
-void g()
-{
-  using N::f;  // C2873: 'f': the symbol cannot be used in a using-declaration
-}
-
- -

[explicit-instantiation] Explicit function template instantiation

- -

Trying to explicitly instantiate a function template leads to the wrong - function being called silently.

-
-#include <stdio.h>
-
-template<class T>
-void f()
-{
-  printf("%d\n", sizeof(T));
-}
-
-int main()
-{
-  f<double>();      // output: "1"
-  f<char>();        // output: "1"
-  return 0;
-}
-
- -

[for-scoping] Scopes of definitions in for-loops

- -

The scope of variable definitions in for loops should be - local to the loop's body, but it is instead local to the enclosing - block.

-
-int main()
-{
-  for(int i = 0; i < 5; ++i)
-   ;
-  for(int i = 0; i < 5; ++i)  // C2374: 'i': Redefinition; multiple initialization
-   ;
-  return 0;
-}
-
- -

Workaround: Enclose the offending for - loops in another pair of curly braces.

- -

Another possible workaround (brought to my attention by Vesa Karvonen) - is this:

-
-#ifndef for
-#define for if (0) {} else for
-#endif
-
- -

Note that platform-specific inline functions in included headers might - depend on the old-style for scoping.

- -

[inclass-member-init] In-class member initialization

- -

In-class member initialization, required to implement a - Standard-conforming std::numeric_limits template, does not - work.

-
-struct A
-{
-  static const int i = 5;      // "invalid syntax for pure virtual method"
-};
-
- -

Workaround: Either use an enum (which has incorrect - type, but can be used in compile-time constant expressions), or define the - value out-of-line (which allows for the correct type, but prohibits using - the constant in compile-time constant expressions). See Coding Guidelines for Integral Constant - Expressions for guidelines how to define member constants portably in - boost libraries.

- -

[koenig-lookup] Argument-dependent lookup

- -

Argument-dependent lookup, also called Koenig lookup, works for - overloaded operators, but not for ordinary functions. No additional - namespaces induced from the argument types seem to be considered.

-
-namespace N {
-  struct A {};
-  void f(A);
-}
-
-void g()
-{
-  N::A a;
-  f(a);     // 'f': undeclared identifier
-}
-
- -

[template-friend] Templates as friends

- -

A Template cannot be declared a friend of a class.

-
-template<class T>
-struct A {};
-
-struct B
-{
-  template<class T>
-  friend struct A;     // "syntax error"
-};
-
- -

[member-template-outofline] Out-of-line definitions of member - templates

- -

Defining member templates outside their enclosing class does not - work.

-
-template<class T>
-struct A
-{
-  template<class U>
-  void f();
-};
-
-template<class T>
-template<class U>   // "syntax error"
-void A<T>::f()      // "T: undeclared identifier"
-{
-}
-
- -

Workaround: Define member templates in-line within - their enclosing class.

- -

[partial-spec] Partial specialization

- -

Partial specialization of class templates does not work.

-
-template<class T>
-struct A {};
-
-template<class T>
-struct B {};
-
-template<class T>
-struct A<B<T> > {};  // template class was already defined as a non-template
-
- -

Workaround: In some situations where interface does not - matter, class member templates can simulate partial specialization.

- -

[template-value] Dependent template value parameters

- -

Template value parameters whose type depends on a previous template - parameter provoke an internal compiler error if the correct syntax (with - "typename") is used.

-
-template<class T, typename T::result_type> // C1001: INTERNAL COMPILER ERROR: msc1.cpp, line 1794
-struct B {};
- // (omit "typename" and it compiles)
-
-
- -

Workaround: Leave off the "typename" keyword. That - makes the program non-conforming, though.

- -

[wchar_t] wchar_t is not built-in

- -

The type wchar_t is not a built-in type.

-
-wchar_t x;  // "missing storage class or type identifier"
-
- -

Workaround: When using Microsoft Visual C++, the header - boost/config.hpp includes - <cstddef>, which defines wchar_t as a - typedef for unsigned short. Note that this means that the - compiler does not regard wchar_t and unsigned - short as distinct types, as is required by the standard, and so - ambiguities may emanate when overloading on wchar_t. The macro - BOOST_NO_INTRINSIC_WCHAR_T is defined in this situation.

- -

[delete-const-pointer] Deleting const X * does not - work

- -

Trying to delete a pointer to a cv-qualified type gives an error:

-
-void f()
-{
-  const int *p = new int(5);
-  delete p;        // C2664: cannot convert from "const int *" to "void *"
-}
-
- -

Workaround: Define the function

-
-inline void operator delete(const void *p) throw()
-{ operator delete(const_cast<void*>(p)); }
-
- -

and similar functions for the other cv-qualifier combinations, for - operator delete[], and for the std::nothrow variants.

- -

Standard Library

- -

[clib-namespace] C library names in global namespace instead of - std

- -

Library names from the <c...> headers are in the global namespace - instead of namespace std.

- -

Workaround:  The header boost/config.hpp will define - BOOST_NO_STDC_NAMESPACE. It can be used as follows:

-
-# ifdef BOOST_NO_STDC_NAMESPACE
-    namespace std { using ::abs; using ::fabs; }
-# endif
-
- -

Because std::size_t and std::ptrdiff_t are so commonly used, the - workaround for these is already provided in boost/config.hpp.

-
- -

Valid HTML 4.01 Transitional

- -

Revised - 04 December, 2006

- -

Copyright © 2001-2002 Jens - Maurer

- -

Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or copy - at http://www.boost.org/LICENSE_1_0.txt)

- - From cb5e0febc253c5cba19eddf9f89ea8f9a49f675c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 30 Nov 2007 16:21:49 +0000 Subject: [PATCH 06/18] Move the content of old more/links.html doc to new web site. (fixes #1360). [SVN r41497] --- links.htm | 74 ------------------------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 links.htm diff --git a/links.htm b/links.htm deleted file mode 100644 index a4a0987..0000000 --- a/links.htm +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - -Links - - - - - - - - - - - - - -
boost.png (6897 bytes)HomeLibrariesPeopleFAQMore
- - -

Links

-

Here are a few links of special interest to Boost users. For general queries, -try your favorite search engine.

-

Commercial Support for Boost Libraries

- -

C++ Organizations

- -

Online Publications

-
    -
  • The C++ Source - - "The Premier Online Journal for the C++ Community".
  • -
-

Copies of the C++ Standard

-
    -
  • - - ANSI Store - The full C++ Standard including TC1 corrections (INCITS/ISO/IEC 14882) is available - as a PDF document for $18 US. The document is certainly not a - tutorial, but is interesting to those who care about the - precise specification of both the language and the standard - library.
  • -
  • - - Book - The full C++ Standard including TC1 corrections is also available - in book form, list price $65 US. Since the content of the book is the same as - the much cheaper ANSI PDF, the book form is only of interest to those who - prefer a physical book, say for a school or company library.
  • -
-
-

Revised -02 October, 2004

-

Copyright Beman Dawes 2002

-

Distributed under the Boost Software License, Version 1.0. (See accompanying -file LICENSE_1_0.txt or copy at -http://www.boost.org/LICENSE_1_0.txt) -

- - - - \ No newline at end of file From 559fabdad07e3705589a5d26bd6f63554abbdae7 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 30 Nov 2007 17:13:02 +0000 Subject: [PATCH 07/18] Obsolete. (fixes #1365) [SVN r41501] --- regression.html | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 regression.html diff --git a/regression.html b/regression.html deleted file mode 100644 index 70c37ed..0000000 --- a/regression.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -Automatically loading index page... if nothing happens, please go to -http://www.boost.org/tools/regression/index.htm. -
- -

Copyright Douglas Gregor, 2005

- -

Distributed under the Boost Software License, Version 1.0. See -www.boost.org/LICENSE_1_0.txt

- -

 

-

 

- - \ No newline at end of file From 60fea16c7736c8d4a3a3074fbe4dff448ba8bee4 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 30 Nov 2007 17:16:00 +0000 Subject: [PATCH 08/18] Obsolete. (fixes #1348) [SVN r41502] --- faq.htm | 178 -------------------------------------------------------- 1 file changed, 178 deletions(-) delete mode 100644 faq.htm diff --git a/faq.htm b/faq.htm deleted file mode 100644 index 39c68f2..0000000 --- a/faq.htm +++ /dev/null @@ -1,178 +0,0 @@ - - - - - -Boost FAQ - - - - - - - - - - - - - - -
- boost.png (6897 bytes)Home Libraries People FAQ More
- -

Boost Frequently Asked Questions

- -

How do I download the libraries? -  See Download instructions.

- -

What support is available for the libraries?  The -Boost-Users mailing list is a good start.

- -

What do the Boost version numbers mean?  The scheme is x.y.z, where x is incremented only for massive changes, such as a reorganization of many libraries, y is incremented whenever a new library is added, and z is incremented for maintenance releases. y and z are reset to 0 if -the value to the left changes. 
-
-Is there any assurance libraries actually work as claimed? No. The review -process will hopefully eliminate the most seriously flawed libraries, but a well -constructed library with hidden defects is likely to slip through. Encouraging ordinary -users to report their experience with a library is intended to address such concerns.  -See the Status page for an -indication of how well a library works on specific platforms.

- -

-How can the Boost libraries be used successfully for important projects?  -Many of the Boost libraries are actively maintained and improved, so backward compatibility with prior version isn't always possible. Deal with this by freezing the version of the Boost libraries used by your project. Only upgrade at points in your project's life cycle where a bit of change will not cause problems. Individual bug fixes can always be obtained from the CVS repository.

- -

How is a library accepted for posting on the site? -See Library Submission Process

- -

How does someone submit a Formal Review comment?  Send email to boost@lists.boost.org.  See the Formal -Review page for more information.

- -

How does someone submit a library? See Library -Guidelines

- -

Are commercial libraries requiring a fee acceptable? No. However, a library that -a commercial enterprise makes available without fee is acceptable. If the description of -the library makes a low-key plug for the supplier, that is acceptable as long as the -library delivers real value and isn't just a Trojan horse for the plug.

- -

Are shareware libraries acceptable? No. Only free libraries -will be accepted.

- -

Are open source license libraries acceptable?  Some -are, many are not. -Open source licenses often require redistribution or availability of source code, -inclusion of license document with machine-executable redistribution, give the initial -developer rights to licensee modifications, or need a lawyer to understand.  These -would be immediate disqualifications for many business, commercial, and consumer -applications. Boost aims to avoid subjecting users to hard-to-comply-with license -terms. See License requirements.
-
-This is subject to review for a particularly important piece of software, or as the -industry changes.

- -

Must full source code be provided? Yes, these are source code libraries.

- -

What about documentation? A very simple library might be accepted with only a -well commented header file. For more substantial libraries, some form of documentation is -certainly going to be expected.  HTML is the preferred form.

- -

Are platform specific libraries acceptable? There is a preference for portable -libraries. Libraries will be accepted that have portable interfaces but require platform -specific implementations, as long as the author supplies implementations for a couple of -disparate major operating systems.

- -

Must a library do useful work? No. A library meant as a teaching example or -demonstration might not actually do any work.

- -

Can an existing library be accepted by Boost? Yes, although it would -have to be "Boostified" to meet the requirements.  The Boost -Graph and Regex libraries are examples of libraries which began life elsewhere.

- -

Who owns the libraries? Presumably many authors will copyright their libraries. -Others authors may wish to place their libraries in the public domain. The Boost.org -policy is to only accept libraries with a clear copyright notice and meeting the -License requirements..  It is up to -potential users to decide if the terms acceptable, and not to use -libraries with unacceptable copyrights or licenses.

- -

Is there a formal relationship between Boost.org and the C++ Standards Committee? - No, although there is a strong informal relationship in that many members -of the committee participate in Boost, and the people who started Boost were all -committee members.

- -

Will the Boost.org libraries become part of the next C++ Standard?  Some -might, someday, but that is up to the standards committee.  Committee -members who also participate in Boost will definitely be proposing at least some -Boost libraries for standardization.

- -

Libraries which are "existing practice" are most likely to be -accepted by the C++ committee for future standardization. Having a library -accepted by Boost is -one way to establish existing practice.

- -

Where does the name "Boost" come from? Boost began with -Robert Klarer and I fantasizing about a new library effort over dinner at a C++ -committee meeting in Sofia Antipolis, France, in 1998. Robert mentioned that Herb Sutter -was working on a spoof proposal for a new language named Booze, which was -supposed to be better than Java. Somehow that kicked off the idea of -"Boost" as a name. We'd probably had a couple of glasses of good -French wine at that point. It was just a working name, but no one ever came up -with a replacement. (Beman Dawes)

- -

Is the web site a commercial business? No. It is just some people getting together -as a kind of cyberspace civic association. If it ever needs to incorporate, it would be as -a -non-profit organization.

- -

Is there any charge for submitting libraries or reviews to Boost.org? No. Unlike -the standards committees, you don't have to pay to volunteer!

- -

Will the site include material beyond libraries? The main focus is on libraries, -but if people contribute occasional articles or other material to make the site more -interesting, that could be a nice fit.

- -

Why isn't there a separate boost mailing list for my favorite -library?  One of the reasons for boost's success has been the cross-pollination of ideas between diverse library -projects and the occasional look into other threads by otherwise uninterested parties. The more people participate, the less they tend to be annoyed by -"noise".

- -

How can I cope with the large volume of boost mailing list messages?  -One approach is to use the "digest" option; that cuts the email blizzard -down to several (long) messages per day, so you can glance over the subjects -summary at the top and quickly read what you think is important. The  "no -mail" option turns off list email entirely.

- -

Another approach is to follow the list traffic via an NTTP newsgroup reader. -See Mailing List newsgroup -information.

- -

Why do Boost headers have a .hpp suffix rather than .h or none at all? -File extensions communicate the "type" of the file, both to humans and -to computer programs. The '.h' extension is used for C header files, and -therefore communicates the wrong thing about C++ header files. Using no -extension communicates nothing and forces inspection of file contents to -determine type. Using '.hpp' unambiguously identifies it as C++ header file, and -works well in actual practice. (Rainer Deyke)

- -

What should I do if I spot a bug in the Boost code or documentation? -See the suggestions on the Bugs page.

- -

How can I request a new feature in a Boost Library? See the -Requesting New Features page.

- -
- -

Revised 23 June, 2005

- -

Copyright Beman Dawes 2001

-

- Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or copy - at http://www.boost.org/LICENSE_1_0.txt) -

- - \ No newline at end of file From 45d7dfa5a67052a458d1ff624b1abc8619fa2a44 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 30 Nov 2007 17:45:24 +0000 Subject: [PATCH 09/18] Obsolete. (fixes #1345) [SVN r41504] --- cvs.html | 112 ------------------------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 cvs.html diff --git a/cvs.html b/cvs.html deleted file mode 100644 index 7b85554..0000000 --- a/cvs.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - Boost CVS Repository - - - - - - - - - - - - - - -
- - - - - -
- - - - -
-

Home
- . Libraries
- . People
- . FAQ
- . More

-
-
-
- -

Boost's CVS Repository

- -

All Boost files, including the entire distribution tree including web - site HTML is maintained in a CVS repository. Command line, GUI, or browser - access is available.

- -

Boost CVS access via command line or graphical clients

For those - who have CVS clients installed, the libraries are also available from the - public Boost CVS - repository. Free command line clients (often already installed on - Linux/Unix systems) are available for many systems, and free GUI clients - are available for Windows, Mac, and other systems. - -

See the much improved CVS documentation (Section - F) from SourceForge, which includes links to the home pages for various GUI - and command line clients.

- -

The general procedure for command-line clients is something like - this:

- -
- cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost - login
- [Hit <return> when it asks for a password]
- cvs -z3 -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost - checkout boost
- cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost - logout -
Read the manual for your CVS client for further information. - -

This access is read-only; if you are a library author and wish to have - CVS write access, please contact one of the moderators.

- -

Boost CVS access via web Browser

For access to the CVS archive from any modern web - browser, you can also use the web - browser  interface.  Try one of the color diffs to see how a - file has changed over time. Note: this interface is only suitable - for viewing individual files and their revision histories. - -

Documentation generated from - BoostBook in CVS

- -

Some of the Boost documentation is generated from BoostBook XML source stored in the CVS - repository, and will not appear directly in the CVS tree as readable HTML. - View a nightly build of the generated HTML on the - Nightly Generated Documentation page. Where generated HTML is missing - from the CVS tree, an attempt has been made to include redirection to this - nightly build, but if you are away from an internet connection you may want - to download the generated documentation archive from the aforementioned - page so you can browse those documents offline.

- -
- -

Revised $Date$

- -

Copyright © Rene Rivera 2003.
- Copyright © Jens Maurer 2001.
- Copyright © John Maddock 2004.

- -

Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or copy - at www.boost.org/LICENSE_1_0.txt)

- - From d8beb568d8e15b4103a9ca3b94ac82d8008645bf Mon Sep 17 00:00:00 2001 From: Daniel James Date: Fri, 30 Nov 2007 20:06:44 +0000 Subject: [PATCH 10/18] Remove the formal review schedule, as it has been moved to the new site. Fixes #1351 [SVN r41511] --- formal_review_schedule.html | 916 ------------------------------------ 1 file changed, 916 deletions(-) delete mode 100644 formal_review_schedule.html diff --git a/formal_review_schedule.html b/formal_review_schedule.html deleted file mode 100644 index d0409ab..0000000 --- a/formal_review_schedule.html +++ /dev/null @@ -1,916 +0,0 @@ - - - - - - -Formal Review Schedule - - - - - - - - - - - - - -
- boost.png (6897 bytes)Home - Libraries - PeopleFAQMore
-

Formal Review Schedule

-

Reviews are usually scheduled on a first-come-first-served basis, and -normally last ten days.  See Formal -Review Process for more information.

-

In addition to -upcoming reviews, the schedule includes recent reviews already completed; that helps -track review manager assignments and libraries reviewed but not yet posted on -the web site. There is often a lag between acceptance and site posting as -authors address issues raised in the formal review.

-

Schedule

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SubmissionSubmitterLinkReview
- Manager
Review
- Dates
Finite State MachinesAndrey Semashev - Boost Sandbox VaultMartin Vuille-
Floating Point UtilitiesJohan Råde - Boost Sandbox VaultNeeded-
SwitchSteven Watanabe - Boost Sandbox Vault Stejpan RajkoJanuary 5, 2008 - January 9, 2008
Property Map (fast-track)Andrew Sutton - Boost SandboxJeremy Siek-
Graph (fast-track)Andrew Sutton - Boost SandboxJeremy Siek-
Forward (fast-track)Tobias Schwinger - Boost Sandbox VaultJohn TorjoJanuary 14, 2008 - January 18, 2008
Singleton (fast-track)Tobias Schwinger - Boost Sandbox VaultJohn TorjoDecember 3, 2007 - December 7, 2007
Factory (fast-track)Tobias Schwinger - Boost Sandbox VaultJohn TorjoDecember 17, 2007 - December 21, 2007
LexerBen Hanson - Boost Sandbox VaultHartmut Kaiser-
Thread-Safe SignalsFrank Hess - Boost Sandbox VaultNeeded-
LoggingJohn Torjohttp://torjo.com/log2/Gennadiy RozentalFebruary 4, 2008 - February 13, 2008
FlyweightJoaquín Mª López Muñoz - Boost Sandbox VaultIon GaztañagaJanuary 21, 2008 - January 30, 2008
Unordered ContainersDaniel JamesBoost Sandbox VaultIon GaztañagaDecember 7, 2007 - December 16, 2007
Boost.Range (Update)Neil Groves - Boost Sandbox VaultNeeded-
- -

Past Review Results and Milestones

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SubmissionSubmitterReview
- Manager
Review
- Dates
Result
Review Wizard Status ReportRonald Garcia2007 November 16Report
ExceptionEmil DotchevskiTobias SchwingerSeptember 27, 2007 - October 7, 2007 - Accepted
Review Wizard Status ReportRonald Garcia2007 September 14Report
Scope ExitAlexander NasonovJody HaginsAugust 13, 2007 - August 22, 2007- - Pending
Time SeriesEric NieblerJohn R. PhillipsJuly 30, 2007 - August 13, 2007 - Accepted
Boost 1.34.1 ReleasedThomas WittJuly 24, 2007 - Notes
Boost 1.34.0 ReleasedThomas WittMay 12, 2007 - Notes
Globally Unique IdentifierAndy TompkinsHartmut KaiserApril 30, 2007 - May 10, 2007 - Accepted Provisionally
Math ToolkitJohn MaddockMatthias SchabelApril 11, 2007 - April 27, 2007 - Accepted -- Added to SVN
Quantitative UnitsMatthias SchabelJohn R. PhillipsMarch 26, 2007 - April 4, 2007 - Accepted
Intrusive ContainersIon GaztañagaJoaquín Mª López MuñozMarch 12, 2007 - March 21, 2007 - Accepted -- Added to CVS
BimapMatias CapelettoIon GaztañagaFebruary 15 2007- March 2, 2007 - Accepted -- Added to CVS
AccumulatorsEric NieblerJohn R. PhillipsJanuary 29, 2007 - February 7, 2007 - Accepted
Function Types (Re-review)Tobias SchwingerTom Brinkman2006 November 6 - 2006 November 17 - Accepted -- Added to CVS
Generic Image LibraryLubomir BourdevTom Brinkman2006 October 5 - 2006 October 25 - Accepted -- Added to CVS
Message PassingDoug GregorJeremy Siek2006 September 6 - 2006 September 15 - Accepted -- Added to CVS
Physical Quantities SystemAndy LittleFred Bertsch2006 May 31 - 2006 June 9 - Rejected
Pimpl PointerAsger MangaardRene Rivera2006 May 15 - 2006 May 24 - Rejected
FusionJoel de GuzmanRonald Garcia2006 May 1 - 2006 May 10 - Accepted -- Added to CVS
Property TreeMarcin KalicinskiThorsten Ottosen2006 April 18 - 2006 April 30 - Accepted -- Added to CVS
Promotion Traits (fast-track)Alexander NasonovTobias Schwinger2006 April 1 - 2006 April 9 - Accepted -- Added to CVS
Review Wizard Status ReportTom Brinkman2006 March 30Report
Shmem (now Interprocess)Ion GaztañagaFred Bertsch2006 February 6 - 2006 February 15 - Accepted -- Added to CVS
Fixed StringsReece DunnHarmut Kaiser2006 January 19 - 2006 February 5 - Rejected
Review Wizard Status ReportRonald Garcia2006 January 19Report
asioChristopher KohlhoffJeff Garland2005 December 10 -
2005 December 30
- Accepted -- Added to CVS
Boost 1.33.1 ReleasedDoug Gregor2005 December 5 - Notes
Review Wizard Status ReportRonald Garcia2005 December 1 - Report
Logging LibraryJohn TorjoHartmut Kaiser2005 November 7 - 2005 November 16th - Rejected
Boost 1.33.1 Beta ReleasedDoug Gregor2005 November 9 - Notes
binary_intScott Schurr and Matt CalabresePavel Vozenilek2005 October 13 - 2005 October 20 - Accepted -- not yet added.
TR1John MaddockBeman Dawes2005 September 24 - 2005 October 5Accepted -- Added in 1.34
XpressiveEric NieblerThomas Witt 2005 September 8 - 2005 September 18Accepted -- Added in 1.34
Boost 1.33.0 ReleasedDoug Gregor17 August 2005 - Notes
Function TypesTobias SchwingerJohn Maddock2005-Jun-6 to 2005-June-16 - Accepted Provisionally
TypeofArkadiy Vertleyb and Peder HoltAndy Little2005 May 20 - 2005 May 30Accepted -- Added in 1.34
SingletonJason HisePavel Vozenilek2005 May 5 - 2005 May 15 - Rejected
FOREACH MacroEric NieblerGennadiy Rozental2005 April 25 - 2005 May 1Accepted -- Added in 1.34
HashDaniel JamesThorsten Ottosen2005 Mar 21 - 2005 March 12Accepted -- Added in 1.33
State ChartAndreas HuberPavel Vozenilek2005 Feb 23 - 2005 March 9Accepted -- Added in 1.34
WaveHartmut KaiserTom Brinkman2005 Feb 7 - 2005 Feb 20Accepted -- Added in 1.33
Pointer ContainersThorsten OttosenPavol Droba2004 Sept 26 - Oct 5Accepted -- Added in 1.33
Named ParamsDavid Abrahams & Daniel WallinDoug Gregor2004 Nov 1 - 2004 Nov 20Accepted -- Added in 1.33
Output FormattersReece DunnJohn Torjo2004 Sept 11 - Sept 25 - Rejected
IostreamsJonathan TurkanisJeff Garland2004 Aug 28 - Sep 11Accepted -- Added in 1.33
More IODaryle WalkerTom Brinkman2004 Aug 21 - 28Rejected
TriboolDouglas GregorThomas Witt2004 May 19-29Accepted -- Added in 1.32
AssignmentThorsten OttosenTom Brinkman2004 Apr 1 - 11Accepted -- Added in 1.32
Serialization (re-review)Robert RameyJeff Garland2004 Apr 13 - 26Accepted -- Added in 1.32
Container Traits (now Range)Thorsten OttosenHartmut Kaiser2004 Apr 28 - May 7Accepted -- Added in 1.32
Indexed Set (now MultiIndex)Joaquín Mª López MuñozPavel Vozenilek2004 Mar 20 - 30 - Accepted -- Added in 1.32
Circular BufferJan GasparPavel Vozenilek2004 Mar 5 - 15Accepted -- Added to CVS
enable_ifJaakko Järvi & Jeremiah Willcock & Andrew Lumsdaine(fasttrack)Dec 2003Accepted -- added in 1.31
FC++Brian McNamara & Yannis SmaragdakisMat Marcus2004 Feb 14 - Mar 1Rejected
Numeric Conversions LibraryFernando CacciolaThorsten Ottosen8 - 22 Dec 2003Accepted -- added in 1.32
String Algorithm LibraryPavol DrobaThorsten Ottosen17 - 30 Oct 2003Accepted -- added in 1.32
Shifted PointerPhilippe A. BouchardDoug Gregor24 - 30 Sep 2003Rejected
Fixed-Point DecimalBill SeymourJens Maurer11 - 21 Jul 2003Rejected
Math ConstantsPaul A. BristowJaap Suter06 - 15 Jun 2003Rejected
Command Line & ConfigVladimir PrusAleksey Gurtovoy21 May - 03 Jun 2003Accepted -- added in 1.32
I/O Manipulators and AdaptorsDaryle WalkerEd Brey27 Feb - 11 Mar 2003-
VariantEric Friedman & Itay MamanJeff Garland16 - 25 Feb 2003Accepted -- added in 1.31
OptionalFernando CacciolaDouglas Gregor09 - 18 Dec 2002Accepted -- added in 1.30
SerializationRobert RameyDave Abrahams02 - 11 Nov 2002Rejected
SpiritJoel de GuzmanJohn Maddock11 - 20 Oct 2002Accepted -- added in 1.30
MinmaxHervé BronnimannThomas Witt28 Sep - 07 Oct 2002Accepted -- added in 1.32
FilesystemBeman DawesWilliam Kempf14 - 23 Sep 2002Accepted -- added in 1.30
Interval Arithmetic LibraryHervé Bronnimann & Guillaume Melquiond & Sylvain PionBeman Dawes31 Aug - 09 Sep 2002Accepted -- added in 1.30
Template Meta Programming Library MPLAleksey GurtovoyDouglas Gregor15 - 29 Jul 2002Accepted -- added in 1.30
uBLASJoerg Walter & Mathias KochEd Brey21 Jun - 01 Jul 2002Accepted -- added in 1.29
Dynamic BitsetChuck Alison & Jeremy SiekMat Marcus08 - 17 Jun 2002Accepted -- added in 1.29
Date / TimeJeff GarlandDarin Adler15 - 24 Apr 2002Accepted -- added in 1.29
LambdaJaakko Järvi & Gary PowellAleksey Gurtovoy08 - 20 Mar 2002Accepted and added
SignalsDouglas GregorWilliam Kempf18 - 27 Feb 2002Accepted -- added in 1.29
I/O State SaverDaryle WalkerBeman Dawes06 - 16 Feb 2002Accepted and added
printf-like formatting for iostreamsSamuel KremppJens Maurer13 - 23 Jan 2002Accepted -- added in 1.29
Multi-arrayRon GarciaJohn Maddock02 - 12 Jan 2002Accepted -- added in 1.29
Unit Test LibraryGennadiy RozentalJeremy Siek01 - 13 Dec 2001Accepted and added
GCD Library plus integer additionsDaryle WalkerDave Abrahams17 - 26 Sep 2001-
Thread LibraryBill KempfEd BreyAug 30 - Sep 8Accepted and added
Config SystemJohn MaddockDoug GregorAug 20 - 29 Accepted and added
Bind LibraryPeter DimovDarin AdlerAug 10 - 19Accepted and added
Base from Member LibraryDaryle WalkerBeman DawesJul 30 - Aug 9-
Coding GuidelinesDave AbrahamsAleksey GurtovoyJul 20 - 29-
Preprocessor LibraryVesa KarvonenJeremy SiekJun 28 - Jul 9Accepted and added
Tuples LibraryJaakko JärviBeman DawesJun 17 - 26Accepted and added
Function LibraryDoug GregorJohn MaddockJun 6 - 16Accepted and added
TokenizerJohn BandelaDoug GregorMay 28 - Jun 6Accepted and added
Special FunctionsHubert HolinJens MaurerMay 18 - 27Accepted and added
-

Review Managers

-

We try to rotate the task of Review Manager between many experienced Boost -members, both to ensure fairness, and to spread the workload.  If you would -like to volunteer to become a review manager, please contact -John Phillips (phillips at mps dot ohio-state dot edu) or Ronald - Garcia (garcia at cs dot indiana dot edu). -

-
-

Revised -15 Apr 2005 -

-

Copyright Beman Dawes, Tom Brinkman, Jeff Garland 2001 - 2005

-

Distributed under the Boost Software License, Version 1.0. (See -accompanying file LICENSE_1_0.txt or copy -at http://www.boost.org/LICENSE_1_0.txt)

- - - - - From 1574cd9b30dc323e040cb9587efc803fdfb2e580 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sat, 1 Dec 2007 16:44:20 +0000 Subject: [PATCH 11/18] Transfer the rest of the version history to the new website. Fixes #1374. [SVN r41534] --- version_history.html | 3231 ------------------------------------------ 1 file changed, 3231 deletions(-) delete mode 100644 version_history.html diff --git a/version_history.html b/version_history.html deleted file mode 100644 index 9fe8759..0000000 --- a/version_history.html +++ /dev/null @@ -1,3231 +0,0 @@ - - - - - Boost Version History - - - - - - -
-
-
-
-
-

- -

“...one of the - most highly regarded and expertly designed C++ library projects - in the world.” — - Herb Sutter and Andrei - Alexandrescu, C++ Coding - Standards

- - - -
-
-
- -
-

Version History

- -
-
-
-
-
- -

1.34.1 (24 July 2007)

- -

This is a bug fix release addressing many problems with the 1.34.0 release. - It is a recommended upgrade for all users of Boost 1.34.0. For a complete list of fixes see - Boost Trac.

- -

Supported Compilers

- -

New in this release is improved support for - the IBM XL C/C++ compiler.

- -

Boost is tested on a wide range of compilers and - platforms. Since Boost libraries rely on modern C++ - features not available in all compilers, not all - Boost libraries will work with every compiler. - New in this release The - following compilers and platforms have been - extensively tested with Boost, although many other - compilers and platforms will work as well. For more - information, see the regression - test results.

- - - -

Acknowledgements

- -

Thomas Witt - managed this release.

- -

A great number of people contributed their time - and expertise to make this release possible. Special - thanks go to Kim Barrett consolidating Boost.Iostreams changes - from various branches and Rene Rivera for general build and installation - support.

-
-
- -

1.34.0 (12 May 2007)

-

New Libraries

- -
    -
  • Foreach Library: - BOOST_FOREACH macro for easily iterating - over the elements of a sequence, from Eric - Niebler.
  • - -
  • Statechart - Library: Arbitrarily complex finite state - machines can be implemented in easily readable and - maintainable C++ code, from Andreas Huber.
  • - -
  • TR1 Library: An - implementation of the C++ Technical Report on - Standard Library Extensions, from John Maddock. - This library does not itself implement the TR1 - components, rather it's a thin wrapper that will - include your standard library's TR1 implementation - (if it has one), otherwise it will include the - Boost Library equivalents, and import them into - namespace std::tr1. Highlights - include: Reference Wrappers, Smart Pointers, - result_of, Function Object Binders, Polymorphic - function wrappers, Type Traits, Random Number - Generators and Distributions, Tuples, Fixed Size - Array, Hash Function Objects, Regular Expressions, - and Complex Number Additional Algorithms.
  • - -
  • Typeof - Library: Typeof operator emulation, - from Arkadiy Vertleyb and Peder Holt.
  • - -
  • Xpressive - Library: Regular expressions that can be - written as strings or as expression templates, and - that can refer to each other and themselves - recursively with the power of context-free - grammars, from Eric Niebler.
  • -
- -

Updated Libraries

- -
    - -
  • - Assign - Library: - -
      -
    • Support for - ptr_map<key,T> via the new - function ptr_map_insert()
    • - -
    • Support for initialization of Pointer - Containers when the containers hold - pointers to an abstract base class.
    • -
    -
  • - -
  • - Date_time library: -
      -
    • Support for new US/Canada timezone rules and - other bug fixes. See - Change History - for details. -
    • -
    -
  • - -
  • - Filesystem - Library: Major upgrade in preparation - for submission to the C++ Standards Committee for - TR2. Changes include: - -
      -
    • - Internationalization, provided by class - templates basic_path, - basic_filesystem_error, - basic_directory_iterator, and - basic_directory_entry.
    • - -
    • Simplification - of the path interface by eliminating special - constructors to identify native formats.
    • - -
    • - Rationalization of predicate function - design, including the addition of several new - functions.
    • - -
    • Clearer specification by reference to - POSIX, - the ISO/IEEE Single Unix Standard, with - provisions for Windows and other operating - systems.
    • - -
    • Preservation - of existing user code whenever possible.
    • - -
    • More - efficient directory iteration.
    • - -
    • Addition of a - recursive directory iterator.
    • -
    -
  • - -
  • Function - Library: Boost.Function now implements a - small buffer optimization, which can drastically - improve the performance when copying or - constructing Boost.Function objects storing small - function objects. For instance, - bind(&X:foo, &x, _1, _2) - requires no heap allocation when placed into a - Boost.Function object.
  • - -
  • - Functional/Hash - Library - -
      -
    • Use declarations for standard classes, so - that the library doesn't need to include all of - their headers
    • - -
    • Deprecated the - <boost/functional/hash/*.hpp> - headers.
    • - -
    • Add support for the - BOOST_HASH_NO_EXTENSIONS macro, which - disables the extensions to TR1
    • - -
    • Minor improvements to the hash functions - for floating point numbers.
    • -
    -
  • - -
  • - Graph - Library: - - -
  • - -
  • MultiArray - Library: Boost.MultiArray now by default - provides range-checking for - operator[]. Range checking can be - disabled by defining the macro - BOOST_DISABLE_ASSERTS before including - multi_array.hpp. A bug in - multi_array::resize() related - to storage orders was fixed.
  • - -
  • - Multi-index - Containers Library: - - -
  • - -
  • - Optional Library: - -
      -
    • boost::none_t and boost::none now added to Optional's documentation
    • -
    • Relational operators now directly support arguments of type 'T' and 'none_t'
    • -
    • operator->() now also works with reference types.
    • -
    • Helper functions make_optional(val), make_optional(cond,val) and - get_optional_value_or(opt,alternative_value) added.
    • -
    • Constructor taking a boolean condition (as well as a value) added.
    • -
    • Member function get_value_or(alternative_value) added.
    • -
    • Incompatbility bug with mpl::apply<> fixed.
    • -
    • Converting assignment bug with uninitialized lvalues fixed.
    • -
    -
  • - -
  • - Parameter - Library: - -
      -
    • Every ArgumentPack is now a valid MPL - Forward Sequence.
    • - -
    • Support for unnamed arguments (those whose - keyword is deduced from their types) is - added.
    • - -
    • Support for named and unnamed template - arguments is added.
    • - -
    • New overload generation macros solve the - - forwarding problem directly.
    • - -
    • See also the Python library changes, - below.
    • -
    -
  • - -
  • - Pointer Container - Library: - -
      -
    • Support for serialization via Boost.Serialization.
    • - -
    • Exceptions can be disabled by defining the - macro BOOST_PTR_CONTAINER_NO_EXCEPTIONS before - including any header. This macro is defined by - default if BOOST_NO_EXCEPTIONS is defined.
    • - -
    • Additional - std::auto_ptr<T> overloads - added s.t. one can also pass - std::auto_ptr<T> instead of - only T* arguments to member - functions.
    • - -
    • transfer() now has weaker - requirements s.t. one can transfer objects from - ptr_container<Derived> to - ptr_container<Base>,
    • -
    -
  • - -
  • - Python - Library: - -
      -
    • Boost.Python now automatically appends C++ - signatures to docstrings. The new - docstring_options.hpp header is - available to control the content of - docstrings.
    • - -
    • - stl_input_iterator, for - turning a Python iterable object into an STL - input iterator, from Eric Niebler.
    • - -
    • Support for void* conversions - is added.
    • - -
    • Integrated support for wrapping C++ - functions built with the parameter library; - keyword names are automatically known to - docsstrings.
    • - -
    • Enhancements to the API for better embedding support - (boost::python::import(), - boost::python::exec(), - and boost::python::exec_file()).
    • - -
    -
  • - -
  • Signals Library: - More improvements to signal invocation performance from - Robert Zeh.
  • - -
  • - Smart - Pointers Library: - - -
  • - -
  • - - String Algorithm Library: - -
      -
    • lexicographical_compare
    • -
    • join
    • -
    • - New comparison predicates is_less, is_not_greater. -
    • -
    • - Negative indexes support (like Perl) in various algorihtms - (*_head/tail, *_nth). -
    • -
    -
  • -
  • - Wave - Library: - -
      -
    • Wave now correctly recognizes pp-number - tokens as mandated by the C++ Standard, which - are converted to C++ tokens right before they - are returned from the library.
    • - -
    • Several new preprocessing hooks have been - added. For a complete description please refer - to the related documentation page: The - Context Policy.
    • - -
    • Shared library (dll) support has been added - for the generated Wave libraries.
    • - -
    • The overall error handling has been - improved. It is now possible to recover and - continue after an error or a warning was - issued.
    • - -
    • Support for optional comment and/or full - whitespace preservation in the generated output - stream has been added.
    • - -
    • The Wave library now performs automatic - include guard detection to avoid accessing header - files more than once, if appropriate.
    • - -
    • Full interactive mode has been added to the Wave - tool. Now the Wave tool can be used just like Python - or Perl for instance to interactively try out your - BOOST_PP macros. Additionally it is now possible to - load and save the current state of an interactive session - (macro tables et.al.).
    • - -
    • The overall performance has been improved by upto - 40-60%, depending on the concrete files to process.
    • - -
    • Support for new pragmas has been added allowing to - control certain library features from inside the - preprocessed sources (partial output redirection, - control of generated whitespace and #line directives).
    • - -
    • Optional support for #pragma message "..." - has been added.
    • - -
    • This version also includes a number of bug - fixes and usage improvements. For a complete - list of changes, see the libraries change log.
    • -
    -
  • -
- -

Supported Compilers

- -

Boost is tested on a wide range of compilers and - platforms. Since Boost libraries rely on modern C++ - features not available in all compilers, not all - Boost libraries will work with every compiler. The - following compilers and platforms have been - extensively tested with Boost, although many other - compilers and platforms will work as well. For more - information, see the regression - test results.

- -
    -
  • Apple - GCC 4.0.1 on Mac OS X.
  • - -
  • Borland - C++ 5.8.2 on Windows.
  • - -
  • GNU C++ -
      -
    • - 3.2.x., 3.3.x, 3.4.x, 4.0.x, 4.1.x on Linux -
    • -
    • - 4.1.x on Solaris -
    • -
    • - 3.4.x on Windows -
    • -
    -
  • - -
  • HP - aC++ A.06.14.
  • - -
  • - Intel C++ 9.1 on Windows, 9.0 on Linux.
  • - -
  • Metrowerks - CodeWarrior 9.4 on Windows.
  • - -
  • Microsoft - Visual C++ 6.0 (sp5, with and without STLport), - 7.0, 7.1, 8.0. Note: Boost does not support the - non-standard "Safe" C++ Library shipping with - Visual C++ 8.0, which may result in many spurious - warnings from Boost headers and other - standards-conforming C++ code. To suppress these - warnings, define the macro - _SCL_SECURE_NO_DEPRECATE.
  • - -
  • - Sun Studio 11 - on Solaris.
  • - -
- -

Acknowledgements

- -

Thomas Witt - managed this release.

- -

A great number of people contributed their time - and expertise to make this release possible. Special - thanks go to Vladimir Prus for making Boost.Build version 2 - a reality, David Abrahams for authoring a new getting - started guide and Greg D. for answering - countless questions.

- -
-
- -

1.33.1 (5 Dec 2005)

-

Updated Libraries

- -
    -
  • Any Library: Cast to - reference types introduced in 1.33.0 is now - documented on any_cast documentation - page.
  • - -
  • - Bind Library: - - Bind expressions now support - - comparisons and negation. Example: - bind(&X::name, _1) < bind(&X::name, - _2). -
  • - -
  • Config Library: - Don't undef BOOST_LIB_TOOLSET after use.
  • - -
  • - Boost.Python: - -
      -
    • The build now assumes Python 2.4 by - default, rather than 2.2
    • - -
    • Support Python that's built without Unicode - support
    • - -
    • Support for wrapping classes with - overloaded address-of (&) - operators
    • -
    -
  • - -
  • Smart Pointer - Library: Fixed problems under Metrowerks - CodeWarrior on PowerPC (Mac OS X) with inlining on, - GNU GCC on PowerPC 64.
  • - -
  • Regex - Library: Fixed the supplied makefiles, - and other small compiler specific changes. Refer to - the regex - history page for more information on these and - other small changes.
  • - -
  • Iostreams - Library: Improved the interface for - accessing a chain's components, added - is_open members to the file and file - descriptor devices, fixed memory-mapped files on - Windows, and made minor changes to the - documentation.
  • - -
  • - Boost.Python: - -
      -
    • Added support for docstrings on nonstatic - properties.
    • - -
    • We now export the client-provided - docstrings for init<optional<> - > and - XXX_FUNCTION_OVERLOADS() - for only the last overload.
    • - -
    • Support for Embedded VC++ 4 and GCC-3.3 on - MacOS added
    • - -
    • Introduced better support for rvalue - from-python conversions of shared_ptr.
    • - -
    • Support for exposing - vector<T*> with the indexing - suite.
    • - -
    • updated visual studio project build - file.
    • - -
    • Added search feature to the index - page.
    • -
    -
  • - -
  • Functional/Hash - Library: Fixed the points example.
  • - -
  • Multi-index - Containers Library: Fixed a problem with - multithreaded code, and other minor changes. Refer - to the library - release notes for further details.
  • - -
  • - Graph - Library: - -
      -
    • Fixed a problem with the relaxed heap on - x86 Linux (fixes bug in - dijkstra_shortest_paths).
    • - -
    • Fixed problems with - cuthill_mckee_ordering and king_ordering - producing no results.
    • - -
    • Added color_map parameter to - dijkstra_shortest_paths.
    • -
    -
  • - -
  • Signals - Library: Fixed problems with the use of - Signals across shared library boundaries.
  • - -
  • Thread - library: read_write_mutex - has been removed due to problems with - deadlocks.
  • - -
  • Wave library - (V1.2.1) Fixed a couple of problems, refer - to the change log - for further details.
  • -
- -

Supported Compilers

- -

Boost is tested on a wide range of compilers and - platforms. Since Boost libraries rely on modern C++ - features not available in all compilers, not all - Boost libraries will work with every compiler. The - following compilers and platforms have been - extensively tested with Boost, although many other - compilers and platforms will work as well. For more - information, see the regression - test results.

- -

New for this release: Support for building - with the newest STLport-5.0 was added. The support - includes building with MinGW Runtime 3.8 plus - STLport-5.0 improved to support wide character - operations. Apple GCC 4.0, HP Tru64 C++, and - Microsoft Visual C++ 8.0 are supported platforms. We - have added an experimental autoconf-like - configure script for Unix-like systems: - run configure --help for more - information.

- -
    -
  • Apple - GCC 3.3, 4.0 on Mac OS X.
  • - -
  • Borland - C++ 5.6.4 on Windows.
  • - -
  • GNU C++ 2.95.3 - (with and without STLport), 3.2.x., 3.3.x, 3.4.x, - 4.0.x on Windows, Linux and Solaris.
  • - -
  • HP - C++ for Tru64 UNIX 7.1.
  • - -
  • - Intel C++ 8.1, 9.0 on Windows, Linux.
  • - -
  • Metrowerks - CodeWarrior 8.3, 9.4, 9.5 on Mac OS X and - Windows.
  • - -
  • Microsoft - Visual C++ 6.0 (sp5, with and without STLport), - 7.0, 7.1, 8.0. Note: Boost does not support the - non-standard "Safe" C++ Library shipping with - Visual C++ 8.0, which may result in many spurious - warnings from Boost headers and other - standards-conforming C++ code. To suppress these - warnings, define the macro - _SCL_SECURE_NO_DEPRECATE.
  • -
- -

Acknowledgements

- -

Medieval Mr. Gregor Douglas Gregor managed - this release.

- -

A great number of people contributed their time - and expertise to make this release possible. Special - thanks go to Aleksey Gurtovoy and Misha Bergal, who - managed to keep the regression testing system working - throughout the release process; David Abrahams, Beman - Dawes, Aleksey Gurtovoy, Bronek Kozicki, Rene Rivera - and Jonathan Turkanis for greatly improving the - quality of this release; Rene Rivera for the new - Boost web page design; and Zoltan "cad" Juhasz for - the new Boost logo.

-
-
-

1.33.0 (11 Aug 2005)

- -

New Libraries

- -
    -
  • Iostreams - Library: Framework for defining streams, - stream buffers and i/o filters, from Jonathan - Turkanis.
  • - -
  • Functional/Hash - Library: A TR1 hash function object that can - be extended to hash user defined types, from Daniel - James.
  • - -
  • Parameter - Library: Write functions that accept - arguments by name: especially useful when a function - has more than one argument with a useful default value, - since named arguments can be passed in any order.
  • - -
  • Pointer Container - Library: Containers for storing - heap-allocated polymorphic objects to ease - OO-programming, from Thorsten Ottosen.
  • - -
  • Wave: Standards - conformant implementation of the mandated C99/C++ - preprocessor functionality packed behind an easy to use - iterator interface, from Hartmut Kaiser.
  • -
- -

Updated Libraries

- -
    -
  • Any Library: - any_cast has been enhanced to allow direct - access to any's held value.
  • - -
  • Assignment - Library: Support for Pointer Container - Library and new efficient functions - ref_list_of() and - cref_list_of() for generating anonymous - ranges.
  • - -
  • Bind Library: Bind - expressions now support comparisons and - negation. Example: bind(&X::name, _1) - < bind(&X::name, _2).
  • - -
  • - Date-Time - Library: - - -
  • - -
  • - Graph - Library: Introduced several new algorithms - and improved existing algorithms: - - -
  • - -
  • - Multi-index - Containers Library: - - -
  • - -
  • - Program - Options Library: - -
      -
    • Option descriptions are now printed with word - wrapping.
    • - -
    • Command line parser can bypass unregistered - options, instread of throwing.
    • - -
    • Removed support for "implicit" (optional) - values.
    • - -
    • New customization method - 'command_line_parser::extra_style_parser'. Unlike - 'additional_parser', allows the user to parse - several tokens and return a vector of options, not - just a single option.
    • - -
    • Work with disabled exceptions.
    • -
    -
  • - -
  • Property Map - Library: Introduced the - dynamic properties class, which provides - dynamically-typed access to a set of property - maps.
  • - -
  • - Boost.Python: - -
      -
    • Added support for docstrings on nonstatic - properties.
    • - -
    • We now export the client-provided docstrings - for init<optional<> > and - XXX_FUNCTION_OVERLOADS() for - only the last overload.
    • - -
    • Support for Embedded VC++ 4 and GCC-3.3 on - MacOS added
    • - -
    • Introduced better support for rvalue - from-python conversions of shared_ptr.
    • - -
    • Support for exposing - vector<T*> with the indexing - suite.
    • - -
    • updated visual studio project build file.
    • - -
    • Added search feature to the index page.
    • -
    -
  • - -
  • Random Number - Library: improved initialization for - mersenne_twister, algorithm by Makoto - Matsumoto and Takuji Nishimura, implemented for Boost - by Jens Maurer.
    - Note: All test vectors for - mersenne_twisters constructed or seeded - without parameters or with a single unsigned - int parameter become invalid.
  • - -
  • Range Library: - Minor addition of convenience functions to - iterator range like front(), - back() and operator[]().
  • - -
  • - Regex Library: - -
      -
    • Rewritten front end parser now supports - (?imsx-imsx) constructs, plus lookbehind assertions - and conditional expressions.
    • - -
    • Thin wrapper classes improve integration with - MFC/ATL code.
    • - -
    • Full (optional) Unicode support via the ICU - library.
    • -
    Refer to the regex history - page for more information on these and other - small changes. -
  • - -
  • - Serialization - Library: - -
      -
    • DLL version.
    • - -
    • Auto-linking.
    • - -
    • Serialization of variants.
    • - -
    • Improved serialization of shared pointers.
    • -
    -
  • - -
  • Signals Library: - added slot blocking/unblocking, from Frantz Maerten. - Huge improvements to signal invocation performance from - Robert Zeh.
  • -
- -

Supported Compilers

- -

Boost is tested on a wide range of compilers and - platforms. Since Boost libraries rely on modern C++ - features not available in all compilers, not all Boost - libraries will work with every compiler. The following - compilers and platforms have been extensively tested with - Boost, although many other compilers and platforms will - work as well. For more information, see the regression - test results.

- -
    -
  • Apple GCC - 3.x on Mac OS X.
  • - -
  • Borland - C++ 5.6.4 on Windows.
  • - -
  • GNU C++ 2.95.3 - (with and without STLport), 3.2.x., 3.3.x, 3.4.x, 4.0.x - on Windows, Linux and Solaris.
  • - -
  • - Intel C++ 8.1, 9.0 on Windows, Linux.
  • - -
  • Metrowerks - CodeWarrior 8.3, 9.4, 9.5 on Mac OS X and - Windows.
  • - -
  • Microsoft Visual - C++ 6.0 (sp5, with and without STLport), 7.0, 7.1, - 8.0 beta. Note: due to intermittent problems with - Visual C++ 8.0 beta, and the presence of a variety of - pre-release compiler builds, we are unable to guarantee - compatibility until the final compiler is - released.
  • -
- -

Acknowledgements

- -

Medieval Mr. GregorDouglas Gregor managed - this release.

- -

A great number of people contributed their time and - expertise to make this release possible. Special thanks - go to Aleksey Gurtovoy and Misha Bergal, who managed to - keep the regression testing system working throughout the - release process; David Abrahams, Beman Dawes, Aleksey - Gurtovoy, Rene Rivera and Jonathan Turkanis for greatly - improving the quality of this release; Rene Rivera for - the new Boost web page design; and Zoltan "cad" Juhasz - for the new Boost logo.

-
- -
-

1.32.0 (19 Nov 2004)

- -

Important - New Toolset Names

- -

The names of some the Boost.Build toolsets have been - changed to remove the "." (dot) character - and to fix some other naming inconsistencies. For - example, vc7.1 toolset was renamed to become - vc-7_1. Please refer to the Supported Toolsets - section of the installation guide for the complete list - of the current toolset names. This change was made as a - part of the effort to make the Boost distribution - compatible with ISO 9660 level 2 requirements.

- -

New Libraries

- -
    -
  • Assignment - Library: Filling containers with constant or - generated data has never been easier, from Thorsten - Ottosen.
  • - -
  • Minmax - Library: Standard library extensions for - simultaneous min/max and min/max element computations, - from Hervé Brönnimann.
  • - -
  • Multi-index - Containers Library: Containers with multiple - STL-compatible access interfaces, from Joaquín M - López Muñoz.
  • - -
  • Numeric - Conversion Library: Optimized policy-based - numeric conversions, from Fernando Cacciola.
  • - -
  • Program Options - Library: Access to configuration data given - on command line, in config files and other sources, - from Vladimir Prus.
  • - -
  • Range Library: a - new infrastructure for generic algorithms that builds - on top of the new iterator concepts, from Thorsten - Ottosen.
  • - -
  • Serialization - Library: Serialization/de-serialization of - arbitrary C++ data structures to various formats - including text, binary, and xml, from Robert - Ramey.
  • - -
  • String Algorithms - Library: Collection of string related - algorithms for case conversion, trimming, find/replace - operations and more, from Pavol Droba.
  • - -
  • Tribool: 3-state - boolean type library, from Doug Gregor.
  • -
- -

Updated Libraries

- -
    -
  • Compose: This deprecated library has been - removed.
  • - -
  • - Graph: - - -
  • - -
  • - MPL Library: - -
      -
    • Updated to use the Boost Software License.
    • - -
    • New documentation, - including a complete reference - manual.
    • - -
    • Major interface changes and improvements, many - of which are not backward compatible. - Please refer to the - 1.32 changelog for the detailed information - about upgrading to the new version.
    • -
    -
  • - -
  • - Python - Library: - -
      -
    • Updated to use the Boost Software License.
    • - -
    • a new, - better method of wrapping classes with virtual - functions has been implemented.
    • - -
    • Support for the new Python Bool type, thanks to - Daniel Holth.
    • - -
    • Support for upcoming GCC symbol export control - features have been folded in, thanks to Niall - Douglas.
    • - -
    • Improved support for - std::auto_ptr-like types.
    • - -
    • Components used by other libraries have been - moved out of python/detail and into - boost/detail to improve dependency - relationships.
    • - -
    • Miscellaneous bug fixes and compiler - workarounds.
    • -
    -
  • - -
  • Signals Library: - Introduced deterministic slot ordering, permitting - slots to be connected at the beginning or end of slot - groups or the slot list itself. Combiners may safely - have state and are accessible from the signal.
  • - -
  • Utility: class - template result_of - added.
  • - -
  • - Test Library: - -
      -
    • namespace names gets shorten; old one still - supported till next release
    • - -
    • added proper encoding of XML PCDATA
    • - -
    • support for wide string comparison - implemented
    • -
    For complete list of changes see Test Library - release - notes. -
  • -
- -

Regression tests

- -

This release has been extensively tested on a variety - of different compilers and platforms. It is known to - contain no regressions against the previous reference - release on the compilers and configurations tested. - Please refer to the corresponding - regression reports to see how well your compiler - performs on the new Boost codebase.

- -

Acknowledgements

- -

-Aleksey Gurtovoy - managed this release. Managing a release at all is - an enormous job, and Aleksey always goes beyond merely - meeting requirements by insisting on the highest possible - quality. The Boost membership owes him a debt of - gratitude.

- -

This release wouldn't have been possible without the - dedicated effort of many, many members of the Boost - community who generously contributed their outstanding - expertise, time and energy to making it happen. For - patches, bug fixes, troubleshooting, expert advice, and - prompt responses to the release manager's requests we - thank:

- -

David Abrahams, Misha Bergal, Jonathan Brandmeyer, - Fernando Cacciola, Marshall Clow, Christopher Currie, - Pavol Droba, Caleb Epstein, Eric Friedman, Jeff Garland, - Michael Glassford, Doug Gregor, Joel de Guzman, Hubert - Holin, Jaakko Järvi, Hartmut Kaiser, Bronek Kozicki, - Tarjei Knapstad, Toon Knapen, Aaron W. LaFramboise, - Joaquín M López Muñoz, Christoph - Ludwig, John Maddock, Paul Mensonides, Guillaume - Melquiond, Thorsten Ottosen, Vladimir Prus, Robert Ramey, - Rene Rivera, Gennadiy Rozental, Stefan Slapeta, Jonathan - Turkanis, Pavel Vozenilek, Jonathan Wakely, Daryle - Walker, Victor A. Wagner Jr. and Martin Wille.

- -

Also, our special thanks go to: John Maddock for the - managing the effort of converting the majority of the - Boost libraries to the Boost - Software License, Eric Niebler and Joel de Guzman for - taking on the important job of improving the Boost - documentation's look and feel, and last, but not least, - to our regression test runners, without whom we simply - would never have released: Toon Knapen, Bronek Kozicki, - Rene Rivera, Markus Schöpflin, Stefan Slapeta, - Victor A. Wagner Jr. and Martin Wille.

- -

Thank you everybody!

-
- -
-

1.31.0 (26 Jan 2004)

- -

New License

- -

A unified Boost Software - License has been developed and will gradually replace - the individual licenses for most Boost libraries. The new - license offers better legal protection for both users and - developers, and should speed user's legal reviews of - Boost libraries. Dave Abrahams led the Boost effort to - develop better licensing. The legal team was led by - Diane - Cabell, Director, Clinical Programs, Berkman Center for - Internet & Society, Harvard Law School. - Devin Smith, attorney, Nixon Peabody - LLP, wrote the Boost License. Eva Chan, Harvard Law - School, contributed analysis of issues and drafts of - various legal documents.

- -

Note: Many of the Boost libraries are - still using earlier licenses, though all conform to the - Boost License - Requirements. After this release we will begin an - effort to move toward uniform use of the new license.

- -

Build and Installation

- -
    -
  • New Getting - Started procedures ease download and installation, - from Rene Rivera and others.
  • - -
  • Improved support for libraries requiring separate compilation, - from John Maddock and others.
  • -
- -

New Libraries

- -
    -
  • enable_if: - Selective inclusion of function template overloads, - from Jaakko Järvi, Jeremiah Willcock, and Andrew - Lumsdaine. This is an important new technique which - exploits the SFINAE - (substitution-failure-is-not-an-error) principle.
  • - -
  • Variant - Library: Safe, generic, stack-based - discriminated union container, from Eric Friedman and - Itay Maman.
  • -
- -

Updated Libraries

- -
    -
  • Compose: This - library has been deprecated and will be removed in a - future release. Use Bind or Lambda - instead.
  • - -
  • Date Time - Library: A whole host of bug fixes, new - features, and documentation improvements. See the Date - Time Change History for details.
  • - -
  • Filesystem - Library: Several added functions, including - improved checking for directory and file name - portability.
  • - -
  • Iterator Library: Major - version upgrade, with interface as proposed for the C++ - library TR, including an improved - iterator_adaptor design plus several new - components, from David Abrahams, Jeremy Siek, and - Thomas Witt.
  • - -
  • MultiArray: - The multi_array class template now - provides an element-preserving resize operation as well - as default construction (see the reference - manual for more information).
  • - -
  • - Python - Library: - -
      -
    • Support for Python 2.3 and Intel C++ on - Linux
    • - -
    • Container Indexing - Suite added.
    • - -
    • injected constructors and wrapped function - objects.
    • - -
    • wrapping static data members.
    • - -
    • std::wstring conversions.
    • - -
    • Improved keyword - arguments.
    • - -
    • Better error messages, including name - demangling for GCC.
    • - -
    • Simpler build - procedure.
    • - -
    • ...and more....
    • -
    -
  • - -
  • Random Number - Library: Interface changed to match the C++ - TR - proposal, from Jens Maurer.
  • - -
  • Regex: - Completely new matching algorithm is now much faster - than before, plus a selection of new features and - enhancements.
  • - -
  • - Boost.Spirit - 1.8.0: - -
      -
    • Multiple grammar start rules
    • - -
    • Multiple Scanner rules (no more scanner - business woes)
    • - -
    • More dynamic parsers
    • - -
    • Predefined actors
    • - -
    • Numerous bug fixes and QOI stuff
    • - -
    • ...and more...
    • -
    - -

    Starting from Spirit v1.8.0, ill conforming - compilers will no longer be supported. If you are - still using one of these older compilers, please use - Spirit v1.6.x. See Spirit's Site for more - details.

    -
  • - -
  • - Test Library: - -
      -
    • Free function template based test case
    • - -
    • Custom exception translators support in - execution monitor and register_exception_translator - added for unit test framework
    • - -
    • Added support for multi-module unit tests in - automatic registration facility
    • - -
    • Floating point comparison algorithm reworked - (Is not backward compatible!!!)
    • - -
    • Added support for custom users predicate - returning both boolean result code and possibly - error message
    • - -
    • Documentation structure rework and update
    • -
    - -

    For a complete list of changes see the Test - Library release - notes.

    -
  • -
- -

Miscellaneous

- -
    -
  • Expanded testing and fixes for non-conforming - compilers.
  • - -
  • Web site hosting now provided by SourceForge.
  • -
-
- -
-

1.30.2 (19 Aug 2003)

- -
    -
  • Boost - Consulting is now hosting Boost CVS mirrors - see - our download - page.
  • - -
  • Backported changes to the config system, to - better handle new compiler releases.
  • - -
  • Bugs in regression reporting in subproject tests - were fixed.
  • - -
  • Tests are now run in the context of the user's PATH - environment settings
  • - -
  • msvc-stlport and intel-win32-stlport - toolsets now build static libraries with multithreading - enabled, to be compatible with the STLPort builds.
  • - -
  • intel-win32 - toolset now handles wchar_t correctly when - intel is installed over msvc6.
  • - -
  • Backported fixes from the main trunk which prevent - errors building the Boost.Test library in - its default configuration.
  • - -
  • Backported portability improvements for checked_delete.
  • - -
  • Locale support for metrowerks (requiring a - statically-linked runtime) is more uniformly - handled.
  • - -
  • Backported conversion/lexical_cast's - wchar_t fixes from the main trunk.
  • - -
  • intel-linux-tools: - added rt to FINDLIBS in order to make the - clock_gettime() function available - (backport of a patch in CVS HEAD).
  • - -
  • regression/compiler_status.cpp: - backported fixes in error log links generation.
  • -
-
- -
-

1.30.1 (4 Aug 2003; withdrawn 12 Aug 2003)

- -

Fixes were made to the following libraries:

- -
    -
  • The Boost.Lambda - ..library is now usable with gcc-2.95.2
  • - -
  • - Boost.Spirit: - -
      -
    • Fixed. Using MSVC++6 (SP5), calling the assign - action with a string value on parsers using the - file_iterator will not work.
    • - -
    • Fixed: using assign semantic action in a - grammar with a multi_pass iterator adaptor applied - to an std::istream_iterator resulted in a failure - to compile under msvc 7.0.
    • - -
    • Fixed: There is a bug in the - range_run<CharT>::set(range<CharT> - const& r) function in - "../boost/spirit/utility/impl/chset/range_run.ipp".
    • - -
    • Fixed: handling of trailing whitespace bug - (ast_parse/pt_parse related)
    • - -
    • Fixed: comment_p and end of data bug
    • - -
    • Fixed: Most trailing space bug
    • - -
    • Fixed: chset<>::operator - ~(range<>) bug, operator - &(chset<>, range<>) bug, - operator &(range<>, - chset<>) bug
    • - -
    • Fixed: impl::detach_clear bug
    • - -
    • Fixed: mismatch closure return type bug
    • - -
    • Fixed: access_node_d[] and - access_match_d[] iterator bugs
    • - -
    • Fixed a bug regarding thread safety of - Phoenix/Spirit closures.
    • -
    -
  • - -
  • The Boost Template Metaprogramming Library - (MPL)'s ..typeof implementation is now - compatible with Metrowerks CodeWarrior Pro8.
  • - -
  • Boost.Function: - workaround for the new Borland patch (version 0x564) - and MSVC++ .NET 2003.
  • - -
  • Boost.Config, Boost.Format, and - Boost.Regex - ..have been adjusted to avoid warnings with GCC-3.3, - and Boost.Format also now works with string types other - than std::string.
  • - -
  • - Smart - Pointers: - -
      -
    • checked_delete now works on more - platforms
    • - -
    • Compatibility with the SunPro compiler
    • - -
    • Added missing #includes.
    • -
    -
  • - -
  • - Boost.Python: - -
      -
    • warning suppression for finicky compilers
    • - -
    • fixed a crashing bug in the - raw_function facility when no keyword - arguments were passed.
    • - -
    • Improved conversion of NULL - shared_ptrs to Python.
    • -
    -
  • -
-
- -
-

1.30.0 (19 Mar 2003)

- - -
- -
-

1.29.0 (10 Oct 2002)

- -
    -
  • Date-Time - Library added - Dates, times, leap seconds, - infinity, and more, from Jeff Garland.
  • - -
  • Dynamic - Bitset added - A runtime sized version of the - std::bitset class from Jeremy Siek and - Chuck Allison.
  • - -
  • Format - Library added - Type-safe 'printf-like' format - operations, from Samuel Krempp.
  • - -
  • Function - Library: Major syntactic changes have been made. - Some old syntax and little-used features have been - deprecated (and will be removed shortly), and the - syntax for the boost::function class - template has been greatly improved on conforming - compilers. Please see the compatibility note for more - information.
  • - -
  • Multi-array - Library added - Multidimensional containers and - adaptors for arrays of contiguous data, from Ron - Garcia.
  • - -
  • Preprocessor - Library: Major upgrade, from Paul Mensonides.
  • - -
  • Python - Library - Version 2 is released, from Dave Abrahams - and others. This is a major rewrite which works on many - more compilers and platforms, with a completely new - interface and lots of new features. Boost.Python v2 - requires Python 2.2 or later.
  • - -
  • Signals - Library added - Managed signals & slots - callback implementation, from Doug Gregor.
  • - -
  • Test - Library: Major new version, including full unit - test capabilities, from Gennadiy Rozental.
  • - -
  • uBLAS - Library added - Basic linear algebra for dense, - packed and sparse matrices, from Joerg Walter and - Mathias Koch.
  • -
-
- -
-

1.28.0 (15 May 2002)

- - -
- -
-

1.27.0 (5 Feb 2002)

- - -
- -
-

1.26.0 (30 Nov 2001)

- - -
- -
-

1.25.1 (5 Nov 2001)

- -
    -
  • Boost Build - System: Continued improvements.
  • - -
  • Config - Library: Continued refinements.
  • - -
  • Graph - Library: Final cleanup for upcoming the Boost Graph - Library book.
  • - -
  • Thread - Library: Minor fixes - tests now pass on most Win32 - and POSIX systems including Linux and Solaris. - Semaphore removed as too error prone.
  • - -
  • Function - Library: direct support for member function - pointers and documentation updates.
  • - -
  • Boost-Users - mailing list has been created to address topics of - interest to users of Boost libraries.
  • - -
  • - Boost Wiki web added. Provides a place for Boost - users to openly discuss and document the use of Boost - libraries. It is not officially maintained by Boost - developers.
  • -
-
- -
-

1.25.0 (1 Oct 2001)

- -
    -
  • Thread - Library added. Portable C++ multi-programming at - last, from William Kempf.
  • - -
  • Base From - Member added to Utility Library. - Support for the base from member idiom, from Daryle - Walker.
  • - -
  • Bind and - mem_fn added - - Generalized binders for function/object/pointers and - member functions, from Peter Dimov.
  • - -
  • Array - Library: Minor updates, from Nico Josuttis.
  • - -
  • Config - Library: major redesign with much improved and - automated configuration of Boost libraries for specific - compilers, from John Maddock.
  • - -
  • Random Number - Library: Fixed bug when copying normal_distribution - and improved the documentation, from Michael Stevens - and Jens Maurer.
  • - -
  • Special - functions, octonions, - quaternions - updated, now useable with many more compilers, plus - three new special functions, from Hubert Holin, Eric - Ford, and others.
  • - -
  • Tokenizer - Library: fixes/enhancements to - escaped_list_separator based on empty fields and tokens - comments from Johan Nillson and Jens Maurer.
  • - -
  • Coming Soon - A mailing list for Boost users!
  • -
-
- -
-

1.24.0 (19 Aug 2001)

- -
    -
  • Tuple - Library added. Tuples ease definition of functions - returning multiple values, and more, from Jaakko - Järvi.
  • - -
  • Minor fixes to some other libraries.
  • - -
  • Boost Build - System added. Preliminary release of an innovative - build system for Boost libraries, from Dave Abrahams - and others.
  • - -
  • Formal Review - Schedule added. Shows current, future, and recent - past review dates.
  • -
-
- -
-

1.23.0 (6 Jul 2001)

- -
    -
  • Any Library - added. Safe, generic container for single values of - different value types, from Kevlin Henney.
  • - -
  • Function - Library added. Function object wrappers for - deferred calls or callbacks, from Doug Gregor.
  • - -
  • Tokenizer - Library added. Break a string into a series of - tokens, from John Bandela.
  • - -
  • Special - functions, octonions, - quaternions - added, from Hubert Holin.
  • - -
  • Smart - Pointer Library: shared_ptr polymorphic pointers - now work on more broken compilers.
  • - -
  • IBM/Aix Compiler status table contributed by Toon - Knapen.
  • - -
  • Minor fixes to a number of other libraries.
  • -
-
- -
-

1.22.0 (25 May 2001)

- - -
- -
-

1.21.2 (24 Apr 2001)

- -
    -
  • Compatibility - Library added: Help for non-conforming standard - libraries missing CXX headers from Ralf - Grosse-Kunstleve, and help for missing standard library - <limits> header from Jens Maurer. (These are - unreviewed implementation libraries, treated as - maintenance steps only.)
  • - -
  • Random Number - Library: Split into separate headers, updated - documentation, added lagged_fibonacci generator.
  • - -
  • Integer - Library: Minor portability update.
  • - -
  • Graph - Library: Changed algorithm interfaces to use named - parameters technique. Added graph isomorphism - algorithm.
  • - -
  • Download refinements - files now available from - either FTP or web server.
  • - -
  • Tracker - Added: View and submit bug, support, and feature - requests.
  • - -
  • Minor portability fixes in several other - libraries.
  • -
-
- -
-

1.21.1 (14 Mar 2001)

- - -
- -
-

1.21.0 (9 Mar 2001)

- - -
- -
-

1.20.2 (10 Feb 2001)

- - -
- -
-

1.20.1 (10 Jan 2001)

- - -
- -
-

1.20.0 (6 Jan 2001)

- - -
- -
-

1.19.0 (10 Dec 2000)

- - -
- -
-

1.18.3 (18 Nov 2000)

- - -
- -
-

1.18.2 (3 Nov 2000)

- -
    -
  • Cast - Library Fix numeric_cast<> bugs with floating - types.
  • - -
  • Graph - Library minor fixes.
  • - -
  • Regular - Expression Library minor fixes.
  • - -
  • Configuration - Header more fixes for broken compilers.
  • - -
  • Boost Header Dependencies page added.
  • - -
  • Terminology change: Several headers previously - lumped together as a "utility" library are now - considered separate libraries. For historical reasons, - their non-header files still live in the "utility" - sub-directory.
  • -
-
- -
-

1.18.1 (15 Oct 2000)

- - -
- -
-

1.18.0 (28 Sep 2000)

- -
    -
  • Preliminary release of two important new libraries: - -
      -
    • Graph - Library - Generic graph components and - algorithms from Jeremy Siek and a University of - Notre Dame team.
    • - -
    • Regular - Expression Library - Text pattern matching in - all its glory from John Maddock.
    • -
    -
  • - -
  • Other changes: - -
      -
    • Array - Library improvements reflecting formal review - comments.
    • - -
    • functional.hpp - compiler workarounds added.
    • - -
    • tie() function template added to - utility.hpp for easier handling of - std::pair<> return values.
    • - -
    • Integer - Library improved handling of 64-bit - integers.
    • - -
    • Minor web site page updates.
    • -
    -
  • -
-
- -
-

1.17.0 (3 Aug 2000)

- -
    -
  • Array - Library added - An STL compliant container wrapper - for arrays of constant size from Nicolai Josuttis.
  • - -
  • array traits header renamed array_traits.hpp (was - array.hpp).
  • - -
  • Random Number - Library: more minor changes to support more - compilers.
  • - -
  • Smart - Pointer Library: performance reducing - exception-specifications removed.
  • - -
  • Compiler and test program fixes for call_traits, - compressed_pair, and type_traits.
  • - -
  • Updated cast.hpp to - clear compiler warning messages.
  • - -
  • Linux Compiler Status - added.
  • - -
  • Boost source code now lives in a publicly - accessible Concurrent Versions System (CVS) - repository.
  • -
-
- -
-

1.16.1 (5 Jul 2000)

- - -
- -
-

1.16.0 (28 Jun 2000)

- - -
- -
-

1.15.1 (21 Jun 2000)

- -

Fixes to cast.hpp and - operators - fix. Minor additions to config.hpp for Microsoft - compilers. The 1.15.0 operators changes seem to have - introduced incompatibilities. We are working on fixing - them, and have started to build a regression test to - prevent similar future problems.

-
- -
-

1.15.0 (17 Jun 2000)

- -

Random Number - Library from Jens Maurer added. Updated utility - library operators eliminates - code bloat. Minor additions to config.hpp and cast.hpp for Microsoft - compilers.

-
- -
-

1.14.3 (29 May 2000)

- -

Minor additions to config.hpp for Borland - compilers. Minor fix to type_traits example. - Minor web site fixes. Library Formal Review - Process page added.

-
- -
-

1.14.2 (9 May 2000)

- -

No libraries updated. Library - Requirements and Guidelines expanded, Library Submission Process - added.

-
- -
-

1.14.1 (17 Mar 2000)

- -

Minor fix to rational.hpp. Minor - documentation changes to the Smart Pointer Library - and call_traits, - compressed_pair, - and type_traits. Updated Library - Guidelines and People page.

-
- -
-

1.14.0 (5 Mar 2000)

- -

Integer - Library status upgraded after removing bin_bun.hpp. - The "Experimental" library category has been removed; the - boost files/vault now serves the purpose. Minor fix to - smart_ptr.hpp line - endings.

-
- -
-

1.13.0 (29 Feb 2000)

- -

Adds Utility - Library type_traits, - call_traits, - and compressed_pair - headers from John Maddock, Steve Cleary and Howard - Hinnant.

-
- -
-

1.12.0 (23 Feb 2000)

- -

Adds a integer_traits - header from Jens Maurer to the Integer Library.

-
- -
-

1.11.2 (21 Feb 2000)

- -

Smart - pointer timings added (thanks to Gavin Collings). - Minor fix to the min_rand sample - program. Minor fixes to config.hpp.

-
- -
-

1.11.1 (2 Feb 2000)

- -

Minor fix to cast.hpp - (thanks to Doncho Angelov).

-
- -
-

1.11.0 (1 Feb 2000)

- -

Added Rational - Number Library. Minor fixes to cast.hpp, config.hpp, smart_ptr.hpp, utility.hpp, and to the - min_rand sample programs. Minor site - cleanup (thanks to Paul Baxter).

-
- -
-

1.10.4 (31 Dec 1999)

- -

Minor fixes to smart_ptr.hpp and cast documentation.

-
- -
-

1.10.3 (30 Dec 1999)

- -

Minor fixes to the compose library - examples, operators - documentation, operators.hpp, cast documentation, - cast.hpp, config.hpp, and smart_ptr.hpp. This is the - first release with a version number. The version - numbering scheme is - xxx.yyy.zzz.

- -
-

xxx = Major version
- yyy = New library or feature added
- zzz = Bug fixes only

-
-
- -
-

14 Dec 1999

- -

Operators.hpp - documentation - improved.

-
- -
-

13 Dec 1999

- -

Added iterator operators and helpers to header operators.hpp, - together with an iterator test program. This header is - maturing into something really useful for building - arithmetic or iterator user-defined types, so look it - over even if you browsed one of the earlier versions.

-
- -
-

11 Dec 1999

- -

Added next() and prior() to header utility.hpp.

-
- -
-

8 Dec 1999

- -

Minor improvements to the smart pointer library: - operator ==, operator !=, and - specializations for std::swap and - std::less now provided.

-
- -
-

18 Nov 1999

- -

Minor improvements made to the Operator - templates.

-
- -
-

15 Nov 1999

- -

Operator - templates have been added to the utility library.

-
- -
-

11 Oct 1999

- -

Minor smart - pointer library and config.hpp changes to improve - portability.

-
- -
-

26 Sep 1999

- -

Minor updates to several libraries:

- -
    -
  • polymorphic_downcast<> in the - utility - library cast.hpp header - now works for multiple inheritance cases.
  • - -
  • shared_ptr<> and - shared_array<> swap() - functions added in the smart pointer - library.
  • - -
  • timer.hpp - elapsed_max() and - elapsed_min() functions added to the - timer - library.
  • - -
  • - integer - library bin_ubin.hpp changes to eliminate - compiler warning messages. -
  • - -
  • config.hpp minor - changes to aid library developers. No impact on library - users.
  • -
-
- -
-

3 Sep 1999

- -

The cast functions in the utility library were - considerably simplified.

-
- -
-

1 Sep 1999

- -

The cast functions initially in utility.hpp have been moved to - cast.hpp, still in the - utility - library.

-
- -
-

1 Sep 1999

- -

The category "Experimental" has been added to the - library page. The - integer library - is the first entry.

-
- - -

...And the remainder are lost to the mists of time (for - now, anyway)....

-
-
-
-
-
- - -
-
-
- - From e623c920e9727ab76facd7fdecf36f5e0cdf7552 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 2 Dec 2007 04:06:28 +0000 Subject: [PATCH 12/18] Remove outdated release procedures, and move content to wiki. Content moved to and . (fixes #1366 #1367) [SVN r41565] --- release_mgr_checklist.html | 276 ------------------------------------- release_procedures.htm | 213 ---------------------------- 2 files changed, 489 deletions(-) delete mode 100644 release_mgr_checklist.html delete mode 100644 release_procedures.htm diff --git a/release_mgr_checklist.html b/release_mgr_checklist.html deleted file mode 100644 index 7cfaa1f..0000000 --- a/release_mgr_checklist.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - - -Release Manager's Checklist - - - - - - - - - - - - - -
- boost.png (6897 bytes)HomeLibrariesPeopleFAQMore
- - -

Release Manager's Checklist

- -

Introduction
-Pre-release activities
-CVS Branch for release
-CVS Release
-Distribution

- -

Introduction

-

Historically, items on this checklist were accomplished by scripts written -in Perl, Python, Bash, C++, and as Windows command files, or by point-and-click -on a FrontPage or other GUI based program. Long term the plan is to move as much -as possible of these to C++, as -the one language all Boost developers are comfortable with.

-

Pre-release activities

-
    -
  • After discussion on the main list, post the release schedule.
  • -
  • Verify the root/index.htm, root/boost/version.hpp, root/Jamfile.v2 and - root/Jamrules - release numbers are correct and agree.
  • -
  • Verify via jamboost@yahoogroups.com - that bjam pre-built executables up-to-date.
  • -
  • Remove the oldest "Latest News" from root/index.htm.
  • -
  • For each new library added this release:
  • -
-
-
    -
  • Verify root/index.htm Latest News entry has been made and reads well.
  • -
  • Verify root/libs/libraries.htm entry has been made, both in the - alphabetic list and in the category lists.
  • -
  • Verify the root/libs/xxx directory contains an index.htm or index.html - file; either the main docs or a redirection to the main docs. To do: - automate this.
  • -
  • Skim read the primary docs pages to make sure they meet Boost - requirements and guidelines. Don't leave this until too late; it has - turned up lots of issues in the past.
  • -
  • Generate the header dependency table and update the CVS. To do: - coordinate with John Maddock's new dependency tools.
  • -
-
-
    -
  • Monitor - - http://boost.sourceforge.net/regression-logs/inspection_report.html to - verify problems are actively being reduced. Make sure none of the problems are - in files the release manager is responsible for.
  • -
  • Monitor regression tests (http://boost.sourceforge.net/regression-logs) - to verify that errors are actively being reduced or accounted for on key - platforms and compilers.
      -
    • Boost errors are being actively worked on by library maintainers.
    • -
    • Compiler or standard library errors are at least identified, and - preferably reported to the supplier.
    • -
    • No errors remain uninvestigated or unclassified.
    • -
    -
  • -
  • Monitor the developer and user mailing lists to verify that all posted - patches are being applied, rejected, or otherwise dealt with.
  • -
  • Monitor the developer and user mailing lists, and the SourceForge bug - tracker, to verify that all posted bug reports are being investigated, fixed, - rejected, or otherwise dealt with.
  • -
  • Monitor CVS commits to verify that all the expected and/or promised - content actually gets committed. Try to get developers to avoid last minute - commits of major changes.
  • -
-

CVS Branch for release

-
    -
  • Pre-release activities complete enough to justify branch-for-release?
  • -
  • Everybody happy?
  • -
  • Branch for release:
      -
    • Tag the main trunk  merged_to_RC_n_n_n.
    • -
    • Branch the main trunk with the tag RC_n_n_n.
    • -
    -
  • -
  • Post notice on main list. Remind developers that fixes which apply - to both Main Trunk and Branch have to be committed separately to both.
  • -
-

CVS Release

-
    -
  • Pre-release activities all complete?
  • -
  • Post notice to make sure all developers ready.
  • -
  • Tag: WinCVS: Select site, then tag (Modify|Create tag..., toolbar T on doc). New - tag name: Version_1_21_2 (or whatever). If prior release failed, select - "overwrite existing tags with the same name".
  • -
-

Distribution

-

These procedures are given for a particular release manager's machine. The -plan is to replace them with more generic procedures over time.

-
    -
  • Create folders for export:
    -
    -    c:\boost\boost_1_28_0
    -    c:\boost\temp\boost_1_28_0
    -
    - Note that several batch files assume these locations and naming schemes.
  • -
  • Export Win32 distribution: WinCVS | Remote | Checkout Module
    -
    - Checkout settings: module name and path on the server: boost, local folder to - checkout to: c:\boost\boost_1_28_0
    - [for 1.29.0 export, put everything in a boost_1_29_0/boost subdirectory.  - Experiments with 1.30.0 tried boost/boost as the path on server, but that just - resulted in getting the boost header subdirectory only.]
    -
    - Checkout options: (check) By revision/tab/branch: Version_1_28_0, (check) Do - not create CVS directories (export)
    -
    - This results in the follow command: cvs -z9 export -r Version_1_28_0 boost (in - directory C:\boost\boost_1_28_0)
    -
    - (takes about ten minutes)
    -
    - (rename boost-root if needed !!!!!!!!!!!!!!!!!!!)
  • -
  • Export Unix distribution: similar to above, except target is c:\boost\temp\boost_1_28_0 - and set global for UNIX nl.
    -  
  • -
  • !!!!!! VERY IMPORTANT: WinCVS | Set Preferences | Global back to non-UNIX nl. - !!!!!!!!!!!!!!!
  • -
  • Add regression results web pages into package (new in 1.33 so this is just a shot at the process - jeff)
    - download all the regression results from website (may need meta-comm help on this)
    - unpack the regression results into tools/regression/latest_release
    -
    - -
  • -
  • General ZIP and TAR.GZ files
    -
    - n_n_n is 1_28_0 or whatever
    -
    - cd \boost
    - boost_zip 1_21_2 (creates zip.log)
    - boost_tar_gz 1_21_2
    - bash
    -    - gunzip -c boost_1_21_2.tar.gz | bzip2 > boost_1_21_2.tar.bz2
    -    exit
    -  
  • -
  • Upload and unpack the .zip release candidate to a SourceForge web services - sub-directory. Post a message to the main list asking developers to check - contents. (Daniel Frey has volunteered to help check).
  • -
  • Upload files for SourceForge release incoming directory using WS_FTP Pro
      -
    • Start keep_isdn_awake
    • -
    • Connection: SourceForge Release Upload | connect
    • -
    • Select Local system: c:\boost
    • -
    • Select Remote system: /incoming
    • -
    • Drag-and-drop the three release files from Local system to Remote system
    • -
    • Disconnect
    • -
    • Stop keep_isdn_awake
    • -
    -
  • -
  • Complete the SourceForge - - release procedure.
      -
    • Admin | File Releases | Add Release for package name boost
    • -
    • New release name: 1.21.2 | create this release
    • -
    • Step 1: paste in release notes (in HTML). Be sure to note difference - between .zip and .gz/bz2 files. Submit/Refresh
    • -
    • Step 2: Check appropriate files. Add Files and/or Refresh View
    • -
    • Step 3: For each file, select Processor and File Type, Update/Refresh
    • -
    • Setp 4: Email Release Notice: I'm sure. Send Notice.
    • -
    • Wait up to 30 minutes.
    • -
    • Check SourceForge release page and release notes with web browser.
    • -
    -
  • -
  • Consider putting up a temporary "Update in progress" root/index.html - during site update
  • -
  • Update the web site:
    cd ...\boost_1_28_0
    -tar -cf site.tar *
    -bzip2 -k site.tar
    -
    -dir site.tar.bz2
    -pscp site.tar.bz2 beman_dawes@shell1.sourceforge.net:/home/groups/b/bo/boost/htdocs/
    -
    -keep_idsn_awake in another window.
    -
    -c:\bgd\util\putty\plink.exe beman_dawes@shell.sourceforge.net
    -cd /home/groups/b/bo/boost/htdocs
    -pwd
    -ls -l site.tar.bz2
    -
    -rm -fr boost
    -rm -fr doc
    -rm -fr libs
    -rm -fr more
    -rm -fr people
    -rm -fr status
    -rm -fr tools
    -bunzip2 -kc site.tar.bz2 | tar -x 
    -ls
    -exit
    -
    -stop keep_isdn_awake
    -
  • -
  • Check actual www.boost.org site with - browser. Look at a bunch of files that should have been updated to make sure - the updates actually "took".
  • -
  • Post a message announcing the release and recapping "Latest News".  - Post as separate messages to: boost, boost-announce, boost-users, - comp.lang.c++.moderated, - c++std-news@research.att.com
  • -
  • Using the SourceForge shell services (sf_shell_svc.bat), cd /home/groups/b/bo/boost/htdocs, - and rename regression tests as necessary.
  • -
  • Burn "Key Directories" CD for off-site backup.
  • -
  • Make sure CVS working copy is updated to main branch!
  • -
  • Ready root/index.htm, root/boost/version.hpp, root/Jamfile.v2 and - root/Jamrules for the - next release and commit to CVS so developers have a place to add "Latest news" - blurbs.
  • -
  • Delete obsolete files from yahoogroups files section.
  • -
-
-

Revised: -21 November, 2005

-

Copyright Beman Dawes 2001

- -

Distributed under the Boost Software License, Version 1.0. (See accompanying -file LICENSE_1_0.txt or copy at -http://www.boost.org/LICENSE_1_0.txt)

- - - - diff --git a/release_procedures.htm b/release_procedures.htm deleted file mode 100644 index aefa80a..0000000 --- a/release_procedures.htm +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - -Release Procedures - - - - - - - - - - - - - -
- boost.png (6897 bytes)HomeLibrariesPeopleFAQMore
- - -

Boost Release Procedures

-

Introduction
-Procedure Overview
-Procedures for Developers
-Procedures for the Release Manager
-FAQ
-Acknowledgements

-

Introduction

-

Each release of Boost software is overseen by a release manager, who -coordinates release activities via the Boost mailing list, as well as performing -the detailed procedures for the release.

-

Boost developers assist the release manager by reviewing regression test -logs, and committing fixes to CVS.

-

Release Procedure Overview

-
    -
  • Discussion on the main Boost mailing list to determine the target date for - release candidate branch and tag of the CVS main trunk.
  • -
  • Release manager performs release candidate branch, and also tags the - branch point in main trunk.
  • -
  • Regression tests run on release candidate branch.
  • -
  • Developers fix problems, test, and commit fixes. See below for details.
  • -
  • Repeat previous two steps until release manager is satisfied.
  • -
  • Release manager rolls out the actual release.
  • -
-

Release Procedures for Developers

-
    -
  • As the release candidate branch date approaches (as announced on the main - mailing list), bring the main trunk CVS files you are responsible for into a - stable state.
  • -
  • If you know of changes in either your code or its dependencies, start - checking regression test results to ensure your tests still pass.  Don't - necessarily wait for the initial release tagging.
  • -
  • After the release manager announces that the release candidate branch has - occurred, check the latest regression test results to be sure - your tests haven't broken.
  • -
  • Developers can continue working on main trunk code changes after - the release candidate branch has occurred. There is no need to wait until the release - itself.  - Modified files committed to CVS on the main trunk will not be included in the release unless the - developer explicitly commits the changes to the release candidate branch.
  • -
  • If specific to the release candidate only, the fixes should be committed - directly to the release candidate branch. In the more common case of fixes - which apply to both the main trunk and the release branch, the fixes are best - made to the main trunk, and then merged into the release candidate branch. See - FAQ for tag rationale.
    -
    - After a fix has been committed to the main trunk, here is a - typical procedure (assuming the release candidate branch is named RC_1_26_2) - to merge the fixed main trunk into the release candidate branch:
  • -
-
-
    -
  • Command Line CVS:
  • -
-
-
    -
  • Fixed code is committed to main branch
  • -
  • Switch to the release candidate branch -
    - cvs update -r RC_1_26_2
    -
  • -
  • Merge changes in a trunk since previous merge to branch -
    -
    cvs update -jmerged_to_RC_1_26_2 -jHEAD buggycode.hpp
    - --> RCS file: /cvsroot/boost/.../buggycode.hpp,v
    - -->    retrieving revision 1.4
    - -->    retrieving revision 1.6
    - -->    Merging differences between 1.4 and 1.6 into buggycode.hpp
    -
    -
  • -
  • Commit merged branch -
    -
    cvs commit -m "Merged fix for problem xyz from trunk to branch" buggycode.hpp
    -
    -
  • -
  • Go back to main trunk -
    -
    cvs update -A
    -
    -
  • -
  • Move tag to a new merged point -
    -
    cvs tag -F -c merged_to_RC_1_28_2 buggycode.hpp
    -
    -
  • -
  • Repeat as needed -
  • -
-
-
    -
  • WinCVS:
  • -
-
-
    -
  • After fixed code is committed to main branch, switch to the release - candidate branch:
  • -
-
-
-

Select file(s) if not already selected.

-

Modify | Update selection... | - Update settings | Sticky options | Retrieve rev/tag/branch: RC_1_26_2 | OK

-
-
-
    -
  • Merge changes from main trunk into the release candidate branch:
  • -
-
-
-

Modify | Update selection... | - Update settings | Merge options | Only this rev/tag: - merged_to_RC_1_26_2 - | Plus with this rev/tag: HEAD | OK

-
-
-
    -
  • Commit merge results:
  • -
-
-
-

Modify | Commit... | Enter log message: ... | OK

-
-
-
    -
  • Go back to main trunk:
  • -
-
-
-

Modify | Update selection... | Update settings | Reset any sticky - date/tag/-k options | OK

-
-
-
    -
  • Tag as new merge point:
  • -
-
-
-

Modify | Create tag on selection... | Create tag settings | Enter the tag - name to create: merged_to_RC_1_26_2, Overwrite existing tags - with same name | OK.

-
-
-
-
-

Release Procedures for the Release Manager

-

At time of branch-for-release:

-
    -
  • Tag the main trunk  merged_to_RC_n_n_n.
  • -
  • Branch the main trunk with the tag RC_n_n_n.
  • -
-

See Release Manager's Checklist for -full details.

-

FAQ

-

What is the purpose of the -merged_to_RC_n_n_n tag? This tag allows multiple merges from the -main trunk to the release candidate branch. Without it, merging an initial main -trunk fix  into the release candidate branch would work, but merging a -second fix from main trunk to release candidate branch would result in a merge -conflict. Although this procedure seems convoluted, it works much better in -practice than several prior procedures we tried.

-

Acknowledgements

-

This web page was written by Beman Dawes, with helpful suggestions from Dave -Abrahams and Steve Robbins. Jim Hyslop contributed the original CVS procedures. -Updated by Jeff Garland after 1.29 release based on list discussions.

-
-

Revised: -02 October, 2003

- -

Copyright Beman Dawes 2002

- -

Distributed under the Boost Software License, Version 1.0. (See -accompanying file LICENSE_1_0.txt or copy -at http://www.boost.org/LICENSE_1_0.txt)

- - - - \ No newline at end of file From f9742e41f7ae6cf1bbcf74efa71a51953e780366 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 2 Dec 2007 04:22:34 +0000 Subject: [PATCH 13/18] Remove obsolete images. (fixes #1257) [SVN r41566] --- boost-dark-trans.png | Bin 3266 -> 0 bytes boost_1_33_0.jpg | Bin 10736 -> 0 bytes google_logo_25wht.gif | Bin 1607 -> 0 bytes space.gif | Bin 43 -> 0 bytes w3c_valid_css.png | Bin 1134 -> 0 bytes w3c_valid_xhtml10.png | Bin 2414 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 boost-dark-trans.png delete mode 100644 boost_1_33_0.jpg delete mode 100644 google_logo_25wht.gif delete mode 100644 space.gif delete mode 100644 w3c_valid_css.png delete mode 100644 w3c_valid_xhtml10.png diff --git a/boost-dark-trans.png b/boost-dark-trans.png deleted file mode 100644 index 1aa16e202f3174c4fd0dbb8cf7f7fdd4a4fec488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3266 zcmV;z3_bISP)YuYbQV>1AyIT1S9u*-dmmeTB3*wbV1g}X zh%{t@HfDo3XoWLvi9KwIK5dIZaE?N8k3@5kMs<@wd6r3cl}&t_Q+t$9f1Or-m{fwG zT7sNig`Z%EqFarnVv3|_i=b1F%w~_MVUns`kjP?_t5uZBXpyR2k;!e4rCyTCSC-6R zlgn$9tyq`MVU)~Tn9f_7&u*5mT$<2hnaX6F%ypTqZ=A1XoXuaL&~ux$XPwV?o3CJ@ z(P*F0VxrP;oX={b&TOU7c%-;(rqO$&zHX<|XRFk2sMBby)pn-RX|2|Rrn`KpyoIE| zjH9%Jr@U~j(Q&TQbFA2MuhV_0+;gzhe5=@qtH5ow*LSenb+XoOw%B&F*LAhhcDB@k zu-$jJ)p)tqj&F8Sk*`>|ttzvo(rPAiF&)>Mr*t5^srqk!O&ELAt+N#s;xzXdR*zCK~$cnR$k^Y&+~>F8?#9~Y$k^<%c-yi z!{7JH-s;8S?78Re!s7GI-SNoa^2y@oz2^1I;O)ub^TXuy&f@OS;PlJm^~C7$#^?9V z<@eF$@y_P?#_ROW>GaR%`qkz6(dzHi==9*_=+)}>(Czo!==Ry^{nGCF+w1bz?D);{ z``+sK*zNh$@cZBE`P%OK*zon+@B85G``qyT;_m(3@&4fP_}ldP-tzz9^7-TQ`rY>X zV^-{6m24$p>W)q0GWrmXeAD3cL_sdPI?228Cu6xs!>XhkPx zU;(*GN5)p^VJmIZT0Lv6#j>@>H1>zpZPQ}gsR&Wd7}H=&vk4+zxHN=2oY%X(yUsP^ z?%w`*Z};uqyEe?+W@l+z1_Mcl&LbtB+jNaoOe;PmR%I@}U! zl&}K>&J4~+Rjk*Lbz4(_<0gLdpGps0eT@d!pzgD|%)Cq~r&6U@EWZ5)9&E!DDO}dY zM6rRYP|qE#wqy|drpdT{CewFxsBlf{em|4j^+^8A-xT?0N&Z!Q`#R5z#d8I9!(DxE zDhtCU(G%TQWZ}4ph%tCedSq3H0@tGMVD3Nj?63y*@SZ)s7B}x+8M$!d&j&Qo^hr?yYwAZ#{7^c+s>7u2lQQ_wSngFlgEW2l zeDQU{Qa+Hi`Hz4NNvwn5M0zYyUhYxKfAU;vs$)Ky#2KP6`;#GusV+f56 z)}!ddvB0pLOiv)nRK4=qzEpgbLEU&}Yz~nBs3pt_b+>EORpFi~g7*`a@)EL``6T)9 z^|oG>k?9dNU_49txf7`e71_Uk|G|SGv#>`Vg=<|sQr(#^-a}Z*b1>S_l-ov&2wFlt z18p|=4oi88>Pe;3=@ii9&vSwN09@$zkoGl{bOfKyc0SQ|WTbjt4U`63SVLX^qLaz{7B61B)beEw?#p20z2o4> z8koB2{Le|g$~OtNR3FZLAVvm6d+J20hdEl&7J`HL@}ej4a&t2ZSEcUiF|cJ30N;hE z`)VH4xt8)-GhKyl!fe1kpD#-!zSG?N83nG5x(C5T z-4Gaf@yLt^n9HrJq`L}p25DV6+ArNyMS9(WU9A0(9LWW8O~(^YH#ci=b?TZ) z#&Ph}JhdLmWMuuj?&}^OAG|Jl<$xrwF08LIJ)-@!b(HnQ`$XctW*x4Lx_zlJ>Kng4 zaNr?D4m@-~kxM+j%42dkI6inZ5|J=Vpcf?CUt8Nz4fSPuymZE*rH(3x3sW~f(KBm8>!`uq9V{EVjY7Y!}G|KHC&xbGzZbzBM)mr6KXGGCR|9bMSWx5ukD&*Bf8zs z9qsEodQ|yC{VU#6LkO0(%_G8S86H1KM0UZllNM*qsS}qoZV+HEFE^9Q3?NHcYEG=I7e+aGeg0>Fc zFGhHXxICjATNFqBsA`fQ33bs}?X;k+k1Bp*g~K46nb$J-HEKCH7IC7fr8-@#(PCV! zio&p)SD{(NjRn<>GL>Ty%XOmg^o;7rQNyhN0~Die@`)^pwg3PC07*qoM6N<$f^0qd AnE(I) diff --git a/boost_1_33_0.jpg b/boost_1_33_0.jpg deleted file mode 100644 index 6f26ef38d3eedfba01a5a577d61e3396e862550a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10736 zcmbVxbzECbx9$!Bf>T_IOL2-8hvEc^6SUAG#odY&FIwE4;=zkcmEuw?Xz}6_-1YLl z-*?{go%`24car(7l|5^(SkpX$038JWcU|cJSv!dEziS6k{!{xy)hM9<$^c?O z`6u%u`M2+*>KNC@+ZbMp)E{gniSiHV7WjYE!$ zOU_46MbG!YZudU`0t~<&@C1Vx02Bfcm;iL&3D7>&iT2lSgZ_f?cLSk-QPI#L7?@bt z4*`vj9@YR1MnMImp`ku(7s&5n96%*NBc$h*MkmrVg)q1f^93d3V=&6pwv%X$9x(Bn zxdvlmk&=;9P%=MZVP#_%5PT*iEFvl^C$FHW1Xb47f$8e$8yK2fys@;hwy||{_wan{ zIY7r_HA6jW3&D&#L*Ae6Tc z9ZZ0VM$d~*D6I)Gbs=Kl3&J3lNyx8l$7JN!Iv_D~9mOJL5?E$F{0rLO$o}7e1^<5` z`v=&6{g0>x8kj1cy^MW`bSNj8V@@z31~}> zPTVq8=ISYJWTrsuep)=R4e(fw(SZ(9j>Q&2R$*D z{J2NE0_*+VHlF8%isYir4Ts4~+j%?rl4UvZDd(2EX^&Ix5o^i=isBqDPE6c<)y3)~ zQAfW-)i2~dK37S>LM=nn5}N4?hjBnVafdZ}mFff+wunyM^2Bwqh|8!q+oe}=wk=SO z(t5r!bR_FuoW$gt5f9otwWg-v;foxd%ew3n@P&fyS=_SNFPocz;?xc`*lmAJ|DG?Q zRCn1go43o6^Y0?eTQys$iTzLTl`B|cPj@1uKloE2b+Owe16QhK+KuNMJjRET8T-f^ zZcYQHGPbcLbC&11AA7URQn5A4Qq}vDblBYk1kCa2?!D8vv#$6|w*fy}d_UxNrHnUBX?%-M4+6v|vl7$H%|; zGErR)0=`kzvx|U<;7D{@W??FRZSkg12?@oW_SJYQHCBR}runlxdSl^>Z3>I#g4)K& zXvbJV6~=Uq6*S4UEvK*#+}-c+Hv65b3z?4 zi#UaZ}c8(xwxlid__3EC{QqAPHzWurX&Qv(MNav^B4<&nh(TmpZ?1gT$E z?N~ZE0^b@=DwIf#Vy)I5!(uH690mv11sY8^ z$SD*TX>u=XJR~@Ne$lr6v_q!(Y(js}0!#mJcu*?GNq%7~Tffl`O6*~@FQt0z?z@r+ zeOI)Ehr!5r@CQzJw0tyTZhfh=BB*tCw_J78oIt}0N{}?c6TSzeVq{Bg^saIm((VC! zr3nm-ns#&KOa0XiL9~$*S2$eTgJyT~sLDVWsyHZ`B$s4!Xm2gvl@>3j2tP0RK$pNj zB&1Zhj=G8>I^k=h*UR0mlhk8-RAv6#a2x76HaNi16{_AAB_g?A_I1F!EWZE8O?!`q zpY2@KUig43h+1BeGCc@QwpNOt;FrJ%@Z8*+E6))k=0l)4G<(ub@i>;}`9>8#sJhd| zx#-=Jdj$^3S{R=Tsfwf+AY28nn20*&=@Qe(IvEX2OQJYPgLw|tm2m$ zWp@1l3c)3xrkzVu@8^qd9D_^ID=xpBq#cLEjmB69$0>)5Z8br0yPBPh01dDrRVIko zB>b(8LM|SEh#Qm<1c{yKmv^EvVHp3T6v8UU8r@0(_}p>?ycqvv7DfIA+3`O5=)30c zFIUGJ6>QK=-&Q}2@s20+%{PO2kDhPA)%h^#ar}2^3X3&@=b(g2t0@pbPqxNjVNMlW zot)9m+ohDrPgO{EtZ;lIalzA9HDPan<)x2a9%XIiJ>a?L3GL3Dvas4}+9|WG)#uFB zOrjIg;KAIw&>g!lnY1Yiv?GLQhoQ^_t}HY(JjK~M*mgCR_T_9Qoo1#K$03T_(c5?5 zi1{)-(mf`rw!r77>Mp8A@Hw(wo5=e&Ve`q*Tg`*wk_1AG>V@^~=LQ7Ct`P0a*ooJv z^i50#)X&){6UUGuSYjSKxpw|LiheS4N^dcd=_DfTBlvh&6)NV(MnW1dNqb^{N%J(<>ct~u@LraX`9F50GdyD=*=^G=DU&4 zFfzO>^N4@}=6ithn75+qtt+87B}GD1MRdrn-KUWo8^QOHR^=k81V0D;4`@oq^$KRRk~_TLTYR6nXAAD16$uJC^5o4P>9cq}q| zajmD#q(`~c)|$BvwMaJ~lH(+s1%Iq$Y4|q!nhO((?66b}4`&?NDE5>QudNerOQG5} zt|0&I+}b#~r)!f6)x$FOJ*ytmFRg8j2?%}6U~l2TSnNtD`m0QQvyS~mU}?Im(ykA_ z&-TfT)86Fs=DiAXjGsyq$B zKwN{-no1A3OfCt1Rbophb&rNHovuzQ(#cw`o`Oh<$LVw4xsPs72&ef6orE`0N~@Vq zj0;2AePVqN_19>IvohIlpWZ3zJ|T3^;`TD2SJmB}7k!^7(Q4JL=0$PCQ5OgOuxsF| zD|<{h0_LGpaIt_y8e?*lL&jYD{pT*a_g0B!{X-A$7t>exIIAy)P<+# z*8cPnq+JhevI)#s`05un6OcAqF5*-L&TP({l^++6*?MY~lYZEfXy0NChW3n5S^fSB zSIINk_@x_KUEI2}fHE;V*fM5eHb8h;OX!0WsEA)T)i^ccl>x?Uwh*HFa6H+IAMYuJjpzi9LcEh-8FDL(^d(uE)HhuE& z5$!YjU_L%D-sz9ox!z2sX4fKu%a|0IKsY$ByNy~*WwNp%Qcxu^^{qNXx-Ji7Anp(N zl5+j$c%DSUrlmWZFN?_2ozvQOTSJNNJU_vPL%x@@RLQ$~c^Q7Kg82?_aa&uDX59um zR=d%8K*KvGc~#c3oxho@jtaWUn4}BMBox{GDh3{_w30<@I*)$eNA_MKa+OX=nw|xB z%4R6sPHlUWvk%})SqWL3s-Hah)+Y4Kwssd)cyU;UBjBgc;0G7f^CFCAyfJ6TLGb}8 zE;PztuS2~_j9bqn|CAZc> z8xk_Nkv;XIVn`xZX}PR#=9y3J;ob)(MEYJvN|+i!3pwN1ml6d{Z^lmb#sjaOe@8DH4- z#`4Sl>2R@>Vy62iBRhtLcNv~<#N~%k^GfWh4mLs&nzQCaM0SszTC(v^W4(U}o@g`* zKe?i%*E(evq@EeQ5k@SCVdu!`usa%ICfqPYA?bp}tO?1J*%?AL#6a>c{V#_$O4YCk zG!^`t3#2P&QQey4hkEY9$Mu-uHVbSY` zD=Nf2McnZEQg>CRjYMjpP;epGGpL1JhVTWaBy;>KUUoZuN-Y~s6|Rno($ow-*YvQ` zs{aaoDX$ShqCkuT(ih!$zw1#ZIr3K86CHK*Ab{3zu^`hytbmz>*@khz!wF-XXV30~ z#WxM%T!N+-zAH5=FTYM^ITx}g6?ok4GMOKe?CVU%kej9`oiHS?sFgG_2K>;ut>R)+ zEuQtb$dh=ihozW90EzpKIEKGcIkup%jvRg^fOUm=QY9&yRu>fa#Voz;S!OARxuX;^ zz4BXC`0m}YQ{|uU8Gefg>X@paB09mJG-CBaw9-bYlEg%ct5wAllS|T_{)Q{tcGF{% z3sSA9b|;!zOL!ASHlwlSQr<*m5t$98rHQp0S586P)Tnxr#wmH)I1ui8K)3o&clV-N zgNmL0dl$MT{B_$dlA;YZ$2V%xY&Wc|1yLc|_cMPB254Z^2WI-fOHt9#9;i6ZU(x{t z9~&DJhX9|DkN}^6fQXcejEI<$gn)pYo}7}JnwFN9h>U@Wfrg2ShL+}U!QkOm2s#80 z0|SqSn1Gn(f8G8i7PLTdbEqI{SkiV6o zztjW*0G*zY7eXYh$zb}oT7W^qsP(|BnPeU~H5tEbaAMs-!OyYf!-o`)9|-Ql1pkpA z6&;NBK+Yi#gM0)42#f+oM?-yx`IlM&JWN3Fz}g>3yQxb8IuS!qJ27AWC}S=Evev=j z{r{lMyI-aEswS*wojK+#%^9P6P-V*%ukf8RevHq4lH;5Y?3)srdFz3zc9e;1VZ(Kw zz&J*9F$O&XeX2;>EEG4N-f7xJPwREX62dI%sQJfD`+Ls^l*=*6U zRiY?U!gEkhV8JpU%ZAZ(Ed2Zw%B@~CAhFoXJ**v58x4F+Xu>q2$!X%n&`}SEr6eGN z9@&eWc&SruUpo#Soe9H;++Jgd+U0~9t~%Cy;65*lI#e~EC(Uq3Ii-?krR!k3q{{ZU zcz3d2PUNGiwdVPi@JGwngrO2Cz(=nu?Z z?w3oWZy&Q6Q&#SO6L7Gz6QxVEQp2;52W~Ez{0()pP9hsQXt@#V_%iji_rOeS3ljSq+aJ%eiU~OZfq_5W6X_cI!w9yRR zrdn!77)zAj16}jsPqvD~)~qr`jgXJ-h8dIA`din9E`4cb%a(oRr*E-HOGLP5%$~Wa z{*+yu6|(-V1!vJa^6~KFdC~9060cZy4a3b)M*# zIY}5R%7tRN{D80^M7m?X+h)$Vz)NdVcce8ZX{zUxyQz)?AD2pqAftnUOPdYbi||^{ zMo5x%9TOixq=g{bOl=Pz3Dd2ZHJPcl#5wLj+W9@;{v!HNl}hLOskdA6oRK8z0afFI zc4_Ff=&gBGMdjQSyHWC*jP@5>D40{_NRrSec-fCE(U0Q%$wvJ&J(qL2Cf&=3v^2&= znviv8LB+j&Y7Sfa6wVR9Ogf);6ZgP+z(-nR7}

YfUO;)Rx?xJ=}jtKenztozN{Q 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 S~!s#T`6W<+- zt4%e$w+9&~i2E*D*W)T9Bhx(p?A&_0|7X(X^Ya7IW>?MPDaUzu zczTO0wr<^e|Jf%QG42CClNSR6E4d`dFZlmw6q^`8Jh0FrC=HPY3SEXN1j@jH0f@DT z;lF?am<8g&3^agg*jyz(n}LC8qNj^vNX4zUQ)`1SI|v-Rel?4G(T!h0t6h3r9Tx_% z{GPN=z+e1GN8qGw>eHn5|8FmNua|o1m5;W_zoO+QbMz<2znfQG#(ynM{=I#{0V!X> zqF)tO-~TK+p#QH~U+~Uxw*7OC?@4lzU=MuwAfY=*I-PyJf}6|jF4ry6#nK@bObtKJ z{jpr)a7XQvK=_v<_kY&OUtDf7N2Y`!=sAP5DASo0{WX7G;uf&=`Gs|Enroa;cP#bwBZgT0Vk8}Ij!pi@+JzOex~wA_|LQI>iZ4KOPMZj@RJmq z{=ckJgo`sg=^ee+rLf!@|1r#|1Qou-tz zozY_28jcOAqH_ZHT>9G+6r2tD{%tx^c*pF4-nNSOH_A#)UvDaE^>6pwzeB^b1utmshBn2mW1YZ#q&(r+Ne9lLHSPV z;lJMu*6nF1eX&Vu#au@n)2h{;1^hB;>x|=8`0r4N5Dq`3W>NpNuIHfS-r}72x2dtZ z|1vypS3P_!s?6%3q3f=mrP_V^@twUAXY`EwoTZxX&st-k^Kye`&fdVV(2iA`qSwCa zO3SD?y)^LM2F^-1=1_^hVN1d%c)e7=87<81^0{cK;`g>k^UAjGxu$SW%#%-OqR3cMOS7CD$Nw90jSF7TjZ+3b%7?`))PKP%lew!LZ} z9@4ntXMQ2~DY0cQL^+Gz9jsW~FI2w%Uw?1i^C{7@K5}j{esbPgg&e IbxsLQ074N#oB#j- diff --git a/w3c_valid_xhtml10.png b/w3c_valid_xhtml10.png deleted file mode 100644 index 2275ee6ea17da3a4c67a5d90c2f2105bc0d6c5a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2414 zcmbVNX;2f{7H-8QAWIODU~n`nVqipj2Gj;bX`?`kfGr|4qYzsVCn7@Qf~~j^Hfd)> zn-Mi2E>Q=K8%9xVQNW<`XaTj|FfKSoRA>apxQ%(Kd9SAC*VLg_1e7?aP$)DM%n^`I zg_w9A$8lBxvN)(w;HXlopcx24R9a3Y0CWn43IKF!jMlPRNCZKU8kLGf0-A(K925x! zGy#Di$fyvFM5x#60gz;9L?{3#1qet}A{3}pA|x=-#3^7qv_CIi8!Fd<575s6SJWLQ1J zFc6^@AQXxskU}jG2v7u(m=m;Gy%q;xCB1R#LGv!&%S0pQ{$~nPfoWNo$&~qD@1Mc? zuW;61?EfSS{-F-|TTEaw$^Pd44>UcfED-<(GGVgd=rs>YVu})m&2SmjRP#nY^TC#i zIRoMfEMK{Kdzfkq@ z<=3+8?`u|{6TNTco7rwQ+gMZkaZ0kSBk{(5+SN0p>)Si@M!zT1ug0B9qEFh-bQcXi zxo3XCfDZdh;@_j}Dtpw|V&2Tm^i(@iVE=UyCq!br;TflQw2%$PgTVHmx}UN`Cmh4P>C+b$TT>%9`kEIZNJu1_`{p73S$s^MM6&4OFC*OOzFXH#e2A1Vrx z-8=0f+Or%|e0h$2w}Oz!JGZ;wF3FW+a>6LNzkT%SU!N4E6B$!}+saw^MlS!CO|0G5 z@Vs^0?Snr$oi7z%yDHCUUv~kAx{549x_MKqnpn)x;?yU~q zcEv5k#WytJtY7z*-NDvVYS%O@vWHGyZWWF4+Lsx4I^j2(OyVxS56@>aXAVI61sLC06LqmCfTT^sdd; z39l!Khb39WchxuF$g^0Q+q~o&(iEU-XR3}JKXEMm?2^Ni{DbF2uFdEXJ8%Brus8AN zoJr+T^1Je)l<|FRUb@wj-8peFGoe+*&a|vMG@0TyR_0d>Km2$rzUA z-!N{_*{i3|ywA38AWmk818OsE1p(70jl8R$+D;v@wtIQ2A?>iZZoOUHJU{;J^nrp6 zf?n@b+8=Nb1r2>Om+v)xF=c z*&`?HVk-h~T~-LX8Z*9wKW_SwrX*`4#pAxVgI0gU+yq}XrN-IVq?bSG%k1Go3O!FO z9N)%ywo}-IISUHv)xu{X^|9>qqT%Oux9q1EFDMNk>eIRFN!`4}r1kJgrH(v)W$jw@ z7<19pTLen(o>ZiJpE@+Q)FaMub9_sZPy6n?s0UKoCAKiHx3~9-UO8X}tTQap7I1ILGop zxuz!TapO_#@ms@Z&0<=gAkc zaC^GD<7O~+W>MH8@vCP+FPy#7ZnWl>>@j~N~=^S=R$XZ5)N From 9b24fb21aa62796ac82b2dc775f713f277626575 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 2 Dec 2007 06:56:38 +0000 Subject: [PATCH 14/18] "Who's Using Boost?" content moved to new web site. [SVN r41568] --- whos_using/Jamfile.v2 | 20 - whos_using/using.qbk | 1246 ----------------------------------------- 2 files changed, 1266 deletions(-) delete mode 100644 whos_using/Jamfile.v2 delete mode 100644 whos_using/using.qbk diff --git a/whos_using/Jamfile.v2 b/whos_using/Jamfile.v2 deleted file mode 100644 index 1cf60df..0000000 --- a/whos_using/Jamfile.v2 +++ /dev/null @@ -1,20 +0,0 @@ - -# Copyright John Maddock 2005. Distributed under the -# Boost Software License, Version 1.0. (See accompanying file -# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -using quickbook ; - -xml using : using.qbk ; -boostbook standalone - : - using - : - nav.layout=none - #navig.graphics=0 - ; - -install html : ../../doc/html/boostbook.css ; -install ../ : ../../boost.png ; - - diff --git a/whos_using/using.qbk b/whos_using/using.qbk deleted file mode 100644 index a747c5d..0000000 --- a/whos_using/using.qbk +++ /dev/null @@ -1,1246 +0,0 @@ -[article Who's Using Boost? - [quickbook 1.4] - [copyright 2005 Various Authors] - [license - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - - http://www.boost.org/LICENSE_1_0.txt - ) - ] - [last-revision $Date$] -] - -[/ begin by defining some links to Boost libraries] - -[def __regex [@../../libs/regex/index.html Boost.Regex]] -[def __functional [@../../libs/functional/index.html Boost.Functional]] -[def __format [@../../libs/format/index.html Boost.Format]] -[def __function [@../../libs/function/index.html Boost.Function]] -[def __bind [@../../libs/bind/index.html Boost.Bind]] -[def __smart [@../../libs/smart_ptr/index.html Boost.SmartPointers]] -[def __date_time [@../../libs/date_time/index.html Boost.DateTime]] -[def __iterator [@../../libs/iterator/index.html Boost.Iterator]] -[def __thread [@../../libs/thread/index.html Boost.Thread]] -[def __preprocessor [@../../libs/preprocessor/index.html Boost.Preprocessor]] -[def __any [@../../libs/any/index.html Boost.Any]] -[def __tokenizer [@../../libs/tokenizer/index.html Boost.Tokenizer]] -[def __signals [@../../libs/signals/index.html Boost.Signals]] -[def __property_map [@../../libs/property_map/index.html Boost.PropertyMap]] -[def __array [@../../libs/array/index.html Array]] -[def __operators [@../../libs/utility/operators.htm Boost.Operators]] -[def __tuple [@../../libs/tuple/index.html Boost.Tuple]] -[def __random [@../../libs/random/index.html Boost.Random]] -[def __variant [@../../libs/variant/index.html Boost.Variant]] -[def __string_algo [@../../libs/algorithm/string/index.html Boost.StringAlgorithms]] -[def __mpl [@../../libs/mpl/index.html Boost.MPL]] -[def __type_traits [@../../libs/type_traits/index.html Boost.TypeTraits]] -[def __dyn_bitset [@../../libs/dynamic_bitset/index.html Boost.DynamicBitset]] -[def __enable_if [@../../libs/utility/enable_if.html Boost.EnableIf]] -[def __timer [@../../libs/timer/index.html Boost.Timer]] -[def __phoenix [@../../libs/spirit/phoenix/index.html Boost.Phoenix]] -[def __spirit [@../../libs/spirit/index.html Boost.Spirit]] -[def __pointer_cont [@../../libs/ptr_container/index.html Boost.PointerContainer]] -[def __serialization [@../../libs/serialization/index.html Boost.Serialization]] -[def __lambda [@../../libs/lambda/index.html Boost.Lambda]] -[def __lexical_cast [@../../libs/conversion/lexical_cast.htm Boost.LexicalCast]] -[def __tribool [@../../doc/html/tribool.html Boost.Tribool]] -[def __numeric_cast [@../../libs/conversion/cast.htm#numeric_cast Boost.NumericCast]] -[def __ref [@../../libs/bind/ref.html Boost.Ref]] -[def __mem_fun [@../../libs/bind/mem_fn.html Boost.MemFn]] -[def __static_assert [@../../libs/static_assert/index.html Boost.StaticAssert]] -[def __shared_ptr [@../../libs/smart_ptr/index.html Boost.SharedPointer]] -[def __assign [@../../libs/assign/index.html Boost.Assign]] -[def __crc [@../../libs/crc/index.html Boost.CRC]] -[def __file_system [@../../libs/filesystem/index.html Boost.FileSystem]] -[def __optional [@../../libs/optional/index.html Boost.Optional]] -[def __utility [@../../libs/utility/index.html Boost.Utility]] -[def __integer [@../../libs/integer/index.html Boost.Integer]] -[def __multi_index [@../../libs/multi_index/index.html Boost.MultiIndex]] -[def __program_options [@../../libs/program_options/index.html Boost.ProgramOptions]] -[def __range [@../../libs/range/index.html Boost.Range]] -[def __concept_check [@../../libs/concept_check/index.html Boost.ConceptCheck]] -[def __graph [@../../libs/graph/index.html Boost.Graph]] -[def __ublas [@../../libs/numeric/ublas/index.html Boost.Ublas]] -[def __python [@../../libs/python/doc/index.html Boost.Python]] -[def __conversion [@../../libs/conversion/index.html Boost.Conversion]] -[def __test [@../../libs/test/index.html Boost.Test]] -[def __rational [@../../libs/rational/index.html Boost.Rational]] -[def __asio [@../../libs/asio/index.html Boost.Asio]] -[def __bjam [@../../tools/build/v2/index.html Boost.Build]] -[def __gil [@../../libs/gil/doc/index.html Boost.GIL]] - -[section:intro Introduction] - -Open source isn't just for nerds and researchers. Real world programming challenges, -irrespective of whether they are open or closed source, can benefit enormously from -the thought and experience that has gone into the Boost software libraries. Put simply, -for any given problem for which Boost provides a solution, Boost will strive to provide -the best solution possible. It's up to you to decide whether we've achieved that, but -as these pages will testify, many other developers have found our solutions to be the -best for them. - -['Disclaimer:] Boost's developers try to ensure that the -information on these pages is correct, but from time to time inadvertent -mistakes are bound to occur: -if you would like an entry in these pages to be removed or corrected please contact -the [@mailto:boost-owner@lists.boost.org Boost Moderators]. - -[endsect] - -[section:shrink Shrink Wrapped Boost] - -Boost has found it's way into many products that are available "off the shelf", -including consumer applications from Adobe, through to business -middleware from SAP. - -[blurb [*Adobe Photoshop CS2] - -[@http://www.adobe.com/products/photoshop/main.html Adobe Photoshop CS2] -uses the -[@http://opensource.adobe.com/ Adobe Software Libraries], which in -turn depend upon large parts of Boost. The [@http://opensource.adobe.com/ -Adobe Software Libraries] are being rolled -out across the Adobe product line to provide cross platform user interface logic. -] - -[blurb [*Adobe Indesign] - -[@http://www.adobe.com/products/indesign/main.html Adobe Indesign] offers -best of breed page design: -Indesign and it's asociated SDK depend upon Boost -__regex, __functional and others. -] - -[blurb [*SAP NetWeaver] - -[@http://www.sap.com/solutions/netweaver/index.epx SAP NetWeaver] -is the technical foundation of mySAP Business Suite solutions, -SAP xApps composite applications, partner solutions, and customer -custom-built applications. __regex -provides the regular expression -implementation for SAP's -[@https://www.sdn.sap.com/sdn/developerareas/abap.sdn?node=linkDnode6-3 ABAP language].] - -[blurb [*Real Networks, Rhapsody] - -The [@http://www.real.com/ Rhapsody Music Service] allows its subscribers to legally -download/transfer/burn over a million songs. The Rhapsody client -software was built with many Boost libraries: - -__format: Boost.Format is top notch. Using it is a bliss. - -__functional, -__function, -and __bind: These three libraries, -along with __smart are the most used in our application. I could not imagine -not having them handy. - -__smart: Hands down, the most useful, and used library of the lot! - -__date_time: Simple to use, effective, does the job. I love the -flexible input string parsing facilities, and the -human readable ISO output. - -__iterator: Wow. Moving legacy iterating interfaces, or -interfaces that should of been properly designed -as iterators to STL compliant iterators was easy -and painless. The gains in functionality to our -code made by this library are invaluable. - -__regex: When you need it, it works magic. - -__thread: Used to implement the monitor pattern in key areas. - -__preprocessor: Used to implement repetitive unit-test -code generation. The codebase benefited -greatly from the clarity __preprocessor -brought. -] - -[blurb [*McAfee, Managed VirusScan 3] - -[@http://www.mcafeesecurity.com/us/products/mcafee/smb/managed_services/managed_vs_smb.htm McAfee Managed VirusScan], -is an always on, automatic virus protection for desktops -and servers. - -More details of the Boost libraries used can be found -[@http://betavscan.mcafeeasap.com/beta/docs/readme/Readme.html here].] - - -[blurb [*DataSolid GmbH Germany, CADdy++ Mechanical Design (c)] - -[@http://www.DataSolid.com CADdy++ Mechanical Design professional (c)] -is a fully parametric 3D CAD -application with unbroken link between 3D -models and 2D drawings. CADdy++ uses the Boost libraries: -__any, -__tokenizer, -__signals, -__property_map, -__array, -__bind, -__operators, -__tuple, -__random. - -['"Many thanks to all the boost developers for their great work and effort -spending into boost."]] - -[blurb [*Dimension 5, Miner3D] - -Data visualization technology enabling advanced data analysis, -visualization, sonification and speech applications for business and science. - -The [@http://www.miner3D.com Miner3D] application provides means for interactive visual analysis of -arbitrary tabular data from various data sources. It has a powerful OpenGL-based -visualization engine and an intuitive GUI. This combination helps a human eye -guide the application of statistical tools and spot the patterns that -might otherwise remain hidden. - -['"We are using the following boost libraries: -__date_time, -__variant, -__regex, -__format, -__string_algo, -__smart, -__mpl, -__type_traits, -__operators, -__dyn_bitset, -__enable_if, -__timer."] -] - -[blurb [*Synergy, mailIntercept] - -[@http://www.mintercept.com mailIntercept] from [@http://www.synergy.com.br Synergy] -is a mail interceptor service for Exchange Server 2000\/2003. - -mailIntercept intercepts and interprets the e-mails from a -LAN using Exchange Server and converts the microsoft proprietary -format to MIME and passes them to an SMTP filter and returns the -emails to the Exchange Server as modified by the SMTP filter, -converted back to the microsoft proprietary format and with its -features preserved. - -mailIntercept was built using the following Boost libraries: -__mpl, -__string_algo, -__bind, -__phoenix, -__spirit, -__pointer_cont, -__serialization, -__regex, -__iterator, -__lambda, -__lexical_cast, -__operators, -__smart, -__tribool and -__type_traits -] - -[blurb [*Integrated Research P/L, PROGNOSIS IP Telephony Manager and IP Telephony Express] - -[@http://www.ir.com PROGNOSIS] is a suite of IP telephony management software products, -specifically designed to address the key challenges of IP telephony -life cycle management, including network-readiness, assessment, -pre-deployment assurance testing, and ongoing Day-2 management of -Cisco CallManager, Cisco Unity, and Cisco AVVID infrastructure. -['"The Boost libraries used were: -__any, - __bind, - __function, - __lexical_cast, - __mpl, - __numeric_cast, - __ref, - __regex, - __smart, - __thread, - __type_traits."] -] - -[blurb [*Kinook Software, Visual Build Professional] - -[@http://www.visualbuild.com/ Visual Build Professional] -is a tool that enables developers, -software process engineers, and build specialists to create an -automated, repeatable process for building their software. Visual Build -provides built-in support for Microsoft Visual Studio .NET and 2005, -Visual Basic, Visual C++, Visual J++, SourceSafe, eMbedded Tools, -Borland Delphi, JBuilder, C++Builder, and more. - -The following Boost Libraries were used: -__any, -__mem_fun, -__regex, -__smart, -__static_assert -] - -[blurb [*Kinook Software, Ultra Recall] - -[@http://www.ultrarecall.com/ Ultra Recall] -is a personal information management (PIM) / -knowledge management (KM) application for Microsoft Windows. It helps -you capture, organize, and recall all of your electronic information -across all the applications that you use. - -Used the following Boost libraries: -__format, -__shared_ptr, -__static_assert -] - -[blurb [*Applied Dynamics International, ADvantageDE] - -[@http://www.adi.com Applied Dynamics International (ADI)] -provides state-of-the art software and -hardware tools to the automotive, aerospace, and defense industries to -design and test embedded control systems. ADI's tools provide advanced capabilities in real-time hardware-in-the-loop -(HIL) simulation, rapid prototyping, and embedded controller software -development. We have been a leading supplier of HIL simulation solutions -since 1957. - -ADvantageDE is the development environment. It allows simulation models to -be easily connected to one another or to hardware components for real-time -simulation. ADvantageDE projects can be created for execution on your PC, -Unix workstation or on our real-time platforms. - -ADvantageVI is the point of control and the graphical user interface for -all of the run-time activities. The run-time architecture includes extensive -features for interacting with, visualizing, and automating simulation and -test activities. - -DasCom provides access to real-time simulation data from most Windows -applications, such as Micrsoft Excel, National Instruments Labview, etc. - -The following Boost Libraries are used: -__array, -__assign, -__bind, -__crc, -__dyn_bitset, -__enable_if, -__file_system, -__function, -__functional, -__iterator, -__lambda, -__optional, -__preprocessor, -__ref, -__regex, -__serialization, -__signals, -__smart, -__static_assert, -__spirit, -__string_algo, -__tokenizer, -__tuple, -__utility and -__variant -] - -[blurb [*PeerGuardian] - -[@http://methlabs.org/projects/peerguardian-2-windows/ PeerGuardian 2] -is Methlabs premier IP blocker for Windows. -With features like support for multiple lists, a list editor, -automatic updates, and blocking all of IPv4 (TCP, UDP, ICMP, etc), -PeerGuardian 2 is the safest and easiest way to protect your privacy on P2P. - -Boost Libraries used include -__crc, -__bind, -__integer, -__function, -__functional, -__smart, -__lexical_cast, -__string_algo, -__random, -__format, -__utility.] - -[blurb [*DECOMSYS::DESIGNER PRO] - -[@http://www.decomsys.com/ DECOMSYS::DESIGNER PRO] enables the user to design -a highly complex [@http://www.flexray.com/ FlexRay] communication -system, which is going to be the fundament for tomorrow's -automotive electronics. - -['"Boost Libraries used: -__bind, -__dyn_bitset, -__format, -__function, -__iterator, -__mpl, -__multi_index, -__utility, -__operators, -__preprocessor (nice for generating data for unit tests), -__program_options (for the unit test programs), -__ref, -__regex, -__serialization, -__signals, -__smart, -__spirit, -__timer and -__variant] - -['"We are also planning to use Andreas Huber's FSM library and Iostreams -(together with Serialize) once -they are officially released."] -] - -[blurb [*Wise Riddles Software, Audiomatic] - -[@http://www.WiseRiddles.com/Audiomatic Audiomatic] -is a tool used to make system-wide macros and then launch those -macros with a voice command or keyboard shortcut at any time... from any -Windows application. Audiomatic enables you to launch programs, files, or -websites; simulate keystrokes; play sounds; speak text; or even run scripts. -You can do it all with a voice command or keyboard shortcut! -['"Boost libraries Used: -__bind, -__function, -__smart, -__date_time, -__string_algo, -__utility, -__regex, -__thread, -__mpl and -__type_traits."] -] - -[blurb [*SMProcess FxEngine] - -The [@http://www.smprocess.com/Bin/FxEngineSetup.exe FxEngine] -from [@http://www.smprocess.com SMProcess] is a Free Framework for data flow processing and the -design of dynamic systems using plugins. The Framework provides a full -control to the plugin architecture for applications that require -custom solutions. - -The Framework is essentially based on three boost libraries: -__thread: Used to implement each "Pin" work. __thread includes -everything what we were looking for a portable framework like -mutex and condition components. -__functional and __bind: Provide a great flexibility compared to the STL. -__timer: A very straightforward and effective timer. - -] - -[blurb [*Megahard Software Technologies Inc., Rule in Hell] - -[@http://www.ruleinhell.com Rule in Hell] is a -Massively Multiplayer Online Role Playing Game (still in beta). - -The Boost libraries used were: -__bind, -__function, -__any, -__tuple, -__ref, -__shared_ptr, -__type_traits and -__utility. - -['"By far the combination of __bind, __function, __shared_ptr and __ref is what we use -most heavily".] -] - -[blurb [*Dr. Detlef Meyer-Eltz, TextTransformer] - -The [@http://www.texttransformer.com TextTransformer] -is a Windows IDE for the generation of top down -parsers with included c++ interpreter code for semantic actions. Both -can be executed or debugged immediately on single source files or on -groups of files. Generated parsers can be exported as c++ code -including as well the interpretable code as any arbitrary other code. -Tokens are defined as POSIX regular expressions and rules are defined -in a similar syntax quasi as regular expressions of regular -expressions. The construction of parse trees and their traversal is -supported. - -['"The TextTransformer is essentially based on the __regex, -by which the tokens for a parser can be defined. The __lexical_cast and -the Format library are used for the integrated c++ interpreter. For -the future also an interpreter version of the __string_algo is -planned. The __program_options library will be used too to improve the -command line version of the texttransformer."] -] - - -[blurb [*Redshift Software, The Thot Tool] - -[@http://thot-tool.com/ The Thot Tool] -is an asset management tool for a group of game developers. -Thot combines assets, both binary and text, with workflow automation -into a unified whole, and was built using Boost -__thread, -__smart, -__regex, -__mpl, -and __type_traits. -] - -[blurb [*Paragent, Paragent Manage 2.1] - -[@http://www.paragent.com/ Paragent Manage] -is a Desktop Management Application that uses a -lightweight agent written in C++. Unlike traditional desktop management -solutions, Paragent Manage avoids the complexity and cost of servers by -using peer-to-peer communication between agents and the administrative -console. This allows real-time inventory searching, alerting and -software auditing in an easy-to-deploy and maintain package. - -['"We have used Boost extensively throughout our agent, including: -__thread, -__shared_ptr, -__bind, -__spirit, -__date_time, -__string_algo, -__multi_index, -__file_system.] - -['"Apart from some read_write_mutex issues we had, Boost has been a -seamless part of our development, and has allowed us to develop and -deploy a very complex, highly threaded networking agent with a built-in -lisp-like xml-based scripting language all done in C++. Our entire -development team would like to thank everyone for their hard work on -behalf of C++ coders everywhere."] -] - -[blurb [*LW-WORKS Software, Clipboard Recorder] - -[@http://www.lw-works.com/clipboard-recorder Clipboard Recorder] -is an application that helps users to manage their -clipboard history and provides easy ways for users to access their -saved clipboard data. - -Libraries used: -__smart, __serialization, __asio, __string_algo, __bind, __thread, -__conversion, Iostreams. -] - -[endsect] - -[section:open Open Source Boost] - -Boost is used in a variety of Open Source Projects, both applications and libraries. -Indeed many Open Source libraries developed around Boost have in the past been judged -of high enough quality to be absorbed -into the main Boost source tree, a process that will no doubt continue into the future. -Others are in highly specialized niche markets, ranging from probability theory to -astronomy, via mass spectroscopy: whatever your field of interest you'll find -something of value in Boost. - -[blurb [*Adobe Software Libraries] - -The [@http://opensource.adobe.com/ Adobe Software Libraries] provide -components for modeling the human interface appearance and behavior -in a software application. The Adobe Software Libraries depend on many -parts of Boost including __any, -__bind, __function, -__mpl, __operators, -__range, __static_assert, -__thread, and __type_traits. - -Currently Boost and the Adobe Software Libraries are in use in around 30 Adobe products. -] - -[blurb [*LyX Document Editor] - -[@http://www.lyx.org/ The LyX Document Editor] -is an advanced open source document processor that encourages an -approach to writing based on the structure of your documents, -not their appearance. LyX produces high quality, professional output, -using LaTeX, an industrial strength typesetting engine. - -LyX uses many parts of Boost, including __array, -__bind, __regex, -__type_traits, -__function, -and __signals.] - -[blurb [*CodeSynthesis XML Schema to C++ Data Binding Compiler (XSD) by Code Synthesis Tools CC] - -[@http://codesynthesis.com/products/xsd/ CodeSynthesis XML -Schema to C++ Data Binding Compiler (XSD)] is an -open-source, cross-platform XML Data Binding implementation for C++. -Provided with an XML instance specification (XML Schema), it generates -C++ classes that represent the given vocabulary as well as parsing and -serialization code. You can then access the data stored in XML using -types and functions that semantically correspond to your application -domain rather than dealing with elements, attributes, and text in a -direct representation of XML such as DOM or SAX. - -XSD uses __regex and -__file_system libraries from Boost. -__regex is used -to perform transformations on file, type and member names. -__file_system is used to -capture and manipulate XML Schema include and import paths. -Additionally, we are planning to provide an optional mapping of XML -Schema date and time types to C++ types from the Boost -__date_time library. -] - -[blurb [*CodeShop] - -I am happy to announce Amsterdam based [@http://www.code-shop.com CodeShop] -has been using Boost -since 2005 on all of it's projects (and CodeShop memebers have been -using Boost since 2001). - -We used it on the following: - -['OpenZoep] - -An open source voip stack (xmpp-sip/rtp/(port)audio/codecs), capable of -pc2pc calls and pc2pstn calls - it's a message based sdk, so you could -write your own Gtalk or Skype ... - -Boost is used everywhere: from the xmpp implementation (__function, -__asio) to the codecs-wrapper (__smart) - and more. -Boost made the code a lot easier, more fun, safer and faster to develop. -Bjam was used as build system. - -See [@http://www.code-shop.com/2007/1/14/openzoep description] -and [@http://www.code-shop.com/openzoep trac&svn]. - -['Abonja \/ Whitelabelvideo] - -Online videosharing platform: you can upload and watch flashvideo -online, but at the same time run your pc client and download all your -preferences automatically for viewing later at home - -Boost and C++ are used for the serverside tooling. Bjam is used as -build system. - -[@http://www.abonja.nl www.abonja.nl] and -[@www.whitelabelvideo.nl www.whitelabelvideo.nl] (Dutch only: a javascript sdk for viewing and -uploading - Boost is used serverside also). - -Code from above and other projects made available as plain download or -as library. - -Pieces address 'simple' problems like a windows registry wrapper to more -system like parts as for instance a drm implementation. Boost is used -all over (__filesystem, __thread, __asio, __spirit etc); -__bjam is used as build system. -] - -[blurb [*CGAL] - -[@http://www.cgal.org/ CGAL] is the Computational Geometry Algorithms Library, - an open source C++ library providing generic components - such as triangulations, convex hulls algorithms, boolean - operations of polygons and many other things. - ['"We currently use the following Boost libraries : - __operators, - __iterator, - __tuple, - __concept_check, - __mpl, - __bind, - __optional and - __smart."] -] - - -[blurb [*ALPS] - -[@http://alps.comp-phys.org/ ALPS] is an open source project to develop codes -for the accurate simulation of quantum lattice models, such as quantum magnets, -electronic systems and Bose-Einstein condensates. The main Boost libraries -used are: -__graph, -__random, -__multi_index, -__program_options, -__lexical_cast, -__serialization, -__regex, -__tuple, -__file_system, -__smart, -__bind, -__functional and -__type_traits -] - -[blurb [*SmartWin++] - -[@http://smartwin.sourceforge.net/ SmartWin++] -is a 100% free GUI library for developing Windows applications, -it's free both as in "free beer" and as in "free speech", you can freely use -SmartWin++ for commercial applications and for Open Source applications! -] - -[blurb [*Open VRML] - -[@http://openvrml.org/ Open VRML] is a free cross-platform runtime -for VRML. -The basic OpenVRML distribution includes libraries you can use to add -VRML support to an application, and Lookat, a simple stand-alone VRML browser. -] - -[blurb [*Bayes++] - -[@http://bayesclasses.sourceforge.net/Bayes++.html Bayes++] is an open source -library that represents and implements a wide variety of numerical algorithms -for Bayesian Filtering of discrete systems from the -[@http://www.acfr.usyd.edu.au/ Australian Centre for Field Robotics]. -Bayes++ makes particularly heavy use of __ublas -for matrix and numeric computations. -] - -[blurb [*Kohonen Neural Network Library (KNNL)] - -[@http://knnl.sourceforge.net/ Kohonen neural network library] -is a set of classes and functions for design, -train and use Kohonen networks (self organizing maps). - -KNNL Uses __bind, __function, __type_traits -__program_options. - -] - -[blurb [*The C++/Tk Library] - -[@http://cpptk.sourceforge.net The C++/Tk Library] is an open source -C++ interface to the Tk GUI Library. -] - -[blurb [*GluCat] - -[@http://glucat.sourceforge.net/ GluCat] is a library of template classes -which model the universal Clifford algebras over the real or complex fields, -with arbitrary dimension and arbitrary signature. -] - -[blurb [*OpenMS] - -[@http://open-ms.sourceforge.net/main.html OpenMS] is an open source C++ library -for LC/MS data management, reduction, evaluation, visualization, storage and -sophisticated statistical analyses. It can be used to develop mass -spectrometry related applications. -] - -[blurb [*libpdf++] - -[@http://libpdfxx.sourceforge.net/doc/index.html libpdf++] is an object-oriented -library for generating PDF (portable document format) files. It is designed -in a way that the objects in the document are mapped directly to classes -in the library. -] - -[blurb [*Regina] - -[@http://regina.sourceforge.net/ Regina] is a suite of mathematical software -for 3-manifold topologists. It focuses upon the study of 3-manifold -triangulations and includes support for normal surfaces and angle structures. -] - -[blurb [*MetaFS] - -[@http://metafs.sourceforge.net/ MetaFS] is a daemon for Linux -(and Linux only) that allows you to access information about your -files (such as MP3 tags or JPEG's EXIF tags) easily and consistently -using extended attributes. It also allows you to perform fast searches -using this information. MetaFS is extensible, so anyone can write plug-ins -to access new types of metadata. -] - -[blurb [*The ASN.1 Tool] - -Abstract Syntax Notation One (ASN.1) is a -formal language for abstractly describing messages to be exchanged among an -extensive range of applications involving the Internet, intelligent network, -cellular phones, ground-to-air communications, electronic commerce, secure -electronic services, interactive television, intelligent transportation -systems, Voice Over IP and others. - -[@http://iiiasn1.sourceforge.net/main.html The ASN.1 Tool] includes two parts : -an ASN.1 compiler "asnparser" which compiles the Abstract Syntax to c++ files, -and a runtime library which is used to link with the c++ files generated by -asnparser. Based on the works of Open H.323 projects, it is developed for -the needs of H.450 series protocol. -] - -[blurb [*DGD] - -[@http://dgd.sourceforge.net/dgd_home.html DGD] (Depression Glass Debug) -is simple, easy to use C++ ostream extension -created with a goal to produce nice, readable and easy to understand trace logs] - -[blurb [*FEAR] - -[@http://fear.sourceforge.net/ FEAR] is a language independent -open-source project providing portable support for the creation of -genuine Artificial Intelligence within realistic simulated worlds.] - -[blurb [*XEngine] - -[@http://xengine.sourceforge.net/features.php XEngine] is a platform- and -rendering-API-independent 3D engine for real-time visualization with -support for programmable graphics pipeline architectures and is implemented in C++.] - -[blurb [*Spheral++] - -[@http://spheral.sourceforge.net/ Spheral++] is a numerical tool -for simulating the evolution of a set of fluid or solid materials subject to -hydrodynamic, gravitational, and radiative effects. -Spherical++ uses __python.] - -[blurb [*C++ XML Objects] - -[@http://cppxmlobj.sourceforge.net/ C++ XML Objects] is a framework for persisting -hierarchies of C++ objects to and from XML.] - -[blurb [*HippoDraw] - -[@http://www.slac.stanford.edu/grp/ek/hippodraw/index.html HippoDraw] provides a -highly interactive data analysis environment. -HippoDraw uses __python.] - -[blurb [*Orocos] - -[@http://people.mech.kuleuven.ac.be/~psoetens/orocos/doc/orocos-control-manual.html -The Orocos Robot Control Software Application Framework].] - -[blurb [*ECell] - -The [@http://www.e-cell.org/ E-Cell Project] is an international research -project aiming at developing necessary theoretical supports, technologies -and software platforms to allow precise whole cell simulation.] - -[blurb [*VCS Made Easy] - -[@http://vcsme.sourceforge.net/ VCS Made Easy], -or vcsme for short, is an utility whose main -purpose is to simplify the maintenance of file trees managed by a version -control system, such as the well known CVS or Subversion. Simply put, -it automates the process of bringing all these directories to an up-to-date -status with a single and simple command. - -['"The following Boost libraries were used: -__format, -__smart, -__utility and -__file_system."] -] - -[blurb [*Monotone] - -[@http://www.venge.net/monotone/ Monotone] -is a free distributed version control system. It provides - a simple, single-file transactional version store, with fully disconnected - operation and an efficient peer-to-peer synchronization protocol. It - understands history-sensitive merging, lightweight branches, integrated - code review and 3rd party testing. It uses cryptographic version naming - and client-side RSA certificates. It has good internationalization support, - has no external dependencies, runs on linux, solaris, OSX, windows, and - other unixes, and is licensed under the GNU GPL. - -['"The followind Boost libraries were used: -__date_time, -__file_system, -__conversion, -__optional, -__random, -__regex, -__smart, -__static_assert, -__tokenizer, -__tuple and -__test."] -] - -[blurb [*Hydranode Engine] - -[@http://hydranode.com/ Hydranode Engine] -is a plugin-driven P2P client engine that relies -heavily on Boost libraries. Hydranode codebase is licenced under GNU -GPL, and is developed mainly by Alo Sarv. Currently in Beta phase, -Hydranode runs on wide range of platforms, including Windows, Linux, -BSD, Mac OS, Solaris etc. - -['"Hydranode Engine and plugins rely heavily on the following Boost -libraries: __bind, __function, __lambda, __multi_index, __signals, Threads, -__smart, Format, __lexical_cast. Other Boost libraries being used -include __file_system, __string_algo, __date_time, __program_options, __spirit, -__random, __tokenizer, __type_traits, __tribool, __tuple and __any. Once Boost 1.33 -is released, I'm also looking forward to using the Boost Iostreams library -in Hydranode.] - -['"All complex data structures in Hydranode are implemented using -__multi_index containers, which significantly reduced development time -and kept code clean. Format is being used for all text formatting. -Having __thread and __file_system libraries available made cross-platform -development lot easier in those areas."] -] - -[blurb [*Hugin] - -With [@http://hugin.sourceforge.net/ hugin] you can assemble a mosiac of -photographs into a complete -immersive panorama, stitch any series of overlapping pictures and much more.] - -[blurb [*Enblend] - -[@http://enblend.sourceforge.net/ Enblend] is a tool for compositing images. -Given a set of images that overlap -in some irregular way, Enblend overlays them in such a way that the seam -between the images is invisible, or at least very difficult to see.] - -[blurb [*GNU Source-highlight] - -[@http://www.gnu.org/software/src-highlite/source-highlight.html GNU Source-highlight], -given a source file, produces a document with -syntax highlighting. The colors and the styles can be specified -(bold, italics, underline) by means of a configuration file, and some -other options can be specified at the command line. The output format -can be HTML, XHTML and ANSI color escape sequences. GNU Source Highlight -is build around __regex] - -[blurb [*Luabind] - -[@http://luabind.sourceforge.net/ Luabind] is a library that helps you create -bindings between C++ and lua. It has the ability to expose functions and classes, -written in C++, to lua. It will also supply the functionality to define classes -in lua and let them derive from other lua classes or C++ classes. -Lua classes can override virtual functions from their C++ baseclasses. -It is written towards lua 5.0, and does not work with lua 4.] - -[blurb [*C++/Tcl] - -[@http://cpptcl.sourceforge.net/ C++/Tcl] is a library that allows the easy -integration of C++ and Tcl.] - -[blurb [*QuantLib] - -The [@http://quantlib.org/ QuantLib] project provides a comprehensive software -framework for quantitative finance. QuantLib is a free\/open-source library -for modeling, trading, and risk management in real-life. -Boost components used include -__smart, -__iterator, -and __test. -] - -[blurb [*CBCanaylzer] - -[@http://www.biozentrum.uni-wuerzburg.de/index.php?id=524 CBCanaylzer] - is developed by the Department of Bioinformatics, -at the University of Wuerzburg. - -['"CBCAnalyzer (CBC = compensatory base change) is a tool to create ``small'' -phylogenetic trees from sequence alignments. To measure the distance of sequences -the compensatory base changes are detected and counted. The bionj -algorithm is then used to construct a tree. CBCAnalyzer is available on -Windows, Linux and partly works on MacOSX. ] - -['"Boost libraries used: - __program_options - - creates really nice output, and is both easy to extend and simple to handle. - __iterator, - __spirit - - Saved a lot of my time, and makes the vast amount of biological file - formats simple to support, - __shared_ptr, - __lambda.] -] - -[blurb [*Profdist] - -[@http://www.biozentrum.uni-wuerzburg.de/index.php?id=523 Profdist] -is developed by the Department of Bioinformatics, at the University of Wuerzburg. - -['"Profdist is a tool for the construction of large phylogenetic trees based on -profile distances. The input alignment data gets extended by random -picking of rows, and a clustering technique is used to create profiles -of the most frequent subtrees. The iterative approach allows working on -large datasets. Currently the application is very limited by the quality of -wxWidgets, and only available for Windows and Linux. ] - -['"The Boost librarie used were: - __string_algo, - __ref, - __iterator, - __spirit, - __shared_ptr and - __lambda."] -] - -[blurb [*The Yake Engine] - -[@http://www.yake.org/ The Yake Engine] -is a component-based, object-oriented engine written in C++ -and primarily designed for VR applications and games. It abstracts typical -low-level and middleware APIs and provides various low, mid and application -level functionality as well as tools to create and import content. -] - -[blurb [*Python-Ogre] - -[@http://python-ogre.python-hosting.com/ Python-Ogre] -is a Python bindings for Ogre 3D - a scene-oriented, -flexible 3D engine. - -Python-Ogre uses __python to expose next libraries to Python: - -* Ogre\n -* Newton\n -* ODE\n -* OgreAL\n -* CEGUI\n -* OIS\n -] - -[endsect] - -[section:inhouse In House Boost] - -Whether you're a government department, an internet startup, or a specialist consultancy, in-house -developement using the Boost Libraries can significantly shorten your -development cycles. - -[blurb [*Google] - -[@http://code.google.com/p/google-gtags/ google-gtags] Provides server-based -tags serving for large codebases. This is an extension to GNU Emacs and X-Emacs -TAGS functionality, that uses __test as its -unit test framework. -] - -[blurb [*LiquidNet] - -[@http://www.liquidnet.com/ LiquidNet] is Americas number one electronic -marketplace for large block trading, and the 5th fastest growing company -according to Inc Magazine. - -"['Boost Libraries most used, in order of importance:] - -['"__shared_ptr, -__bind, -__python, -__lexical_cast, -__optional, -__any and -__tuple] -] - -[def __oce Oc'''é'''] - -[blurb [*__oce-Technologies B.V.] - -Throughout the world -[@http://www.oce.com __oce] is one of the major suppliers of document -management and printing systems and the related services. We develop, -manufacture, service and sell printers, scanners, peripheral -equipment and media, supported by unique software. __oce -products for the corporate and commercial market are widely known for -their quality, ease of use, speed and reliability. - -The Boost libraries enable us to get a higher degree of uniformity and -quality in our code. During a redesign last year we found that lots of -small constructions from Boost shortens development time and prevents -having to reinvent many wheels. Libraries that we use include -__assign, __date_time, __enable_if, __file_system, __format, __function, __iterator, -__multi_index, __operators, __optional, __pointer_cont, __signals, __smart, -__thread, and __variant. -] - -[blurb [*MetOcean Engineers] - -[@http://www.metoceanengineers.com MetOcean Engineers] -are a leading consultancy providing oceanographic and meteorological -services in support of coastal and ocean engineering and environmental -protection. Core activities encompass: oceanographic measurements; -metocean monitoring systems; coastal and ocean engineering; environmental -consultancy; data management. - -Boost Libraries currently in use: -__any, -__assign, -__bind, -__date_time, -__iterator, -__lexical_cast, -__mpl, -__phoenix, -__program_options, -__ref, -__smart, -__spirit, -__string_algo, -__tribool and -__variant -] - -[blurb [*TeraView Ltd] - -[@http://www.teraview.com TeraView Ltd] develop terahertz based systems -for a variety of applications -including spectroscopy and imaging. - -['"We use: -__thread, -__file_system, -__date_time, -__serialization, -__smart, -__function, -__bind, -__iterator, -__lexical_cast, -__format, -__tuple, -__any and -__optional"] -] - -[blurb [*NPC International] - -With about 800 restaurants, [@http://www.npcinternational.com NPC International] -is the world's largest Pizza Hut franchisee. - -['"We make extensive use of boost in our internally developed point of sale, -restaurant management, communications, and accounting systems. -We use the following Boost libraries in approximate order of frequency of use: -__bind, -__function, -__optional, -__shared_ptr, -__date_time, -__thread, -__lambda, -__type_traits, -__mpl, -__tuple, -__enable_if, -__variant, -__spirit, -__string_algo, -__preprocessor, -__file_system, -__operators, -__iterator and -__tokenizer."] -] - -[blurb [*Rational Discovery LLC] - -[@http://www.rationaldiscovery.com Rational Discovery] -provides computational modeling, combinatorial -library design and custom software development services to the -pharmaceutical, biotech and chemical industries. - -['"We do a substantial amount of internal research to develop new -approaches for applying machine-learning techniques to solve chemical -problems. Because we're a small organization and chemistry is a large -and complex field, it is essential that we be able to quickly and -easily prototype and test new algorithms. We have found the Boost -libraries, a reliable source of high-quality code, to be -indispensable.] - -['"Boost libraries used: -__python, -__graph, -__smart, -__any, -__lexical_cast, -__random, -__string_algo, -__tuple, -__ublas."] -] - -[blurb [*Archelon LLC] - -[@http://www.archelon-us.com Archelon LLC] is a global securities firm -headquartered in Chicago. We actively trade equities, futures and -derivatives in both electronic and floor-based markets. Archelon is -one of the highest volume market makers on EUREX and a leading -U.S. option market maker focusing on the most active securities. - -['"We use: -__any, -__array, -__bind, -__date_time, -__function, -__lexical_cast, -__optional, -__rational, -__regex, -__signals, -__smart, -__tokenizer, -__tuple and -__utility."] -] - -[blurb [*Automated Trading Deck] - -[@http://www.atdesk.com Automated Trading Deck] (ATD) uses a large number -of Boost libraries. ATD is a technology company specializing in -automated trading and customized equity execution solutions for its -customers. We offer automated execution solutions in all domestic cash -equity markets, including the listed, over-the-counter, exchange traded -fund and bulletin board marketplaces. Our proprietary "Pricing Engine" -and automated limit-order trading algorithms apply advanced expert -systems to limit-order trading and customer executions. -] - -[blurb [*"EB" Automotive] - -[@http://www.elektrobit.com/static/en/index.html "EB" Automotive] -is currently using __gil, __mpl and __string_algo -for a in house tool. Additionally we use Stefan Seefelds Boost.XML from -sandbox, with a few small extensions. - -['"Especially __gil gave our image preprocessing routines a strong -speed boost and greatly simplified our code".] -] - - -[endsect] - -[section:submit Submissions] - -If you have an application or library that's using Boost and would like to be -listed here, please post the following information to the -[@http://www.boost.org/more/mailing_lists.htm#main main Boost developer -mailing list]: - -* The name of the Application/Product/Service. -* The name of the company (where appropriate). -* A paragraph describing the Application/Product/Service. -* Any information you can provide about which parts of Boost you used, - along with any comments you may have on how Boost helped your product - development. -* URLs to your companies home page, and the home page of the - Application/Product/Service if there is one. - -Finally, if the subheadings used in the structure of these pages -don't fit your Product/Application/Service please say so: we're -always interested to hear how these pages can be improved or better -structured. - -[endsect] - - - From 2875bd4edafa67a83e17215988e428e526657bb5 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 2 Dec 2007 14:15:25 +0000 Subject: [PATCH 15/18] Remove formal_review_process, it looks like I forgot to when I updated the version in the new site. Refs #1350. [SVN r41582] --- formal_review_process.htm | 350 -------------------------------------- 1 file changed, 350 deletions(-) delete mode 100644 formal_review_process.htm diff --git a/formal_review_process.htm b/formal_review_process.htm deleted file mode 100644 index ca9ae11..0000000 --- a/formal_review_process.htm +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - - - - Boost Formal Review Process - - - - - - - - - - - - - - - - - - -
-HomeLibrariesPeopleFAQMore
- -

Boost Formal Review Process

-
-

Before Requesting a Formal Review

-

Read and follow the Boost submission process.  There are at - least four steps a library author must take before a formal review is - requested.

-
- -

Introduction
- What to include in Review Comments
- Results
- Notes for Review Managers
- Notes for Library Submitters
- Review Wizard
- Fast Track Reviews

- -

Introduction

- -

Proposed libraries are accepted into Boost only after undergoing a - formal review, where Boost mailing list members comment on their evaluation - of the library.

- -

The final "accept" or "reject" decision is made by the Review Manager, based on the review comments received - from boost mailing list members.

- -

Boost mailing list members are encouraged to submit Formal Review - comments:

- -
-
    -
  • Publicly on the mailing list.
  • - -
  • Privately to the Review Manager.
  • -
-
- -

Private comments to a library submitter may be helpful to her or him, - but won't help the Review Manager reach a decision, so the other forms are - preferred.

- -

What to include in Review Comments

- -

Your comments may be brief or lengthy, but basically the Review Manager - needs your evaluation of the library.  If you identify problems along - the way, please note if they are minor, serious, or showstoppers.

- -

The goal of a Boost library review is to improve the library through - constructive criticism, and at the end a decision must be made: is the - library good enough at this point to accept into Boost? If not, we hope to - have provided enough constructive criticism for it to be improved and - accepted at a later time. The Serialization library is a good example of how - constructive criticism resulted in revisions resulting in an excellent - library that was accepted in its second review.

- -

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

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

And finally, every review should answer this question:

- -
    -
  • Do you think the library should be accepted as a Boost library?  - Be sure to say this explicitly so that your other comments don't obscure - your overall opinion.
  • -
- -

Many reviews include questions for library authors. Authors are - interested in defending their library against your criticisms; otherwise - they would not have brought their library up for review. If you don't get a - response to your question quickly, be patient; if it takes too long or you - don't get an answer you feel is sufficient, ask again or try to rephrase the - question. Do remember that English is not the native language for many - Boosters, and that can cause misunderstandings.
-
- E-mail is a poor communication medium, and even if messages rarely get lost - in transmission, they often get drowned in the deluge of other messages. - Don't assume that an unanswered message means you're being ignored. Given - constructively, criticism will be taken better and have more positive - effects, and you'll get the answers you want.

- -

Results

- -

At the conclusion of the comment period, the Review Manager will post a - message to the mailing list saying if the library has been accepted or - rejected.  A rationale is also helpful, but its extent is up to the - Review Manager. If there are suggestions, or conditions that must be met - before final inclusion, they should be stated.

- -

Notes for Review - Managers

- -

Before a library can be scheduled for formal review, an active boost - member not connected with the library submission must volunteer to be the - "Review Manager" for the library.

- -

The Review Manager:

- -
    -
  • Checks the submission to make sure it really is complete enough to - warrant formal review.  See the Boost - Library Requirements and Guidelines.  If necessary, work with - the submitter to verify the code compiles and runs correctly on several - compilers and platforms.
  • - -
  • Finalizes the schedule with the Review Wizard - and the submitter .
  • - -
  • Posts a notice of the review schedule on the regular boost mailing list, the - boost-users - mailing list, and the boost-announce mailing - list. - -
      -
    • The notice should include a brief description of the library and - what it does, to let readers know if the library is one they are - interested in reviewing.
    • - -
    • If the library is known to fail with certain compilers, please - mention them in the review notice so reviewers with those compilers - won't waste time diagnosing known problems.
    • -
    -
  • - -
  • Inspects the Boost library - catalogue for libraries which may interact with the new submission. - These potential interactions should be pointed out in the review - announcement, and the author(s) of these libraries should be privately - notified and urged to participate in the review.
  • - -
  • Urges people to do reviews if they aren't forthcoming.
  • - -
  • Follows review discussions regarding the library, moderating or - answering questions as needed.
  • - -
  • Asks the review wizard for permission - to extend the review schedule if it appears that too few reviews will - be submitted during the review period.
  • - -
  • Decides if there is consensus to accept the library, and if there - are any conditions attached.
  • - -
  • Decides if there is consensus to accept the library, and if there are - any conditions attached.
  • - -
  • Posts a notice of the review results on the - regular boost mailing - list, the boost-users mailing list, - and the boost-announce mailing - list.
  • -
- -

In other words, it is the Review Manager's responsibility to make sure - the review process works smoothly.

- -

Notes for Library Submitters

- -

See Submission Process for a - description of the steps a library developer goes through to get a library - accepted by Boost.

- -

A proposed library should remain stable during the review period; it - will just confuse and irritate reviewers if there are numerous - changes.  It is, however, useful to upload fixes for serious bugs - right away, particularly those which prevent reviewers from fully - evaluating the library.  Post a notice of such fixes on the mailing - list.

- -

Library improvements suggested by reviewers should normally be held - until after the completion of review period.  If the suggested changes - might affect reviewer's judgments, post a notice of the pending change - on the mailing list.

- -

Review Wizard

- -

The Review Wizard coordinates the formal review schedule:

- -
    -
  • Maintains a list of review manager volunteers, in the form of a - queue, so that volunteers who least recently managed reviews become the - prime candidates for upcoming reviews.
  • - -
  • When a formal review is requested for a library:
  • - -
  •   - -
      -
    • Assign a review manager and suggests a schedule, after checking - (via private email) availability of the volunteers at the top of - review manager queue.
    • - -
    • Finalize the schedule, once the review manager verifies the - library is actually ready for review.
    • - -
    • Resolve schedule slips or other issues with review managers and - submitters.
    • -
    -
  • - -
  • Monitors the general review process, and makes minor adjustments as - needed, or queries the list about possible major adjustments.
  • -
- The role of Boost Review Wizard is currently played by John - Phillips (phillips at mps dot ohio-state dot edu) and Ronald - Garcia (garcia at cs dot indiana dot edu). - -
  • Resolves questions from review managers and library submitters, who - sometimes want a third opinion on questions such as "Should we extend the - review period because ...?"
  • - -
  • Monitors the general review process, and makes minor adjustments as - needed, or queries the list about possible major adjustments.
  • - The role of Boost Review Wizard is currently played by Tom Brinkman and Ronald Garcia (garcia at - cs dot indiana dot edu). - -

    Revised - 10 October, 2006

    - -

    To qualify for fast track review:

    - -
      -
    • The component must be small.
    • - -
    • The technique must be already in use in Boost libraries and the new - component provides a common implementation.
    • - -
    • A full Boost-conformant implementation is available in the - sandbox.
    • - -
    • The Review Wizard determines that the proposal qualifies for fast - track review.
    • -
    - -

    Procedure:

    - -
      -
    • The Boost Review Wizard posts a review announcement to the main Boost - developer's list. The review period will normally last for 5 days. No two - fast track reviews will run in parallel. Fast track reviews may run - during full reviews, though generally this is to be avoided.
    • - -
    • After the review period ends, the submitter will post a review - summary containing proposed changes to the reviewed implementation.
    • - -
    • The Review Wizard will accept or reject the proposed library and - proposed changes.
    • - -
    • After applying the proposed changes, the component is checked into - CVS like any other library.
      -  
    • -
    -
    - -

    Revised - 15 - October, 2003

    - -

    © Copyright Beman Dawes 2000

    - -

    Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or copy - at http://www.boost.org/LICENSE_1_0.txt)

    - - From afd10faf210c20973d477f0afece9f65f8ecd451 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 2 Dec 2007 17:03:43 +0000 Subject: [PATCH 16/18] Obsolete. [SVN r41587] --- boost_soc_06_overview.html | 820 ------------------------------------- 1 file changed, 820 deletions(-) delete mode 100644 boost_soc_06_overview.html diff --git a/boost_soc_06_overview.html b/boost_soc_06_overview.html deleted file mode 100644 index f8d6770..0000000 --- a/boost_soc_06_overview.html +++ /dev/null @@ -1,820 +0,0 @@ - - - - - -An overview of Boost participation in -Google Summer of Code™ 2006 - - - - - -boost.png (6308 bytes) -

    An overview of Boost participation in -Google Summer of Code™ 2006

    - -
    - -

    -For the second consecutive year, Google has conducted its -Summer of Code™ initiative, -a program by which student developers are sponsored for their contributions -within open source organizations willing to mentor the participants. The 2006 -campaign has run between April and September, with active development work -taking place between May 23 and August 21. -

    - -

    -Around mid April, when the program had just started, some Boost members began -considering the possibility to enter Summer of Code as a mentoring -organization. Despite the lack of time and the fact that most of us were -completely new to this initiative, Boost managed to successfully apply for -the program. As a result ten projects were selected and mentored, most of -which are expected to become full contributions to Boost in the near future. -

    - -

    -We give here a summary report of this experience, along with a short analysis -of the main problems we found, so that we can work at solving them and do -better next year. -

    - -

    Contents

    - - - - -

    How the program works

    - -

    -There are three types of participants in Google Summer of Code: -

      -
    • Google itself acts as the funding partner and conducts the overall - program.
    • -
    • The open source organizations accepted into the program must designate - people inside the organization who will act as project mentors.
    • -
    • Students submit their project ideas and, if selected, work in - collaboration with one of the mentoring organizations; upon successful - completion of the project, students receive the full stipend for the - program.
    • -
    -The program goes through the following stages: -
      -
    • Organization selection: those open source organizations willing to - enter Summer of Code submit an expression of interest to Google, along - with information Google uses for qualifying purposes. Selected organizations - are publicly announced and each organization is expected to provide a pool - of project ideas.
    • -
    • Student selection: students willing to participate submit one or more - project proposals, typically expanding on some of the ideas previously - provided by the mentoring organizations. A student can apply several times - and for different organizations, but ultimately can only be chosen for just - one project. These proposals are routed by Google to the appropriate - organizations, which must analyze them, rank them, and assign mentors to the - most promising applications. Based on the information provided by mentoring - organizations, Google issues the final list of accepted projects.
    • -
    • Development: Students, guided by their assigned mentors, are expected to - complete the projects in a period of three months. Google asks mentors for a - mid-program review upon which continuation of the project depends.
    • -
    • Final review: Once the development period is over, mentors are requested - to inform Google on the results of the project, and determine whether students - qualify to receive the full stipend.
    • -
    -

    - -

    2006 figures

    - -

    -The 2006 campaign of Google Summer of Code took place between April 14 and -September 25. A total of 102 mentoring organizations participated. Of the 6,338 -applications submitted by 3,044 students around the globe, 630 were finally -selected and funded. Google has spent more than US$3 million in student stipends -and compensations to the mentoring organizations. -

    - -

    Boost participation

    - -

    Application and -process selection

    - -

    -On April 14, the same day Google Summer of Code started, Julio M. Merino Vidal -(later to become one of the selected students) sent a message encouraging Boost -members to participate in this program as a mentoring organization. This call -sparked the interest of the community; although time was already short for doing -all the preparation labors, Boost moderators put rapidly themselves to work and -conducted the preliminary registration steps. In the meantime, a Wiki page was -grown with project ideas provided by Boost members, totalling more than twenty -proposals. -

    - -

    -By the beginning of May Boost was officially accepted into the program and Boost -moderators set out to form a group of mentors, selected on an invitation basis. -As student selection is a delicate process, involving the assessment of individuals -on their technical skills, all subsequent discussions were conducted by the -selected mentors on a private mail list established for their collaboration. -

    - -

    -We were not prepared for the avalanche of student applications that followed. On -day two after the application period was open, we had received three proposals; -next day it was 14, and within a week the count exceeded 50. By the end of the -application period the total number of proposals received was 174, which forced -us to go through a very intensive ranking process and recruit additional mentors. -Two rules were followed so as rationalize the process of selection among dozens -of different proposals: -

      -
    • Where there were competing applications for the same project idea, only - one were to be ultimately selected; so, no two projects with the same or very - similar goals were accepted.
    • -
    • Some of the applications built on a given Boost library (for instance, the - Boost Graph Library is a frequent target for the addition of algorithms.) We - limited the applications to a maximum of two per Boost library.
    • -
    -These rules have the combined effect of greatly reducing the number of eligible -applications while at the same time distributing the accepted projects evenly -across the space of ideas. Moreover, students with unique proposals, i.e. project -ideas not coming from the pool originally presented by Boost, are at a -competitive advantage. -

    - -

    -The different proposals were classified according to its related technological -area so that each cluster could be handled by an appointed mentor with the -required expertise on the subject. Mentors submitted then "focus reports" -summarizing the applications under their responsibility; these reports served as -a first filter to help reduce the number of final applications to be evaluated -jointly. Along the process, students with the most promising proposals were asked -to refine their ideas and provide further information. -

    - -

    -Although not enforced by the official rules, we agreed upon a one-to-one ratio -of mentors to students, which ultimately marked a hard limit on the maximum number -of eligible projects. -

    - -

    Accepted projects

    - -

    -Google accepted and funded the ten top-ranked projects endorsed by Boost. Of -these, eight projects are libraries or library components targeted for future -inclusion into Boost, while the remaining two consist of utility programs -heavily relying on Boost. -

    - -
    -C++ Coroutine Library -
    -Giovanni Piero Deretta, mentored by Eric Niebler. -
    -Library for the management through a modern C++ interface of OS-provided -coroutine facilities. -
    - -
    -Concurrency Library -
    -Matthew Calabrese, mentored by David Abrahams. -
    -STL-inspired generic framework for high-level specification and execution of -parallelizable algorithms. -
    - -
    -TR1 Math Special Functions -
    -Xiaogang Zhang, mentored by John Maddock. -
    -Implementation of the 23 special mathematical functions specified in C++ -standard library extension proposal TR1. -
    - -
    -The Boost.Process library -
    -Julio M. Merino Vidal, mentored by Jeff Garland. -
    -Portable library for process launching and basic management. -
    - -
    -Out-of-Core Graphs and Graph Algorithms -
    -Stéphane Zampelli, mentored by Jeremy Siek. -
    -Extension of the Boost Graph Library to deal with out-of-core structures, -i.e. data sets too large to be kept in main memory at once. -
    - -
    -MISC (M)ulti (I)ndex (S)pecialized (C)ontainers -
    -Matías Capeletto, mentored by Joaquín M López Muñoz. -
    -Families of specialized containers internally based on Boost.MultiIndex. -
    - -
    -Generic Tree Container -
    -Bernhard Reiter, mentored by René Rivera. -
    -Design and implementation of a family of STL-compatible tree containers. -
    - -
    -Viewer utility for FSMs -
    -Ioana Tibuleac, mentored by Andreas Huber Dönni. -
    -Utility program for the visualization of finite state machines (FSMs) specified -with Boost.Statechart. -
    - -
    -Modular C++ preprocessor, using Boost.Spirit -
    -Hermanpreet 'Lally' Singh, mentored by Joel de Guzman. -
    -Implementation with Boost.Spirit and Boost.Wave of a front-end translator -from Modular C++ (as specified in a proposal to add modules to C++ by Daveed -Vandevoorde) to standard C++. -
    - -
    -Implementing a state of the art Mincut/Maxflow algorithm. -
    -Stephan Diederich, mentored by Douglas Gregor. -
    -Implementation of a fast mincut/maxflow routine for the Boost Graph Library -based on a new algorithm devised by Vladimir Kolmogorov. -
    - -

    Development

    - -

    -Two main facilities were set up to assist students and mentors during the -development phase: a mailing list and a Trac/SVN project management system -with separate directories for each project. One of the students, Matías -Capeletto, out of personal initiative registered a Google Group aimed at giving -students with Boost a place for informal interaction and discussion of common -problems. -

    - -

    -After the initial warm-up period, each student-mentor pair performed development -work mostly privately. The usage of the Boost mailing lists was scarce, and -only by the end of the program did some students publicly announced their results. -

    - -

    Results

    - -

    -By the date the development period was officially closed, the status of the -different projects was as follows: -

      -
    • Seven projects were completed or nearly completed and the students are - expected to ask for a formal review within 2006 or early 2007. Four of these - projects necessitated a goal reorientation during development, basically - because the original plan was too ambitious for three months. Most of the - projects are still in active development during the months following the - Summer of Code program.
    • -
    • Two projects did not reach the planned goals, but nevertheless produced - useful material that could be expanded outside of the Summer of Code - program.
    • -
    • One project was abandoned shortly after the midterm review. The reasons - for the abandonment are unknown.
    • -
    -The results of all the projects can be consulted online at the dedicated -Trac -site. -

    - -

    Analysis

    - -

    -We examine the various stages of Boost participation in Summer of Code, with an -emphasis on discovering opportunities for improvement. -

    - -

    Boost appeal

    - -

    -In a mid project -presentation at OSCON -2006, Chris DiBona from Google provided some data about the organizations -which received the most applications: -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    OrganizationNo of applications
    KDE244
    Ubuntu & Bazaar236
    Python Software Foundation212
    GNOME199
    Apache Software Foundation190
    Boost174
    Gaim152
    The GNU Project148
    Drupal146
    -

    -
    -The numbers shown here have been estimated from a chart included in the -presentation slides. This chart contains an additional column labeled "Google" -which actually accounts for the applications dismissed because of their low -quality. -
    - -

    -The fact that Boost is ranked the sixth most attractive organization out of a -total of 102 was entirely unexpected, especially considering the wide popularity -of the rest of top-rated organizations. There is a more or less implicit -consensus among Boost members that ours is a relatively niche project, known for -its quality standards by seasoned C++ practitioners, but with a limited penetration -among entry level programmers: maybe the figures above should make us reconsider -this assumption. A cursory examination of the applications submitted to Boost reveals -that most applicants were regular users of Boost: many cite the Boost status among -the C++ community as an appealing factor in order to apply. -

    - -

    Opportunities lost?

    - -

    -If we look at the number of funded projects with respect to the applications received, -figures are not so favorable to Boost.

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    OrganizationNo of projectsProject/app ratio
    KDE249.8 %
    Ubuntu & Bazaar229.3 %
    Python Software Foundation2310.8 %
    GNOME199.5 %
    Apache Software Foundation2714.2 %
    Boost105.7 %
    Gaim85.3 %
    The GNU Project106.8 %
    Drupal149.6 %
    -

    - -

    -It turns out that the project/application ratio for almost any other organization -among the top nine is considerably higher than that of Boost. As it happens, Google -initially requested that organizations submitted the maximum number of projects they -felt they could cope with, and we got funding for exactly what we aimed for, so the -limiting factor lies entirely on Boost's side. -

    - -

    Projects startup

    - -

    -Contributing to Boost relies on a fair number of guidelines and protocols for -coding, documentation, testing and maintenance. Many of the required tools are -exclusively used within Boost, and some of them are not trivial, like for instance -Boost.Build. Although the Boost web site contains information about all these tools -and procedures, this intelligence is scattered through unrelated pages and sometimes -is very hard to come by. -

    - -

    -So, there is a good deal of expertise required to begin working at Boost. Some -students have reported on startup difficulties getting to know these details and -familiarizing themselves with the tools, most notably bjam and Quickbook. Each -student overcome the startup difficulties on their own or resorting to their -mentors (see the section on public -communication issues). -

    - -

    Ongoing development

    - -

    -Once students got past the startup stage, most projects advanced without serious -complications. In the majority of cases, it was realized at some point during -the development that there was no time to complete it. Some participants had to -redefine the goals in an effort to keep the project within schedule, while others -simply decided that they would continue working after the official deadline of -Summer of Code. -

    - -

    -The information flow between each student and their mentor was usually reported -by both parties to be satisfactory. The projects suffering from lack of -communication have been precisely those yielding the poorest results. In general, -mentors have not felt overwhelmed by requests from their students, and even in a -couple of cases the projects were run practically unattendedly. This fact is -witness to the high competence of the students recruited into the program. -

    - -

    -The degree of usage of the Trac/SVN system has varied. Some students did frequent -updates, while others have just used the repository to dump the final results for -the official submission to Google. -

    - -

    Public communication -issues

    - -

    -Students and mentors had at their disposal three different forums for the public -interchange of information and support: -

      -
    • Boost public lists, especially the developers and users lists.
    • -
    • A dedicated mailing list reaching all students and mentors working at - Summer of Code in Boost.
    • -
    • A more casual Google Group, set up by one of the students, aimed at - providing the participants with a place for socializing and resolution of - common problems.
    • -
    -Despite this abundance of resources, there was an almost complete lack of group -communication among all the parties involved and between these and the larger -Boost community. Seemingly, students were satisfied to pursue their activities by -relying on support from their mentors alone. This circumstance has prevented -Boost members from enriching the initiative by offering their experience and -insight, and has possibly led students to the false impression that contributing -to Boost proceeds in a predictable linear path from requisites to completion of -the work. When asked about their not engaging in public communication, the students -gave vague justifications that can be classified into the following: -
      -
    • Doubts were deemed too technical or specific to be worth raising in - public.
    • -
    • A crave for perfectionism detracted students from asking or submitting work - in progress until they felt their material looked good enough.
    • -
    • Shyness: some students probably lacked previous experience communicating in - public, and most are not English native speakers, which could also be a - limiting factor.
    • -
    -Although students did not identify the following as a reason not to go public, it -is likely that many of them did not feel the need given the readily access to their -mentors they enjoyed. It is easy to grow used to such a dedicated source of support -and neglect resorting to other resources. Mentors should have encouraged their -students to pursue the public discussion of projects, which constitutes one of the -pillars of Boost renowned quality. -

    - -

    Scope of projects

    - -

    -In hindsight, it has become apparent that most projects were too ambitious to be -completed within the three months of duration of the program, and even those that -were considered a success will need weeks or months of polishing up before the -material is ready for a formal review. In contrast with other organizations -participating in the Summer of Code program, Boost has as of this writing included -no results into its code base. No formal review for any project has been requested -yet, either. -

    - -

    -These scope issues are very dependent on the particular type of project. We can -classify the Boost projects for Summer of Code as follows: -

      -
    • Full-fledged libraries,
    • -
    • additions to existing Boost libraries,
    • -
    • utilities and tool projects using Boost.
    • -
    -Of these, additions (like for instance the mincut/maxflow algorithm for BGL by -Stephan Diederich) are the most suitable for completion in a short period of time: -most of the preparation work is already done, and the student has clear guides as -to what coding and documentation standards to follow. Also, these projects need -not undergo a formal review, since it is the responsibility of the hosting library -author to review the code and include it within her discretion. Utility projects -seem also suitable for small timeframes, though most project proposals and requests -are naturally oriented to contributions of actual code to the Boost project. -

    - -

    -As for those projects involving the design and realization of full-fledged -libraries, there is little hope that the goals and scope can be kept modest enough -for a three-month schedule. Boost candidate libraries developed by professional -authors usually take much longer than three months to be accepted; some libraries -have been evolving through several years before being included into Boost. -So, the best we can hope for if we are to support the realization of library projects -for Boost inside Summer of Code is that the results by the end of the program can -be evaluated to constitute a viable potential contribution to Boost. When this is -the case, it is crucial that the student commits to further working on the project -up to completion and formal review. Perhaps more important than getting libraries -coded is to engage new authors into a long-term relationship with the Boost project. -

    - -

    Suggestions for improvement

    - -

    -The following proposals aim to alleviate some of the problems we have identified -during the development of Summer of Code within Boost. These action points are -related only to the issues found in connection with Boost: we are not addressing -other areas of improvement associated to the Summer of Code program itself. -

    - -

    Preparation

    - -

    -Much work can be done before the actual program begins. The following preparation -activities can already be launched: -

    - -

    -Create a pool of ideas for projects. This action will provide valuable extra -time for evaluation and refining of ideas before the Summer of Code begins. -The experience has shown that those projects with more preparation work, especially -in the area of design, were ultimately more successful. The pool can also be used -to retain interesting ideas that arise at the mailing lists and very often are -not given proper attention and become abandoned. -

    - -

    -Create a student pool. Prior involvement with Boost is clearly an advantage -both in the selection phase and later during project development. Those students -with a serious interest in participating in Summer of Code with Boost can enter -the pool and begin exploring ideas and interacting with the community well in -advance of the summer, so as to put themselves in a favorable position for the -selection. Advertisement for the student pool can be initiated in the beginning of -2007 through the usual channels (web site and mailing lists): additionally, Boost -members involved with the University can spread this information locally and help -raise the interest of students in their environment. -

    - -

    -Create a mentor pool. Given the rush with which Boost entered the 2006 -Summer of Code campaign, the invitation of mentors has to be done on an on-demand -basis as it became all too evident that the task was growing bigger and bigger. -It is important that the organization is better prepared next year so that a -number of people with the ability and will to participate as Boost mentors are -identified in advance. -

    - -

    -Prepare a startup package. In order to facilitate the initial period of -getting familiarized with the various Boost guidelines, protocols and tools, it -would be extremely useful to prepare a compilation of startup material for -students. This package can consist of a single document gathering the currently -dispersed information, or go beyond this and provide some bundle of documentation -and pre-built tools, an approach that one of the students is currently working on. -

    - -

    Public communication

    - -

    -It is crucial that students get involved with the community as soon as possible -and grow to appreciate the advantages of public development with respect to -solitary coding. -

    - -

    -Mandate (bi)weekly reports. These reports should be directed to the public -mailing lists so as to give all Boost members an opportunity to follow the work -in progress and contribute. Reporting has the extra benefit for students of -forcing them to reflect on their own work periodically and struggle with the -often difficult task of presenting their ideas to others. -

    - -

    -Conduct student-mentor exclusively through public channels. This might be -too drastic a policy, as some matters need privacy, and depending on the amount -of information exchanged flooding problems may arise. Less severe variations -involve allowing for some private interchange at the mentors' discretion and -moving this kind of communication to a dedicated public mailing list different -from the general ones. -

    - -

    Project management

    - -

    -The two most important issues to improve upon with respect to the management are: -

      -
    • Project scope must be kept under control,
    • -
    • The progress has to be publicly visible, so that problems of scope, - design and/or schedule can be more easily detected.
    • -
    -Some of the proposals in this section are not to be regarded as strict rules, -but rather as general guidelines to be kept in mind by students and encouraged -by mentors. -

    - -

    -Create a best practices document. This document can serve as a guideline -for project management, an area in which Boost traditionally imposes no -requirements. Students might lack the expertise in this area that is usually -taken for granted in the traditional model where contributions to Boost are -made by professional programmers. -

    - -

    -Mandate a design phase. Having a concrete design set up and clearly -described early in the project will help estimate the necessary effort for -completion of the work. This is also an opportunity for public discussion. -

    - -

    -Maintain code, docs and tests in parallel. All too often, novice -programmers do the coding in one fell swoop and only then move to testing and -documenting their work. This is unacceptable by all current methodology -standards, and can result in serious underestimations of the time to -completion. -

    - -

    -Encourage the KISS principle. It is much better to finish a simpler library -and then iteratively evolve it, once it has been exposed to public scrutiny and -usage. -

    - -

    -More Trac updates. The repository should be viewed as an everyday work -tool, not only as the place into which to dump the final results. Updating often -leads to more visibility of the work by the mentor and the public in general. -

    - -

    -Informal reviews. The typical Summer of Code Boost project will not be -completed by the official deadline, as have been discussed earlier. To somehow -officialize the work done within the Summer of Code proper, and also to allow -the students to reach some sort of psychological milestone, informal reviews can -be instituted where Boost members evaluate the work done at then end of Summer -of Code. -

    - -

    -Engage students. This experience has shown that it is possible to guide -willing and bright students to the competence levels required for contributing -to Boost. The best possible outcome of Summer of Code campaigns are the -incorporation of new people into the circle of Boost active contributors. Strive -to make the students commit to Boost. -

    - -

    Conclusions

    - -

    -Despite the lack of previous experience in Boost, our participation in Google -Summer of Code has been extremely fruitful: much useful material has been produced, -and, perhaps more importantly, some of the students are likely to commit on a -long-term basis and grow to be regular Boost contributors. Traditionally, becoming -a productive Boost author has a very high entry barrier due to the extreme quality -standards, lack of public support and the very specific culture of the project. -The appeal of Summer of Code itself and the possibility of being gently mentored -into the world of Boost have most likely been key factors in lowering this entry -barrier. -

    - -

    -The process has not been without some difficulties, either, as it was expected of -a newcomer organization as Boost. We have tried to identify in this paper the -areas of improvement and suggest specific actions so that the upcoming Google -Summer of Code 2007 can be an even more rewarding experience. -

    - -

    Acknowledgements

    - -

    -This paper couldn't have been written without the numerous reports and contributions -kindly provided by Boost students and mentors: Many thanks to all the participants -for sharing their experiences with me. Thank you also to the people at Google who -have promoted and conducted the Summer of Code initiative. -

    - -
    - -

    Revised October 17th 2006

    - -

    © Copyright 2006 Joaquín M López Muñoz. -Distributed under the Boost Software -License, Version 1.0. (See accompanying file -LICENSE_1_0.txt or copy at -http://www.boost.org/LICENSE_1_0.txt) -

    - - - From 60db50f5d7941fa1edc201ae1f326764a4ac537b Mon Sep 17 00:00:00 2001 From: Daniel James Date: Thu, 6 Dec 2007 07:47:43 +0000 Subject: [PATCH 17/18] Update/fix a load of links, add a missing jamfile. [SVN r41777] --- formal_review_process.htm | 2 +- getting_started/detail/conclusion.rst | 4 ++-- getting_started/unix-variants.html | 10 ++++----- getting_started/unix-variants.rst | 2 +- getting_started/windows.html | 8 +++---- index.htm | 6 +++--- writingdoc/design.html | 2 +- writingdoc/template/index.html | 30 +++++++++++++-------------- 8 files changed, 32 insertions(+), 32 deletions(-) diff --git a/formal_review_process.htm b/formal_review_process.htm index ca9ae11..8cc7835 100644 --- a/formal_review_process.htm +++ b/formal_review_process.htm @@ -47,7 +47,7 @@ div.admonition p.admonition-title { Libraries - People use in the Boost.Build documentation. If that isn't your problem or the user-config.jam file doesn't work for you, please address questions about configuring Boost for your compiler to the -Boost.Build mailing list.

    +Boost.Build mailing list.

    @@ -695,13 +695,13 @@ surely a few additional points you'll wish we had covered. One day we may have a “Book 2 in the Getting Started series” that addresses them. Until then, we suggest you pursue the following resources. If you can't find what you need, or there's anything we can do to -make this document clearer, please post it to the Boost Users' +make this document clearer, please post it to the Boost Users' mailing list.

    @@ -719,7 +719,7 @@ mailing list.

    [1]

    If developers of Boost packages would like to work with us to make sure these instructions can be used with their packages, we'd be glad to help. Please make your interest known -to the Boost developers' list.

    +to the Boost developers' list.

    diff --git a/getting_started/unix-variants.rst b/getting_started/unix-variants.rst index ca9a3d0..1adfa1f 100644 --- a/getting_started/unix-variants.rst +++ b/getting_started/unix-variants.rst @@ -225,7 +225,7 @@ Spoil Rock Hunter?” packages, we'd be glad to help. Please make your interest known to the `Boost developers' list`_. - .. _Boost developers' list: ../../more/mailing_lists.htm#main + .. _Boost developers' list: http://beta.boost.org/community/groups.html#main .. [#lowercase-l] That option is a dash followed by a lowercase “L” character, which looks very much like a numeral 1 in some fonts. diff --git a/getting_started/windows.html b/getting_started/windows.html index 38a57eb..f413973 100644 --- a/getting_started/windows.html +++ b/getting_started/windows.html @@ -560,7 +560,7 @@ linker, consider setting up a use in the Boost.Build documentation. If that isn't your problem or the user-config.jam file doesn't work for you, please address questions about configuring Boost for your compiler to the -Boost.Build mailing list.

    +Boost.Build mailing list.

    @@ -766,13 +766,13 @@ surely a few additional points you'll wish we had covered. One day we may have a “Book 2 in the Getting Started series” that addresses them. Until then, we suggest you pursue the following resources. If you can't find what you need, or there's anything we can do to -make this document clearer, please post it to the Boost Users' +make this document clearer, please post it to the Boost Users' mailing list.

    diff --git a/index.htm b/index.htm index 47d3db8..de1c855 100644 --- a/index.htm +++ b/index.htm @@ -14,7 +14,7 @@ boost.png (6897 bytes) Home Libraries - People + People FAQ More @@ -53,9 +53,9 @@ about the Boost Software License.

    Bibliography  Print and online publications relating to Boost and Boost libraries.

    -

    Who's Using Boost?   +

    Who's Using Boost?   Products and organisations that are using Boost.

    -

    Compiler Status  Describes +

    Compiler Status  Describes what library works with which compiler.

    Links  Links of special interest to Boost users.

    diff --git a/writingdoc/design.html b/writingdoc/design.html index 7e95a63..d1f1a5f 100644 --- a/writingdoc/design.html +++ b/writingdoc/design.html @@ -225,7 +225,7 @@ understand why a library was designed the way it was and may reduce the frequency of a number of frequently asked questions. For a better description of why rationale is important see the Rationale rationale + "http://beta.boost.org/development/requirements.html#Rationale">Rationale rationale in the general submission guidelines.

    Like most content pages, the Rationale page should include a

    -
    {{header}}
    +
    {{header}}
    -
    Macros
    +
    Macros
    -
    {{macro name}}
    +
    {{macro name}}
    -
    Values
    +
    Values
    -
    {{value name}}
    +
    {{value name}}
    -
    Types
    +
    Types
    -
    {{type name}}
    +
    {{type name}}
    -
    Classes
    +
    Classes
    -
    {{class name}}
    +
    {{class name}}
    -
    Functions
    +
    Functions
    -
    {{function +
    {{function name}}
    -
    Objects
    +
    Objects
    -
    {{object name}}
    +
    {{object name}}
    @@ -99,9 +99,9 @@
    Definitions
    -
    Frequently Asked Questions (FAQs)
    +
    Frequently Asked Questions (FAQs)
    -
    Bibliography
    +
    Bibliography
    Acknowledgments
    From 4f5368781cb5b7d6d42c40375e3aa300e0141d89 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Fri, 7 Dec 2007 01:12:02 +0000 Subject: [PATCH 18/18] Merge from trunk, finally. [SVN r41817] --- boost_soc_06_overview.html | 820 ------------------------------------- formal_review_process.htm | 350 ---------------- 2 files changed, 1170 deletions(-) delete mode 100644 boost_soc_06_overview.html delete mode 100644 formal_review_process.htm diff --git a/boost_soc_06_overview.html b/boost_soc_06_overview.html deleted file mode 100644 index f8d6770..0000000 --- a/boost_soc_06_overview.html +++ /dev/null @@ -1,820 +0,0 @@ - - - - - -An overview of Boost participation in -Google Summer of Code™ 2006 - - - - - -boost.png (6308 bytes) -

    An overview of Boost participation in -Google Summer of Code™ 2006

    - -
    - -

    -For the second consecutive year, Google has conducted its -Summer of Code™ initiative, -a program by which student developers are sponsored for their contributions -within open source organizations willing to mentor the participants. The 2006 -campaign has run between April and September, with active development work -taking place between May 23 and August 21. -

    - -

    -Around mid April, when the program had just started, some Boost members began -considering the possibility to enter Summer of Code as a mentoring -organization. Despite the lack of time and the fact that most of us were -completely new to this initiative, Boost managed to successfully apply for -the program. As a result ten projects were selected and mentored, most of -which are expected to become full contributions to Boost in the near future. -

    - -

    -We give here a summary report of this experience, along with a short analysis -of the main problems we found, so that we can work at solving them and do -better next year. -

    - -

    Contents

    - - - - -

    How the program works

    - -

    -There are three types of participants in Google Summer of Code: -

      -
    • Google itself acts as the funding partner and conducts the overall - program.
    • -
    • The open source organizations accepted into the program must designate - people inside the organization who will act as project mentors.
    • -
    • Students submit their project ideas and, if selected, work in - collaboration with one of the mentoring organizations; upon successful - completion of the project, students receive the full stipend for the - program.
    • -
    -The program goes through the following stages: -
      -
    • Organization selection: those open source organizations willing to - enter Summer of Code submit an expression of interest to Google, along - with information Google uses for qualifying purposes. Selected organizations - are publicly announced and each organization is expected to provide a pool - of project ideas.
    • -
    • Student selection: students willing to participate submit one or more - project proposals, typically expanding on some of the ideas previously - provided by the mentoring organizations. A student can apply several times - and for different organizations, but ultimately can only be chosen for just - one project. These proposals are routed by Google to the appropriate - organizations, which must analyze them, rank them, and assign mentors to the - most promising applications. Based on the information provided by mentoring - organizations, Google issues the final list of accepted projects.
    • -
    • Development: Students, guided by their assigned mentors, are expected to - complete the projects in a period of three months. Google asks mentors for a - mid-program review upon which continuation of the project depends.
    • -
    • Final review: Once the development period is over, mentors are requested - to inform Google on the results of the project, and determine whether students - qualify to receive the full stipend.
    • -
    -

    - -

    2006 figures

    - -

    -The 2006 campaign of Google Summer of Code took place between April 14 and -September 25. A total of 102 mentoring organizations participated. Of the 6,338 -applications submitted by 3,044 students around the globe, 630 were finally -selected and funded. Google has spent more than US$3 million in student stipends -and compensations to the mentoring organizations. -

    - -

    Boost participation

    - -

    Application and -process selection

    - -

    -On April 14, the same day Google Summer of Code started, Julio M. Merino Vidal -(later to become one of the selected students) sent a message encouraging Boost -members to participate in this program as a mentoring organization. This call -sparked the interest of the community; although time was already short for doing -all the preparation labors, Boost moderators put rapidly themselves to work and -conducted the preliminary registration steps. In the meantime, a Wiki page was -grown with project ideas provided by Boost members, totalling more than twenty -proposals. -

    - -

    -By the beginning of May Boost was officially accepted into the program and Boost -moderators set out to form a group of mentors, selected on an invitation basis. -As student selection is a delicate process, involving the assessment of individuals -on their technical skills, all subsequent discussions were conducted by the -selected mentors on a private mail list established for their collaboration. -

    - -

    -We were not prepared for the avalanche of student applications that followed. On -day two after the application period was open, we had received three proposals; -next day it was 14, and within a week the count exceeded 50. By the end of the -application period the total number of proposals received was 174, which forced -us to go through a very intensive ranking process and recruit additional mentors. -Two rules were followed so as rationalize the process of selection among dozens -of different proposals: -

      -
    • Where there were competing applications for the same project idea, only - one were to be ultimately selected; so, no two projects with the same or very - similar goals were accepted.
    • -
    • Some of the applications built on a given Boost library (for instance, the - Boost Graph Library is a frequent target for the addition of algorithms.) We - limited the applications to a maximum of two per Boost library.
    • -
    -These rules have the combined effect of greatly reducing the number of eligible -applications while at the same time distributing the accepted projects evenly -across the space of ideas. Moreover, students with unique proposals, i.e. project -ideas not coming from the pool originally presented by Boost, are at a -competitive advantage. -

    - -

    -The different proposals were classified according to its related technological -area so that each cluster could be handled by an appointed mentor with the -required expertise on the subject. Mentors submitted then "focus reports" -summarizing the applications under their responsibility; these reports served as -a first filter to help reduce the number of final applications to be evaluated -jointly. Along the process, students with the most promising proposals were asked -to refine their ideas and provide further information. -

    - -

    -Although not enforced by the official rules, we agreed upon a one-to-one ratio -of mentors to students, which ultimately marked a hard limit on the maximum number -of eligible projects. -

    - -

    Accepted projects

    - -

    -Google accepted and funded the ten top-ranked projects endorsed by Boost. Of -these, eight projects are libraries or library components targeted for future -inclusion into Boost, while the remaining two consist of utility programs -heavily relying on Boost. -

    - -
    -C++ Coroutine Library -
    -Giovanni Piero Deretta, mentored by Eric Niebler. -
    -Library for the management through a modern C++ interface of OS-provided -coroutine facilities. -
    - -
    -Concurrency Library -
    -Matthew Calabrese, mentored by David Abrahams. -
    -STL-inspired generic framework for high-level specification and execution of -parallelizable algorithms. -
    - -
    -TR1 Math Special Functions -
    -Xiaogang Zhang, mentored by John Maddock. -
    -Implementation of the 23 special mathematical functions specified in C++ -standard library extension proposal TR1. -
    - -
    -The Boost.Process library -
    -Julio M. Merino Vidal, mentored by Jeff Garland. -
    -Portable library for process launching and basic management. -
    - -
    -Out-of-Core Graphs and Graph Algorithms -
    -Stéphane Zampelli, mentored by Jeremy Siek. -
    -Extension of the Boost Graph Library to deal with out-of-core structures, -i.e. data sets too large to be kept in main memory at once. -
    - -
    -MISC (M)ulti (I)ndex (S)pecialized (C)ontainers -
    -Matías Capeletto, mentored by Joaquín M López Muñoz. -
    -Families of specialized containers internally based on Boost.MultiIndex. -
    - -
    -Generic Tree Container -
    -Bernhard Reiter, mentored by René Rivera. -
    -Design and implementation of a family of STL-compatible tree containers. -
    - -
    -Viewer utility for FSMs -
    -Ioana Tibuleac, mentored by Andreas Huber Dönni. -
    -Utility program for the visualization of finite state machines (FSMs) specified -with Boost.Statechart. -
    - -
    -Modular C++ preprocessor, using Boost.Spirit -
    -Hermanpreet 'Lally' Singh, mentored by Joel de Guzman. -
    -Implementation with Boost.Spirit and Boost.Wave of a front-end translator -from Modular C++ (as specified in a proposal to add modules to C++ by Daveed -Vandevoorde) to standard C++. -
    - -
    -Implementing a state of the art Mincut/Maxflow algorithm. -
    -Stephan Diederich, mentored by Douglas Gregor. -
    -Implementation of a fast mincut/maxflow routine for the Boost Graph Library -based on a new algorithm devised by Vladimir Kolmogorov. -
    - -

    Development

    - -

    -Two main facilities were set up to assist students and mentors during the -development phase: a mailing list and a Trac/SVN project management system -with separate directories for each project. One of the students, Matías -Capeletto, out of personal initiative registered a Google Group aimed at giving -students with Boost a place for informal interaction and discussion of common -problems. -

    - -

    -After the initial warm-up period, each student-mentor pair performed development -work mostly privately. The usage of the Boost mailing lists was scarce, and -only by the end of the program did some students publicly announced their results. -

    - -

    Results

    - -

    -By the date the development period was officially closed, the status of the -different projects was as follows: -

      -
    • Seven projects were completed or nearly completed and the students are - expected to ask for a formal review within 2006 or early 2007. Four of these - projects necessitated a goal reorientation during development, basically - because the original plan was too ambitious for three months. Most of the - projects are still in active development during the months following the - Summer of Code program.
    • -
    • Two projects did not reach the planned goals, but nevertheless produced - useful material that could be expanded outside of the Summer of Code - program.
    • -
    • One project was abandoned shortly after the midterm review. The reasons - for the abandonment are unknown.
    • -
    -The results of all the projects can be consulted online at the dedicated -Trac -site. -

    - -

    Analysis

    - -

    -We examine the various stages of Boost participation in Summer of Code, with an -emphasis on discovering opportunities for improvement. -

    - -

    Boost appeal

    - -

    -In a mid project -presentation at OSCON -2006, Chris DiBona from Google provided some data about the organizations -which received the most applications: -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    OrganizationNo of applications
    KDE244
    Ubuntu & Bazaar236
    Python Software Foundation212
    GNOME199
    Apache Software Foundation190
    Boost174
    Gaim152
    The GNU Project148
    Drupal146
    -

    -
    -The numbers shown here have been estimated from a chart included in the -presentation slides. This chart contains an additional column labeled "Google" -which actually accounts for the applications dismissed because of their low -quality. -
    - -

    -The fact that Boost is ranked the sixth most attractive organization out of a -total of 102 was entirely unexpected, especially considering the wide popularity -of the rest of top-rated organizations. There is a more or less implicit -consensus among Boost members that ours is a relatively niche project, known for -its quality standards by seasoned C++ practitioners, but with a limited penetration -among entry level programmers: maybe the figures above should make us reconsider -this assumption. A cursory examination of the applications submitted to Boost reveals -that most applicants were regular users of Boost: many cite the Boost status among -the C++ community as an appealing factor in order to apply. -

    - -

    Opportunities lost?

    - -

    -If we look at the number of funded projects with respect to the applications received, -figures are not so favorable to Boost.

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    OrganizationNo of projectsProject/app ratio
    KDE249.8 %
    Ubuntu & Bazaar229.3 %
    Python Software Foundation2310.8 %
    GNOME199.5 %
    Apache Software Foundation2714.2 %
    Boost105.7 %
    Gaim85.3 %
    The GNU Project106.8 %
    Drupal149.6 %
    -

    - -

    -It turns out that the project/application ratio for almost any other organization -among the top nine is considerably higher than that of Boost. As it happens, Google -initially requested that organizations submitted the maximum number of projects they -felt they could cope with, and we got funding for exactly what we aimed for, so the -limiting factor lies entirely on Boost's side. -

    - -

    Projects startup

    - -

    -Contributing to Boost relies on a fair number of guidelines and protocols for -coding, documentation, testing and maintenance. Many of the required tools are -exclusively used within Boost, and some of them are not trivial, like for instance -Boost.Build. Although the Boost web site contains information about all these tools -and procedures, this intelligence is scattered through unrelated pages and sometimes -is very hard to come by. -

    - -

    -So, there is a good deal of expertise required to begin working at Boost. Some -students have reported on startup difficulties getting to know these details and -familiarizing themselves with the tools, most notably bjam and Quickbook. Each -student overcome the startup difficulties on their own or resorting to their -mentors (see the section on public -communication issues). -

    - -

    Ongoing development

    - -

    -Once students got past the startup stage, most projects advanced without serious -complications. In the majority of cases, it was realized at some point during -the development that there was no time to complete it. Some participants had to -redefine the goals in an effort to keep the project within schedule, while others -simply decided that they would continue working after the official deadline of -Summer of Code. -

    - -

    -The information flow between each student and their mentor was usually reported -by both parties to be satisfactory. The projects suffering from lack of -communication have been precisely those yielding the poorest results. In general, -mentors have not felt overwhelmed by requests from their students, and even in a -couple of cases the projects were run practically unattendedly. This fact is -witness to the high competence of the students recruited into the program. -

    - -

    -The degree of usage of the Trac/SVN system has varied. Some students did frequent -updates, while others have just used the repository to dump the final results for -the official submission to Google. -

    - -

    Public communication -issues

    - -

    -Students and mentors had at their disposal three different forums for the public -interchange of information and support: -

      -
    • Boost public lists, especially the developers and users lists.
    • -
    • A dedicated mailing list reaching all students and mentors working at - Summer of Code in Boost.
    • -
    • A more casual Google Group, set up by one of the students, aimed at - providing the participants with a place for socializing and resolution of - common problems.
    • -
    -Despite this abundance of resources, there was an almost complete lack of group -communication among all the parties involved and between these and the larger -Boost community. Seemingly, students were satisfied to pursue their activities by -relying on support from their mentors alone. This circumstance has prevented -Boost members from enriching the initiative by offering their experience and -insight, and has possibly led students to the false impression that contributing -to Boost proceeds in a predictable linear path from requisites to completion of -the work. When asked about their not engaging in public communication, the students -gave vague justifications that can be classified into the following: -
      -
    • Doubts were deemed too technical or specific to be worth raising in - public.
    • -
    • A crave for perfectionism detracted students from asking or submitting work - in progress until they felt their material looked good enough.
    • -
    • Shyness: some students probably lacked previous experience communicating in - public, and most are not English native speakers, which could also be a - limiting factor.
    • -
    -Although students did not identify the following as a reason not to go public, it -is likely that many of them did not feel the need given the readily access to their -mentors they enjoyed. It is easy to grow used to such a dedicated source of support -and neglect resorting to other resources. Mentors should have encouraged their -students to pursue the public discussion of projects, which constitutes one of the -pillars of Boost renowned quality. -

    - -

    Scope of projects

    - -

    -In hindsight, it has become apparent that most projects were too ambitious to be -completed within the three months of duration of the program, and even those that -were considered a success will need weeks or months of polishing up before the -material is ready for a formal review. In contrast with other organizations -participating in the Summer of Code program, Boost has as of this writing included -no results into its code base. No formal review for any project has been requested -yet, either. -

    - -

    -These scope issues are very dependent on the particular type of project. We can -classify the Boost projects for Summer of Code as follows: -

      -
    • Full-fledged libraries,
    • -
    • additions to existing Boost libraries,
    • -
    • utilities and tool projects using Boost.
    • -
    -Of these, additions (like for instance the mincut/maxflow algorithm for BGL by -Stephan Diederich) are the most suitable for completion in a short period of time: -most of the preparation work is already done, and the student has clear guides as -to what coding and documentation standards to follow. Also, these projects need -not undergo a formal review, since it is the responsibility of the hosting library -author to review the code and include it within her discretion. Utility projects -seem also suitable for small timeframes, though most project proposals and requests -are naturally oriented to contributions of actual code to the Boost project. -

    - -

    -As for those projects involving the design and realization of full-fledged -libraries, there is little hope that the goals and scope can be kept modest enough -for a three-month schedule. Boost candidate libraries developed by professional -authors usually take much longer than three months to be accepted; some libraries -have been evolving through several years before being included into Boost. -So, the best we can hope for if we are to support the realization of library projects -for Boost inside Summer of Code is that the results by the end of the program can -be evaluated to constitute a viable potential contribution to Boost. When this is -the case, it is crucial that the student commits to further working on the project -up to completion and formal review. Perhaps more important than getting libraries -coded is to engage new authors into a long-term relationship with the Boost project. -

    - -

    Suggestions for improvement

    - -

    -The following proposals aim to alleviate some of the problems we have identified -during the development of Summer of Code within Boost. These action points are -related only to the issues found in connection with Boost: we are not addressing -other areas of improvement associated to the Summer of Code program itself. -

    - -

    Preparation

    - -

    -Much work can be done before the actual program begins. The following preparation -activities can already be launched: -

    - -

    -Create a pool of ideas for projects. This action will provide valuable extra -time for evaluation and refining of ideas before the Summer of Code begins. -The experience has shown that those projects with more preparation work, especially -in the area of design, were ultimately more successful. The pool can also be used -to retain interesting ideas that arise at the mailing lists and very often are -not given proper attention and become abandoned. -

    - -

    -Create a student pool. Prior involvement with Boost is clearly an advantage -both in the selection phase and later during project development. Those students -with a serious interest in participating in Summer of Code with Boost can enter -the pool and begin exploring ideas and interacting with the community well in -advance of the summer, so as to put themselves in a favorable position for the -selection. Advertisement for the student pool can be initiated in the beginning of -2007 through the usual channels (web site and mailing lists): additionally, Boost -members involved with the University can spread this information locally and help -raise the interest of students in their environment. -

    - -

    -Create a mentor pool. Given the rush with which Boost entered the 2006 -Summer of Code campaign, the invitation of mentors has to be done on an on-demand -basis as it became all too evident that the task was growing bigger and bigger. -It is important that the organization is better prepared next year so that a -number of people with the ability and will to participate as Boost mentors are -identified in advance. -

    - -

    -Prepare a startup package. In order to facilitate the initial period of -getting familiarized with the various Boost guidelines, protocols and tools, it -would be extremely useful to prepare a compilation of startup material for -students. This package can consist of a single document gathering the currently -dispersed information, or go beyond this and provide some bundle of documentation -and pre-built tools, an approach that one of the students is currently working on. -

    - -

    Public communication

    - -

    -It is crucial that students get involved with the community as soon as possible -and grow to appreciate the advantages of public development with respect to -solitary coding. -

    - -

    -Mandate (bi)weekly reports. These reports should be directed to the public -mailing lists so as to give all Boost members an opportunity to follow the work -in progress and contribute. Reporting has the extra benefit for students of -forcing them to reflect on their own work periodically and struggle with the -often difficult task of presenting their ideas to others. -

    - -

    -Conduct student-mentor exclusively through public channels. This might be -too drastic a policy, as some matters need privacy, and depending on the amount -of information exchanged flooding problems may arise. Less severe variations -involve allowing for some private interchange at the mentors' discretion and -moving this kind of communication to a dedicated public mailing list different -from the general ones. -

    - -

    Project management

    - -

    -The two most important issues to improve upon with respect to the management are: -

      -
    • Project scope must be kept under control,
    • -
    • The progress has to be publicly visible, so that problems of scope, - design and/or schedule can be more easily detected.
    • -
    -Some of the proposals in this section are not to be regarded as strict rules, -but rather as general guidelines to be kept in mind by students and encouraged -by mentors. -

    - -

    -Create a best practices document. This document can serve as a guideline -for project management, an area in which Boost traditionally imposes no -requirements. Students might lack the expertise in this area that is usually -taken for granted in the traditional model where contributions to Boost are -made by professional programmers. -

    - -

    -Mandate a design phase. Having a concrete design set up and clearly -described early in the project will help estimate the necessary effort for -completion of the work. This is also an opportunity for public discussion. -

    - -

    -Maintain code, docs and tests in parallel. All too often, novice -programmers do the coding in one fell swoop and only then move to testing and -documenting their work. This is unacceptable by all current methodology -standards, and can result in serious underestimations of the time to -completion. -

    - -

    -Encourage the KISS principle. It is much better to finish a simpler library -and then iteratively evolve it, once it has been exposed to public scrutiny and -usage. -

    - -

    -More Trac updates. The repository should be viewed as an everyday work -tool, not only as the place into which to dump the final results. Updating often -leads to more visibility of the work by the mentor and the public in general. -

    - -

    -Informal reviews. The typical Summer of Code Boost project will not be -completed by the official deadline, as have been discussed earlier. To somehow -officialize the work done within the Summer of Code proper, and also to allow -the students to reach some sort of psychological milestone, informal reviews can -be instituted where Boost members evaluate the work done at then end of Summer -of Code. -

    - -

    -Engage students. This experience has shown that it is possible to guide -willing and bright students to the competence levels required for contributing -to Boost. The best possible outcome of Summer of Code campaigns are the -incorporation of new people into the circle of Boost active contributors. Strive -to make the students commit to Boost. -

    - -

    Conclusions

    - -

    -Despite the lack of previous experience in Boost, our participation in Google -Summer of Code has been extremely fruitful: much useful material has been produced, -and, perhaps more importantly, some of the students are likely to commit on a -long-term basis and grow to be regular Boost contributors. Traditionally, becoming -a productive Boost author has a very high entry barrier due to the extreme quality -standards, lack of public support and the very specific culture of the project. -The appeal of Summer of Code itself and the possibility of being gently mentored -into the world of Boost have most likely been key factors in lowering this entry -barrier. -

    - -

    -The process has not been without some difficulties, either, as it was expected of -a newcomer organization as Boost. We have tried to identify in this paper the -areas of improvement and suggest specific actions so that the upcoming Google -Summer of Code 2007 can be an even more rewarding experience. -

    - -

    Acknowledgements

    - -

    -This paper couldn't have been written without the numerous reports and contributions -kindly provided by Boost students and mentors: Many thanks to all the participants -for sharing their experiences with me. Thank you also to the people at Google who -have promoted and conducted the Summer of Code initiative. -

    - -
    - -

    Revised October 17th 2006

    - -

    © Copyright 2006 Joaquín M López Muñoz. -Distributed under the Boost Software -License, Version 1.0. (See accompanying file -LICENSE_1_0.txt or copy at -http://www.boost.org/LICENSE_1_0.txt) -

    - - - diff --git a/formal_review_process.htm b/formal_review_process.htm deleted file mode 100644 index 8cc7835..0000000 --- a/formal_review_process.htm +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - - - - Boost Formal Review Process - - - - - - - - - - - - - - - - - - -
    -HomeLibrariesPeopleFAQMore
    - -

    Boost Formal Review Process

    -
    -

    Before Requesting a Formal Review

    -

    Read and follow the Boost submission process.  There are at - least four steps a library author must take before a formal review is - requested.

    -
    - -

    Introduction
    - What to include in Review Comments
    - Results
    - Notes for Review Managers
    - Notes for Library Submitters
    - Review Wizard
    - Fast Track Reviews

    - -

    Introduction

    - -

    Proposed libraries are accepted into Boost only after undergoing a - formal review, where Boost mailing list members comment on their evaluation - of the library.

    - -

    The final "accept" or "reject" decision is made by the Review Manager, based on the review comments received - from boost mailing list members.

    - -

    Boost mailing list members are encouraged to submit Formal Review - comments:

    - -
    -
      -
    • Publicly on the mailing list.
    • - -
    • Privately to the Review Manager.
    • -
    -
    - -

    Private comments to a library submitter may be helpful to her or him, - but won't help the Review Manager reach a decision, so the other forms are - preferred.

    - -

    What to include in Review Comments

    - -

    Your comments may be brief or lengthy, but basically the Review Manager - needs your evaluation of the library.  If you identify problems along - the way, please note if they are minor, serious, or showstoppers.

    - -

    The goal of a Boost library review is to improve the library through - constructive criticism, and at the end a decision must be made: is the - library good enough at this point to accept into Boost? If not, we hope to - have provided enough constructive criticism for it to be improved and - accepted at a later time. The Serialization library is a good example of how - constructive criticism resulted in revisions resulting in an excellent - library that was accepted in its second review.

    - -

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

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

    And finally, every review should answer this question:

    - -
      -
    • Do you think the library should be accepted as a Boost library?  - Be sure to say this explicitly so that your other comments don't obscure - your overall opinion.
    • -
    - -

    Many reviews include questions for library authors. Authors are - interested in defending their library against your criticisms; otherwise - they would not have brought their library up for review. If you don't get a - response to your question quickly, be patient; if it takes too long or you - don't get an answer you feel is sufficient, ask again or try to rephrase the - question. Do remember that English is not the native language for many - Boosters, and that can cause misunderstandings.
    -
    - E-mail is a poor communication medium, and even if messages rarely get lost - in transmission, they often get drowned in the deluge of other messages. - Don't assume that an unanswered message means you're being ignored. Given - constructively, criticism will be taken better and have more positive - effects, and you'll get the answers you want.

    - -

    Results

    - -

    At the conclusion of the comment period, the Review Manager will post a - message to the mailing list saying if the library has been accepted or - rejected.  A rationale is also helpful, but its extent is up to the - Review Manager. If there are suggestions, or conditions that must be met - before final inclusion, they should be stated.

    - -

    Notes for Review - Managers

    - -

    Before a library can be scheduled for formal review, an active boost - member not connected with the library submission must volunteer to be the - "Review Manager" for the library.

    - -

    The Review Manager:

    - -
      -
    • Checks the submission to make sure it really is complete enough to - warrant formal review.  See the Boost - Library Requirements and Guidelines.  If necessary, work with - the submitter to verify the code compiles and runs correctly on several - compilers and platforms.
    • - -
    • Finalizes the schedule with the Review Wizard - and the submitter .
    • - -
    • Posts a notice of the review schedule on the regular boost mailing list, the - boost-users - mailing list, and the boost-announce mailing - list. - -
        -
      • The notice should include a brief description of the library and - what it does, to let readers know if the library is one they are - interested in reviewing.
      • - -
      • If the library is known to fail with certain compilers, please - mention them in the review notice so reviewers with those compilers - won't waste time diagnosing known problems.
      • -
      -
    • - -
    • Inspects the Boost library - catalogue for libraries which may interact with the new submission. - These potential interactions should be pointed out in the review - announcement, and the author(s) of these libraries should be privately - notified and urged to participate in the review.
    • - -
    • Urges people to do reviews if they aren't forthcoming.
    • - -
    • Follows review discussions regarding the library, moderating or - answering questions as needed.
    • - -
    • Asks the review wizard for permission - to extend the review schedule if it appears that too few reviews will - be submitted during the review period.
    • - -
    • Decides if there is consensus to accept the library, and if there - are any conditions attached.
    • - -
    • Decides if there is consensus to accept the library, and if there are - any conditions attached.
    • - -
    • Posts a notice of the review results on the - regular boost mailing - list, the boost-users mailing list, - and the boost-announce mailing - list.
    • -
    - -

    In other words, it is the Review Manager's responsibility to make sure - the review process works smoothly.

    - -

    Notes for Library Submitters

    - -

    See Submission Process for a - description of the steps a library developer goes through to get a library - accepted by Boost.

    - -

    A proposed library should remain stable during the review period; it - will just confuse and irritate reviewers if there are numerous - changes.  It is, however, useful to upload fixes for serious bugs - right away, particularly those which prevent reviewers from fully - evaluating the library.  Post a notice of such fixes on the mailing - list.

    - -

    Library improvements suggested by reviewers should normally be held - until after the completion of review period.  If the suggested changes - might affect reviewer's judgments, post a notice of the pending change - on the mailing list.

    - -

    Review Wizard

    - -

    The Review Wizard coordinates the formal review schedule:

    - -
      -
    • Maintains a list of review manager volunteers, in the form of a - queue, so that volunteers who least recently managed reviews become the - prime candidates for upcoming reviews.
    • - -
    • When a formal review is requested for a library:
    • - -
    •   - -
        -
      • Assign a review manager and suggests a schedule, after checking - (via private email) availability of the volunteers at the top of - review manager queue.
      • - -
      • Finalize the schedule, once the review manager verifies the - library is actually ready for review.
      • - -
      • Resolve schedule slips or other issues with review managers and - submitters.
      • -
      -
    • - -
    • Monitors the general review process, and makes minor adjustments as - needed, or queries the list about possible major adjustments.
    • -
    - The role of Boost Review Wizard is currently played by John - Phillips (phillips at mps dot ohio-state dot edu) and Ronald - Garcia (garcia at cs dot indiana dot edu). - -
  • Resolves questions from review managers and library submitters, who - sometimes want a third opinion on questions such as "Should we extend the - review period because ...?"
  • - -
  • Monitors the general review process, and makes minor adjustments as - needed, or queries the list about possible major adjustments.
  • - The role of Boost Review Wizard is currently played by Tom Brinkman and Ronald Garcia (garcia at - cs dot indiana dot edu). - -

    Revised - 10 October, 2006

    - -

    To qualify for fast track review:

    - -
      -
    • The component must be small.
    • - -
    • The technique must be already in use in Boost libraries and the new - component provides a common implementation.
    • - -
    • A full Boost-conformant implementation is available in the - sandbox.
    • - -
    • The Review Wizard determines that the proposal qualifies for fast - track review.
    • -
    - -

    Procedure:

    - -
      -
    • The Boost Review Wizard posts a review announcement to the main Boost - developer's list. The review period will normally last for 5 days. No two - fast track reviews will run in parallel. Fast track reviews may run - during full reviews, though generally this is to be avoided.
    • - -
    • After the review period ends, the submitter will post a review - summary containing proposed changes to the reviewed implementation.
    • - -
    • The Review Wizard will accept or reject the proposed library and - proposed changes.
    • - -
    • After applying the proposed changes, the component is checked into - CVS like any other library.
      -  
    • -
    -
    - -

    Revised - 15 - October, 2003

    - -

    © Copyright Beman Dawes 2000

    - -

    Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or copy - at http://www.boost.org/LICENSE_1_0.txt)

    - -