Overview of libraries on the Boost review schedule

From Just in Time

Join - Asynchronous Message Coordination and Concurrency Library

This library provides classes and mechanisms to pass messages from one thread to another. Most of the concepts appear not to be explained in the accompanying documentations, but must be found in documents that the documentation refers to. For instance, the 'chord' concept is used in the documentation, but I haven't found any direct definition of the chord concept, the closest I got was:

In Join based applications (Cω and Join), chords play the core role of concurrency design:

        chords define synchronization:

synchronization only apply to async<> / synch<> ports which participate in the chords of same joint.

        chords define concurrency:

In Join based systems (Join or Cω) there is no explicit thread creation and synchronization or even no explicit task creation and dispatching to executor thread pool. Chords with only async<> ports will implicitly (automatically) create a task for its body and dispatch it to the thread pool of the executor associated with the joint. All concurrency and asynchroncy are defined and created by async<> ports and chords.


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.


Documentation and implementation in the vault seem to be missing.


Introduction of a 'standard' convert_to function, and the implementation of this function for most std and boost types and templates (complex, pair).


Implementation of lockfree datastructures:

  • fifo queue
  • stack
  • ring buffer