Boost logo

Boost :

From: Ronald Garcia (garcia_at_[hidden])
Date: 2005-12-01 15:11:55


  Review Wizard Status Report
  Tom Brinkman
  Ronald Garcia

  1) News
  2) Review Managers Needed
  3) Review Queue
  4) Libraries under development

////////////////////////////////////////////////////////////////////
  1) News
////////////////////////////////////////////////////////////////////

Ronald Garcia has signed on as co-wizard to assist Tom Brinkman. Feel
free to contact either of us with questions or review requests.

Output Formatters, Singleton, and Interfaces have been removed from the
review
queue. Reece Dunn,
Jason Hise, and Jonathan Turkanis, the respective library authors, do
not
currently have the time to make the changes necessary prior to a
review. We hope to see these libraries updated and resubmitted
some time in the not too distant future.

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 or if we have forgotten anything,
  please email "reportbase at gmail dot com"
           and "garcia at cs dot indiana dot edu".

////////////////////////////////////////////////////////////////////
  2) 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 manager volunteers:
Fixed Strings
Intrusive Containers
Singleton (Re-review)
Fusion
Shmem
Type Traits (modification)

////////////////////////////////////////////////////////////////////
  3) Review Queue
////////////////////////////////////////////////////////////////////

asio - December 10 2005 - December 24 2005

Policy Pointer
Fixed Strings
Intrusive Containers
Function Types (mini-re-review)
Fusion
Shmem
Type_Traits

  asio
    Author - Christopher Kohlhoff
    Review Manager - Jeff Garland

    Download:
     http://asio.sourceforge.net/

    Description:

     asio is a cross-platform C++ library for network programming that
     provides developers with a consistent asynchronous I/O model using a
     modern C++ approach.

     To use asio's SSL support, OpenSSL is required. OpenSSL is not
     necessary to use the rest of asio.

     asio consists only of header files, and so there is no need to build
     any libraries before using asio in your own applications.

     asio supports the following platforms and compilers:
       Win32 using Visual C++ 7.1 and Visual C++ 8.0.
       Win32 using Borland C++Builder 6 patch 4.
       Win32 using MinGW.
       Linux (2.4 or 2.6 kernels) using g++ 3.3 or later.
       Solaris using g++ 3.3 or later.
       Mac OS X 10.4 using g++ 3.3 or later.

  Type_Traits (modification)
          Author - Alexander Nasonov
          Review Manager - To be determined
        
          Download :
        You can download it from
http://cpp-experiment.sourceforge.net/promote-20050917.tar.gz
        or browse it online
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

        Alexandar used to compile tests on VC6 and I'm pretty sure I can add
workarounds if
        someone is still interested. Actually, it compiled the tests better
then VC7.
        As for Borland 5.5, is_enum is broken and I don't see any reason to
support this compiler.

        Alexandar requests a fast-track review.
        
  Policy Pointer
    Author - David Held & Jonathan Turkanis
    Review Manager - Gennadiy Rozenthal

    Download:
     Boost Sandbox (http://boost-sandbox.sourceforge.net/) under
policy_ptr

    Description:
     Smart pointers are used to automate memory management by handling
the
     deletion of dynamically allcoated objects (and other resources).
     They assist in ensuring program correctness, exception safety, and
     memory integrity. Policy Pointer is a policy-based smart
     pointer framework designed to accomodate the large number of
     smart pointer designs. Through the use of policy classes,
     virtually any smart pointer type can be constructed within this
     framework. This library is a Boostification of the original
     Loki::SmartPtr type with significant modifications.

   Fixed Strings
    Author - Reece Dunn
    Review Manager - to be determined

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

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

    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.

////////////////////////////////////////////////////////////////////
  4) Libraries under development
  ////////////////////////////////////////////////////////////////////

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

   Output Formatters
   Singleton
   Interfaces

  Output Formatters
    Author - Reece Dunn

    Download:
     Boost Sandbox (http://boost-sandbox.sourceforge.net/) under outfmt

    Description:
     The I/O formatters library provides an easy and customizable way to
     input/output arrays, STL arrays, STL collections, sub-arrays from/to
     STL streams. It allows you to configure how each element in such an
     array will be written to the stream or read from the stream,
     while providing reasonable defaults.

  Singleton
    Author - Jason Hise

    Download:
     http://tinyurl.com/6qvrd (old version from previous review)

    Description:
     Singleton is feature rich library:

     - ensuring single instance of a class
        and global access point to this instance

     - with policies specifying:

       - when the instance gets created
         (manually, immediatelly, when first used, ...)

       - how is the instance created
         (by new, malloc, in static memory, ...)

       - when the instance gets destroyed
         (never, by priority, after another singleton, ...)

     Parametrized singleton called Multiton is provided

       City::pointer p1("Chicago");
        City::pointer p2("Brussels");

     will create two different "singletons" of the same type.

     Another feature is ability to register resources
      (like shared pointer) who will get destroyed
      in controlled order, when the application exits.

     Not yet implemented features are:
       - MT safety
       - self-destroying singleton with timeout
       - bjam compatible tests

     The library is known to work with several newer compilers,
      VC7.1 among them. Help with other compilers is welcomed.

  Interfaces
    Author - Jonathan Turkanis

    Download:
     http://www.kangaroologic.com/interfaces

    Description:
     Interfaces provides a macro-based Interface Definition Language
     (IDL) which can be used to define C++ class types called
     interfaces. An interface is a lightweight value type associated with
     a set of named function signatures. An interface instance can be
     bound at runtime to any object which implements the interface, i.e.,
     to any object of a type with accessible non-static member functions
     having the same name and signature as the set of functions
associated
     with the interface. The functions of the bound object can then be
     invoked through the interface instance using the 'dot'
     operator. Binding is completely non-intrusive: the object's type
need
     not declare any virtual functions or derive from any particluar base
     class.

    Current applications of Boost.Interfaces include:

    * Non-intrusive dynamic polymorphism: interfaces can often be
      used in place of abstract base classes, and are sometimes much
faster
      (see Performance).

     * Dynamic inheritance: allows function calls to be forwarded
     automatically to an object specified at runtime (see Delegation).

     * Smart Interface Pointers: smart pointers which can manage the
     lifetime of any object whose type implements a given interface.

     * Smart References: like smart interface pointers, but the managed
     object is accessed using the "dot" operator."

  Tom Brinkman
  Ronald Garcia
  Boost Review Wizards


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk