Version 8 (modified by viboes, 3 years ago) (diff)

Update and reorganize

WARNING: The contents of this page could be incomplete and outdated. Please help us to improve this page by modifying it directly or posting on the Boost mailing lists  boost-AT-lists.boost.org or  boost-users-AT-lists.boost.org with the prefix `[ReviewScheduleLibraries].


Depends on not yet accepted libraries


Boost.Context

  • Author(s): Oliver Kowalke
  • Version: 0.2
  • State:
  • Depends on: Boost.Atomic
  • Last upload:2010 August 23
  • Links:  Boost Vault
  • Categories: Concurrent Programming
  • Description: Boost.Context provides framework for user-context swapping/switching - has assembler for some platforms


Boost.Fiber

  • Author(s): Oliver Kowalke
  • Version:
  • State:
  • Last upload:2009
  • Inclusion date: ???
  • Depends on: Boost.Atomic
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault
  • Categories: Concurrent Programming
  • Description: Boost.Fiber implements lightweight threads of execution - so called fibers

Boost.LockFree

  • Author(s): Tim Blechmann
  • Version: v0.2
  • State: Ready
  • Last upload: 2009 November 24
  • Inclusion date: ???
  • Depends on: Boost.Atomic
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault  Git  Documentation
  • Categories: Concurrent Programming Containers
  • Description: Provides implementations of lock-free data structures. Lock-free data structures can be accessed by multiple threads without the necessity of blocking synchronization primitives such as guards. Lock-free data structures can be used in real-time systems, where blocking algorithms may lead to high worst-case execution times, to avoid priority inversion, or to increase the scalability for multi-processor machines.

The following data structures are provided:

  • boost::lockfree::fifo, a lock-free fifo queue
  • boost::lockfree::stack, a lock-free stack
  • boost::lockfree::atomic_int, an atomic integer class

Boost.Task

  • Author(s): Oliver Kowalke
  • Version: 0.2.1
  • State: Quite Stable
  • Last upload: 2009 June 25
  • Inclusion date: ???
  • Depends on: Boost.Fiber, Boost.Atomic
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Vicente Botet
  • Expected review date: ???
  • Links:  Boost Vault  Boost Sandbox
  • Categories: Concurrent Programming
  • Description: execute tasks in threadpool, in new thread or as sub-task and let the result be transfered via a future. support task interruption, work-stealing and fork/join semantics

Unassigned review manager


Boost.Algorithm.Sorting

  • Author(s): Steven Ross
  • Version:
  • State:
  • Last upload: 2009 Jan 13
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Bosst Vault
  • Categories: Algorithm
  • Description: The Sorting Algorithm Library provides a generic implementation of high-speed sorting algorithms that outperform those in the C++ standard in both average and worst case performance. These algorithms only work on random access iterators.

These algorithms are hybrids using both radix and comparison-based sorting, specialized to sorting common data types, such as integers, floats, and strings. These algorithms are encoded in a generic fashion and accept functors, enabling them to sort any object that can be processed like these basic data types.

Unlike many radix-based algorithms, the underlying Spreadsort algorithm is designed around worst-case performance, and performs better on chunky data (where it is not widely distributed), so that on real data it can perform substantially better than on random data. Conceptually, Spreadsort can sort any data for which an absolute ordering can be determined.


Boost.Bitfield

  • Author(s): Emile Cormier, Vicente J. Botet Escribá
  • Version: 0.2
  • State: Ready
  • Inclusion date: 2009 May 4
  • Last upload: 2009 October 15
  • Depends on: Endian
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault Boost Sandbox Documentation
  • Categories: Endian Portability, Integers
  • Description:Portable bitfields traits
    • a generic bitfield traits class providing generic getter and setter methods.
    • a BOOST_BITFIELD_DCL macro making easier the definition of the bitfield traits and the bitfield getter and setter functions.
    struct X {
        typedef boost::ubig_32 storage_type;
        storage_type d0;
        typedef unsigned int value_type;
        BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d00, 0, 10);
        BOOST_BITFIELD_DCL(storage_type, d0, unsigned int, d01, 11, 31);
    };
  • Pre-reviews
    • Reviewer ???
      • Date ???
      • Description ???

Boost.Conversion

  • Author(s): Vicente J. Botet Escribá
  • Version: 0.4
  • State: Ready
  • Last upload:2009 October 27
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault  Boost Sandbox  Documentation
  • Categories: Utilities
  • Description: Generic explicit conversion between unrelated types.

The template function convert_to allows to convert a source type to a target type, using argument dependent lookup to select a specialized convert_to function if available. If no specialized convert_to function is available, boost::conversion::convert_to is used.

The generic convert_to function requires that the elements to be converted are assignable and copy constructible. It is implemented using the Target copy construction from a Source or the Source conversion operator Target - this is sometimes unavailable.

For standard types, we can not add a specialized convert_to function on the namespace std. The alternative to using argument dependent lookup in this situation is to provide a template specialization of boost::conversion::convert_to for every pair of standard types that requires a specialized convert_to.

Boost.Conversion provides:

  • a generic convert_to function which can be specialized by the user to make explicit conversion between unrelated types.
  • a generic assign_to function which can be specialized by the user to make explicit assignation between unrelated types.
  • a generic mca/tie function returning a wrapper which replace assignments by a call to assign_to and conversion operators by a call convert_to.
  • a generic convert_to_via function which convert a type From to another To using a temporary one Via.
  • conversion between std::complex of explicitly convertible types.
  • conversion between std::pair of explicitly convertible types.
  • conversion between boost::optional of explicitly convertible types.
  • conversion between boost::rational of explicitly convertible types.
  • conversion between boost::interval of explicitly convertible types.
  • conversion between boost::chrono::time_point and boost::ptime.
  • conversion between boost::chrono::duration and boost::time_duration.
  • conversion between boost::array of explicitly convertible types.
  • conversion between Boost.Fusion sequences of explicitly convertible types.

Boost.Convert

  • Author(s): Vladimir Batov
  • Version: 0.36
  • State: Ready
  • Last upload: 2009, Mars 02
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault
  • Categories: String And Text Processing
  • Description: Extensible framework for a uniform approach to type-to-type conversions in general. It builds on the lexical_cast past experience, offers the already familiar conversion functionality and more:
  • simple and better/safe conversion-failure check;
  • throwing and non throwing conversion-failure behavior;
  • support for the default value to be returned when conversion fails;
  • formatting support based on the standard I/O Streams and the standard (or user-defined) manipulators (like std::hex, std::scientific, etc.);
  • locale support;
  • support for boost::range-compliant char and wchar_t-based string containers (std::string, std::wstring, char const*, wchar_t const*, char array[], std::vector<char>, etc.);
  • no DefaultConstructibility? requirement for the Target type;
  • room to grow.

Boost.Endian

  • Author(s): Beman Dawes
  • Version:
  • State:
  • Last upload:2008 Nov 26
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Sandbox
  • Categories: Portability
  • Description: Provides integer-like byte-holder binary types with explicit control over byte order, value type, size, and alignment. Typedefs provide easy-to-use names for common configurations.

These types provide portable byte-holders for integer data, independent of particular computer architectures. Use cases almost always involve I/O, either via files or network connections. Although portability is the primary motivation, these integer byte-holders may also be used to reduce memory use, file size, or network activity since they provide binary integer sizes not otherwise available.


Boost.InterThreads

  • Author(s): Vicente J. Botet Escribá
  • Version: 0.1.3
  • State: Needs to cleanup
  • Last upload: 2009 April 02
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault  Boost Sandbox  Documentation
  • Categories: Concurrent Programming
  • Description: Boost.InterThreads extends Boost.Threads adding some features:
    • thread decorator: thread_decorator allows to define setup/cleanup functions which will be called only once by thread: setup before the thread function and cleanup at thread exit.
    • thread_decorator can now decorate a nullary function in addition to a callable function
    • thread specific shared pointer: this is an extension of the thread_specific_ptr providing access to this thread specific context from other threads. As it is shared the stored pointer is a shared_ptr instead of a raw one.
    • thread keep alive mechanism: this mechanism allows to detect threads that do not prove that they are alive by calling to the keep_alive_point regularly. When a thread is declared dead a user provided function is called, which by default will abort the program.
    • thread tuple: defines a thread group where the number of threads is know statically and the threads are created at construction time.
    • set_once: a synchronizer that allows to set a variable only once, notifying to the variable value to whatever is waiting for that.
    • thread_tuple_once: an extension of the boost::thread_tuple which allows to join the thread finishing the first, using for that the set_once synchronizer.
    • thread_group_once: an extension of the boost::thread_group which allows to join the thread finishing the first, using for that the set_once synchronizer.

thread_decorator and thread_specific_shared_ptr are based on the original implementation of threadalert written by Roland Schwarz.


Boost.Pimpl

  • Author(s): Vladimir Batov
  • Version:
  • State: Ready
  • Last upload:
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault  Documentation
  • Categories: Memory
  • Description: The Pimpl idiom is a simple yet robust technique to minimize coupling via the separation of interface and implementation and then implementation hiding. This library provides a convenient yet flexible and generic deployment technique for the Pimpl idiom. It's seemingly complete and broadly applicable, yet minimal, simple and pleasant to use.

Boost.ShiftedPointer

  • Author(s): Phil Bouchard
  • Version:
  • State:
  • Last upload:
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Needed
  • Expected review date: ???
  • Links:  Boost Vault
  • Categories: Memory
  • Description: Smart pointers are in general optimized for a specific resource (memory usage, CPU cycles, user friendliness, ...) depending on what the user need to make the most of. The purpose of this smart pointer is mainly to allocate the reference counter (or owner) and the object itself at the same time so that dynamic memory management is simplified thus accelerated and cheaper on the memory map.

Review Date pending

This section contains an index of the libraries with a pending date.


Boost.AutoBuffer

  • Author(s): Thorsten Ottosen
  • Version:
  • State:
  • Last upload: 2009 Jan 13
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Robert Stewart
  • Expected review date: ???
  • Links:  Download
  • Categories: Data Structures
  • Description: Boost.AutoBuffer? provides a container for efficient dynamic, local buffers. Furthermore, the container may be used as an alternative to std::vector, offering greater flexibility and sometimes better performance.

Boost.Containers

  • Author(s): Ion Gaztañaga
  • Version:
  • State: stable
  • Last upload:
  • Inclusion date: 2009 Dec 14
  • Depends on: Boost.Move
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: John Maddock
  • Expected review date: ???
  • Links:  Boost Sandbox  Download  Documentation
  • Categories: Container
  • Description: Containers of Movable objects emulation using Boost.Move

Boost.Lexer

  • Author(s): Ben Hanson
  • Version: v0.2
  • State:
  • Last upload: 2009 November 24
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Eric Niebler
  • Expected review date: ???
  • Links:  Boost Vault
  • Categories: String And Text Processing
  • 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.

Boost.Stopwatches

  • Author(s): Vicente J. Botet Escribá
  • Version: 0.1.0
  • State: Stable
  • Last upload:2010 September 7
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Anthoni Williams
  • Expected review date: ???
  • Links:  Documentation  Download  Boost Sandbox
  • Categories: System
  • Description: The Boost Ratio library provides:
    • Stopwatches:
      • stopwatch, capturing elapsed Clock times.
      • stopwatch_accumulator, capturing cumulated elapsed Clock times.
      • scoped helper classes allowing to pairwise start/stop operations, suspend/resume and resume/suspend a Stopwatch.
    • Stopwatch reporters:
      • stopwatch_reporter, convenient reporting of models of Stopwatch results.
      • stopclock<Clock> shortcut of stopwatch_reporter<stopwatch<Clock>>.
      • Support for wide characters (strings and ostreams).

Boost.TypeTraits.Extensions

  • Author(s): Frédéric Bron
  • Version: ???
  • State: Quite Stable
  • Last upload: 2009 June 25
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Joel Falcou
  • Expected review date: ???
  • Links:  Boost Vault  Boost Sandbox
  • Categories: Function Objects And Higher-order Programming
  • Description: The purpose of the addition is to add type traits to detect if types T and U are comparable in the sense of <, <=, >, >=, == or != operators, i.e. if t<u has a sens when t is of type T and u of type U (same for <=, >, >=, ==, !=).

The following traits are added: is_equal_to_comparable<T,U> is_greater_comparable<T,U> is_greater_equal_comparable<T,U> is_less_comparable<T,U> is_less_equal_comparable<T,U> is_not_equal_to_comparable<T,U>

The names are based on the corresponding names of the standard template library (<functional> header, section 20.3.3 of the standard).

The code has the following properties: * returns true if t<u is meaningful and returns a value convertible to bool * returns false if t<u is meaningless. * fails with compile time error if t<u is meaningful and returns void (a possibility to avoid compile time error would be to return true with an operator, trick but this has little sens as returning false would be better)


Review Scheduled

This section contains an index for libraries that are scheduled.


Boost.Process

  • Author(s): Boris Schaeling, Ilya Sokolov, Felipe Tanus, Julio M. Merino Vidal
  • Version: v0.4
  • State: On going
  • Last upload: October 08, 2010
  • Review Manager: Marshall Clow
  • Expected review date: February 7. 2011 - February 16, 2011
  • Links:  Boost Sandbox  Download
  • Categories: System


Review on going


Review results pending


Boost.GIL.IO

  • Author(s): Christian Henning [ mailto:chhenning-AT-gmail.com>
  • Version:
  • State: Stable
  • Last upload: 2009 Jan 14
  • Inclusion date: ???
  • Depends on:
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Mateusz Loskot
  • Review result: On going
  • Links:  svn repository
  • Categories: Image Processing
  • Description:IO extension for boost::gil which allows reading and writing of/in image formats ( tiff, jpeg, ... ).

Boost.Move


Accepted Libraries


Boost.Log

  • Author(s): Andrey Semashev ` andrey.semashev__AT__gmail.com
  • Version: RC3
  • State:  Accepted Provisionally
  • Review Manager: Vladimir Prus
  • Review dates: March 8, 2010 - March 17, 2010
  • Accepted date: ???
  • Expected completion date: ???
  • Included in trunk date: ???
  • Expected release date: ???
  • Last upload: ???

 Home Page  Review Version

  • Categories: Input/Output
  • Description: This library aims to make logging significantly easier for the application developer. It provides a wide range of out-of-box tools, along with public interfaces ready to be used to extend the library. The main goals of the library are:
    • Simplicity. A small example code snippet should be enough to get the feel of the library and be ready to use its basic features.
    • Extensibility. A user should be able to extend functionality of the library with regard to collecting and storing information into logs.
    • Performance. The library should make as least performance impact on the user's application as possible.

Included on Trunk


Boost.Chrono

  • Author(s): Howard Hinnant, Beman Dawes and Vicente J. Botet Escribá
  • Version: 0.6
  • State: Stable
  • Inclusion date: 2009 Dec 14
  • Last upload:2010 January 17
  • Depends on: Ratio, TypeTraits?, ...
  • Fulfill review criteria checked by : ??? At:
    • Missing criteria
      • C1
  • Pre-reviewed by : ??? people
  • Review Manager: Anthony Williams
  • Review Result: Pending
  • Links:  Documentation  Download  Boost Sandbox
  • Categories: System
  • Description: The Boost Chrono library provides:
    • The C++0x Standard Library's common_type.
    • The C++0x Standard Library's compile-time rational arithmetic.
    • The C++0x Standard Library's time utilities, including:
      • Class template duration
      • Class template time_point
      • Clocks:
        • system_clock
        • monotonic_clock
        • high_resolution_clock
      • typeof registration for classes duration and time_point
    • Process clocks:
      • process_real_CPU_clocks, capturing real-CPU times.
      • process_user_CPU_clocks, capturing user-CPU times.
      • process_system_CPU_clocks, capturing system-CPU times.
      • process_cpu_clock, tuple-like class capturing at once real, user-CPU, and system-CPU times.
    • Thread clocks

Boost.Geometry (aka GGL)

  • Author(s): Barend Gehrels, Bruno Lalande, Mateusz Loskot
  • Version:
  • State:  Accepted
  • Review Manager: Hartmut Kaiser
  • Review dates: November 5, 2009 - November 22, 2009
  • Accepted date: ???
  • Expected completion date: ???
  • Included in trunk date: ???
  • Expected release date: ???
  • Last upload: 2010 February
  • Description: Generic Geometry Library (GGL), this was the name before acceptance into Boost
  • Links:  Web site  Web site and Wiki  Boost Sandbox  Download
  • Categories: Math And Numerics

Boost.Ratio

  • Author(s): Howard Hinnant, Beman Dawes and Vicente J. Botet Escribá
  • Version: 0.2.0
  • State: Stable
  • Last upload:2010 September 22
  • Links:  Documentation  PDF  Download  Boost Sandbox
  • Categories: Math And Numerics
  • Description: The Boost Ratio library provides:
    • The C++0x Standard Library's compile-time rational arithmetic.

The Boost.Ratio library provides:

  • A class template, ratio, for specifying compile time rational constants such as 1/3 of a nanosecond or the number of inches per meter. ratio represents a compile time ratio of compile time constants with support for compile time arithmetic with overflow and division by zero protection
  • It provides a textual representation of boost::ratio<N, D> in the form of a std::basic_string. Other types such as boost::duration can use these strings to aid in their I/O.