Review Wizard Report for May 2016
============================================== Review Wizard Status Report for May 2016 ============================================== News ==== 1. Boost 1.58 Released April 2015. New Libraries: Endian, Sort 2. Metaparse Library Accepted 3. Hana Library Accepted 4. DLL Library Accepted 5. Http Library Rejected 6. Boost 1.59 Released August 2015. New Libraries: Coroutine2, Convert 7. AFIO Library Reviewed 8. Fiber Library Conditionally Accepted 9. Boost 1.60 Released December 2015. New Libraries: Variadic Macro Data 10. Quaternions, Vectors, Matrices Accepted 11. Fit Library Rejected 11. Boost 1.61 Released May 2016. New Libraries: Compute, DLL, Metaparse, Hana Open Issues =========== The following libraries have review managers, but have not yet been scheduled for review: * Range Extensions - added May 2012; review manager: Neil Groves. The following libraries have been reviewed and await reports from their review managers: * AFIO - reviewed August 2015; review manager: Ahmed Charles. The following libraries have been accepted to Boost, but have not yet been integrated into Boost Git: * Contract - accepted September 2012; author: Lorenzo Caminiti. * Quaternions,Vectors,Matrices - accepted December 2015; author: Emil Dotchevski The following libraries have been accepted and submitted to Boost Git, but have not yet appeared in a release: * none The following libraries have been accepted provisionally to Boost, but have not been submitted for mini-review and full acceptance: * none General Announcements ===================== As always, 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, including library contributors, infrastructure contributors, and other mailing list participants with a substantial track record of constructive participation. If you can serve as review manager for any of them, email Ron Garcia or John Phillips, "rxg at cs dot ubc dot ca" and "johnphillipsithica at gmail dot com" respectively. We are also suffering from a lack of reviewers. While we all understand time pressures and the need to complete paying work, the strength of Boost is based on the detailed and informed reviews submitted by you. If you are interested in reviewing a library but won't have time during the review period, you can always prepare your review ahead of time. No rule says you can only work on a review during the review period. 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, please email Ron or John. The review schedule is an unordered list of the libraries awaiting review. As such, any library on the schedule can be reviewed once the developer is ready, a review manager has been secured, and the manager, developer, and wizards agree on a date to schedule the review. Review Schedule =============== * Join (M) * Block Pointer (M) * Singularity (M) * Extended Complex Numbers (M) * Boost.Range Extensions * Nowide (M) * Array (M) * STL Extensions (M) * Countertree (M) * Process (M) * Application (M) * Edit Distance (M) * Mixin (M) * Dependency Injection (M) * Segmented Tree * Fiber ``(M)`` marks libraries that need review managers. -------------------- Join ---- :Author: Yigong Liu :Review Manager: Needed :Download: http://channel.sourceforge.net/ :Description: Join is an asynchronous, message based C++ concurrency library based on join calculus. It is applicable both to multi-threaded applications and to the orchestration of asynchronous, event-based applications. It follows Comega's design and implementation and builds with Boost facilities. It provides a high level concurrency API with asynchronous methods, synchronous methods, and chords which are "join-patterns" defining the synchronization, asynchrony, and concurrency. Block Pointer ------------- :Author: Phil Bouchard :Review Manager: Needed :Download: https://svn.boost.org/svn/boost/sandbox/block_ptr/ :Description: Deterministic memory manager of constant complexity capable of handling cyclic collections. Singularity ----------- :Author: Ben Robinson :Review Manager: Needed :Download: https://github.com/cppmaven/Singularity :Description: The Singularity Design Pattern allows you to restrict any class to a single instance. Unlike the infamous Singleton, Singularity gives you direct control over the lifetime of the object, does not require you to grant global access to the object, nor does it limit you to the default constructor for that object. Extended Complex Numbers ------------------------ :Author: Matthieu Schaller :Review Manager: Needed :Download: http://code.google.com/p/cpp-imaginary-numbers/ :Description: The library is an extension of the std::complex class addressing two issues: 1. The standard does not guaranty the behaviour of the complex class if instantiated with types other than float/double/long double. 2. Some calculation where pure imaginary numbers (i.e. multiples of sqrt(-1)) appear are unnecessarily slowed down due to the lack of support for these numbers. The code I submit contains two interleaved classes boost::complex and boost::imaginary which can be instantiated with any type T provided T overloads the usual arithmetic operators and some basic (real) mathematical functions depending on which complex function will be used. It is thus an extended version of Thorsten Ottosen's n1869 proposal (http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1869.html) Range Extensions ---------------- :Author: Akira Takahashi :Review Manager: Neil Groves :Download: https://github.com/faithandbrave/OvenToBoost :Description: This project adds some features of the Oven Range Library to Boost.Range. Features: - Additional Range Adaptors (taken, taken_while, dropped, dropped_while, elements, elements_key, memoized, outdirected) - Extensions for using Lambda (regular function, regular operator) - Infinite Range (iteration function) - and additional range utilities. Nowide ------ :Author: Artyom Beilis :Review Manager: Needed :Download: http://cppcms.com/files/nowide/ :Description: This library makes cross platform Unicode aware programming easier. It provides an implementation of standard C and C++ library functions, such that their inputs are UTF-8 aware on Windows without requiring to use Wide API. Array ----- :Author: Brian Smith :Review Manager: Needed :Download: https://github.com/BrianJSmith/Array :Description: The array class is a C++11 compatible implementation of static multidimensional arrays. STL Extensions -------------- :Author: Vadim Stadnik :Review Manager: Needed :Download: https://github.com/vstadnik/stl_ext_adv_review :Description: The proposed library [stl_ext_adv] offers augmented array based B+ trees and STL containers that support the interfaces of the C++03 sequences and associative containers. The library offers a number of extensions and performance improvements that are not available in C++03 and C++11 standard containers. Countertree ----------- :Author: Francisco Jose Tapia :Review Manager: Needed :Download: https://dl.dropbox.com/u/8437476/works/countertree_code_doc.zip :Description: This library is an implementation of a binary red-black counter tree. This tree have an additional counter in each leaf. This permit the access to the elements by the position, like in a vector. It is a random access container with random access iterators. COUNTERTREE This kind of trees have an additional counter in each leaf. This permit the access to the elements by the position, like in a vector. It is a random access container with random access iterators. With unordered information we have a vector with the same speed inserting and deleting in any position (O(log N)). With ordered information, we have the classes set, multiset, map and multimap, with identical interface than the STL classes, with the plus of access to the elements by position, like in a vector. The iterators are random access , and you can subtract them. SUBALLOCATOR The suballocator is a layer between the allocator and the data structures, compatible with any allocator with the STL definition. The suballocator replace to the allocator in the allocation of equal size elements. It provides speed, return the unused memory and decrease the memory used by the program and improve the cache performance due to the data locality improvement ( 30% of improvement of speed respect the std::allocator with GCC 4.7) Process ------- :Author: Boris Schaeling :Review Manager: Needed :Download: http://www.highscore.de/boost/process0.5/process.zip :Description: Boost.Process is a library to manage system processes. It can be used to: * create child processes * setup streams for child processes * communicate with child processes through streams (synchronously or asynchronously) * wait for processes to exit (synchronously or asynchronously) * terminate processes Application ----------- :Author: Renato Tegon Forti :Review Manager: Needed :Download: https://github.com/retf/Boost.Application :Documentation: http://www.dokfile.com/appbeta4/docs/libs/application/doc/html/index.html :Description: Application provides an application environment, or start point to any people that want a basic infrastructure to build an system application on Windows or Unix Variants (e.g. Linux, MacOS). Application uses behaviours modeled using 'aspects' concept proposed by 'Vicente J. Botet Escriba', that allow easy extension and customization of library components. The application modes uses these components internally to achieve the user desirable behaviours. Application provide many useful ready-to-use features, e.g: * Run application as Windows Service; * Run application as UNIX/POSIX Daemon; * Plugin extension system; * Process(executable) Single instance Instantiation support; * Application SIGNAL/Callbacks customization; * Windows Service Setup feature; * And many others. Edit Distance ------------- :Author: Erik Erlandson :Review Manager: Needed :Download: https://github.com/erikerlandson/algorithm/tree/edit_distance/sequence :Description: The edit distance is the length of the shortest (or least-cost) edit script from one sequence to another, where an edit script is defined as a sequence of insertion, deletion and (optionally) substitution operations. The function implementing the edit distance is named edit_distance. This function will return the edit distance between two sequences, where sequences may be any valid range object supporting forward iteration. The edit_distance function will also, if requested, return the edit script. Mixin ----- :Author: Borislav Stanimirov :Download: https://github.com/iboB/boost.mixin :Documentation: http://ibob.github.io/boost.mixin/ :Review Manager: Needed :Description: Boost.Mixin is a library that allows the composition and modifications of polymorphic types at run time. Types and objects are constructed out of building blocks called mixins. The library uses the type boost::mixin::object as a placeholder, whose instances can be extended with existing classes (mixins), thus providing a particular instance with the functionality of all those types. Accessing the newly formed type's interface is made through messages: stand-alone functions generated by the library, which can be thought of as methods. This is given while also having full abstraction between the interface and the definition of types. An existing feature in another language similar to Boost.Mixin and also an inspiration for the library are the mixins in Ruby. The library also has similarities with the pattern entity-component-system. Dependency Injection -------------------- :Author: :Download: https://github.com/krzysztof-jusiak/di :Documentation: http://krzysztof-jusiak.github.io/di/boost/libs/di/doc/html :Incubator: http://rrsd.com/blincubator.com/bi_library/di-dependency-injection/?gform_po... :Review Manager: Needed :Description: Boost.DI is a dependency injection library improving manual dependency injection by simplifying object instantiation with automatic dependencies injection. Using Boost.DI has many advantages over manual dependency injection. * Reduce boilerplate code (No factories, no objects creation in specific order) * Reduce cost of maintenance effort (Constructor signature change won't affect di configuration) * Reduce testing effort * Give better control of what and how is created (Policies, Providers) * Give better understanding about objects hierarchy (UML Dumper) Segmented Tree -------------- :Author: Chris Clearwater :Download: http://rrsd.com/blincubator.com/bi_library/segmentedtreeseq-2/?gform_post_id... :Repository: http://github.com/det/segmented_tree :Documentation: https://det.github.io/segmented_tree :Review Manager: Glen Fernandes :Description: SegmentedTreeSeq is a sequence data structure like vector and deque that supports efficient random access insert and erase. It is implemented using B+Trees and has an emphasis on speed and a low memory overhead. Fiber ----- :Author: Oliver Kowalke :Download: https://github.com/olk/boost-fiber :Documentation: http://olk.github.io/libs/fiber/doc/html/ :Review Manager: Nat Goodspeed :Description: Boost.Fit is a header-only C++11/C++14 library that provides utilities for functions and function objects. Libraries under development =========================== See The Boost Library Incubator Project at http://blincubator.com for discussion of libraries currently under development.
On May 17, 2016, at 11:54 AM, Ronald Garcia
wrote: ============================================== Review Wizard Status Report for May 2016 ==============================================
News ====
1. Boost 1.58 Released April 2015. New Libraries: Endian, Sort 2. Metaparse Library Accepted 3. Hana Library Accepted 4. DLL Library Accepted 5. Http Library Rejected 6. Boost 1.59 Released August 2015. New Libraries: Coroutine2, Convert 7. AFIO Library Reviewed 8. Fiber Library Conditionally Accepted 9. Boost 1.60 Released December 2015. New Libraries: Variadic Macro Data 10. Quaternions, Vectors, Matrices Accepted 11. Fit Library Rejected
This is wrong, the Fit library was conditionally accepted.
11. Boost 1.61 Released May 2016. New Libraries: Compute, DLL, Metaparse, Hana
Open Issues ===========
The following libraries have review managers, but have not yet been scheduled for review:
* Range Extensions - added May 2012; review manager: Neil Groves.
The following libraries have been reviewed and await reports from their review managers:
* AFIO - reviewed August 2015; review manager: Ahmed Charles.
The following libraries have been accepted to Boost, but have not yet been integrated into Boost Git:
* Contract - accepted September 2012; author: Lorenzo Caminiti. * Quaternions,Vectors,Matrices - accepted December 2015; author: Emil Dotchevski
The following libraries have been accepted and submitted to Boost Git, but have not yet appeared in a release:
* none
The following libraries have been accepted provisionally to Boost, but have not been submitted for mini-review and full acceptance:
* none
General Announcements =====================
As always, 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, including library contributors, infrastructure contributors, and other mailing list participants with a substantial track record of constructive participation. If you can serve as review manager for any of them, email Ron Garcia or John Phillips, "rxg at cs dot ubc dot ca" and "johnphillipsithica at gmail dot com" respectively.
We are also suffering from a lack of reviewers. While we all understand time pressures and the need to complete paying work, the strength of Boost is based on the detailed and informed reviews submitted by you. If you are interested in reviewing a library but won't have time during the review period, you can always prepare your review ahead of time. No rule says you can only work on a review during the review period.
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, please email Ron or John.
The review schedule is an unordered list of the libraries awaiting review. As such, any library on the schedule can be reviewed once the developer is ready, a review manager has been secured, and the manager, developer, and wizards agree on a date to schedule the review.
Review Schedule ===============
* Join (M) * Block Pointer (M) * Singularity (M) * Extended Complex Numbers (M) * Boost.Range Extensions * Nowide (M) * Array (M) * STL Extensions (M) * Countertree (M) * Process (M) * Application (M) * Edit Distance (M) * Mixin (M) * Dependency Injection (M) * Segmented Tree * Fiber
``(M)`` marks libraries that need review managers.
--------------------
Join ---- :Author: Yigong Liu
:Review Manager: Needed
:Download: http://channel.sourceforge.net/
:Description: Join is an asynchronous, message based C++ concurrency library based on join calculus. It is applicable both to multi-threaded applications and to the orchestration of asynchronous, event-based applications. It follows Comega's design and implementation and builds with Boost facilities. It provides a high level concurrency API with asynchronous methods, synchronous methods, and chords which are "join-patterns" defining the synchronization, asynchrony, and concurrency.
Block Pointer ------------- :Author: Phil Bouchard
:Review Manager: Needed
:Download: https://svn.boost.org/svn/boost/sandbox/block_ptr/
:Description: Deterministic memory manager of constant complexity capable of handling cyclic collections.
Singularity ----------- :Author: Ben Robinson
:Review Manager: Needed
:Download: https://github.com/cppmaven/Singularity
:Description: The Singularity Design Pattern allows you to restrict any class to a single instance. Unlike the infamous Singleton, Singularity gives you direct control over the lifetime of the object, does not require you to grant global access to the object, nor does it limit you to the default constructor for that object.
Extended Complex Numbers ------------------------ :Author: Matthieu Schaller
:Review Manager: Needed
:Download: http://code.google.com/p/cpp-imaginary-numbers/
:Description: The library is an extension of the std::complex class addressing two issues:
1. The standard does not guaranty the behaviour of the complex class if instantiated with types other than float/double/long double.
2. Some calculation where pure imaginary numbers (i.e. multiples of sqrt(-1)) appear are unnecessarily slowed down due to the lack of support for these numbers. The code I submit contains two interleaved classes boost::complex and boost::imaginary which can be instantiated with any type T provided T overloads the usual arithmetic operators and some basic (real) mathematical functions depending on which complex function will be used. It is thus an extended version of Thorsten Ottosen's n1869 proposal (http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1869.html)
Range Extensions ---------------- :Author: Akira Takahashi
:Review Manager: Neil Groves
:Download: https://github.com/faithandbrave/OvenToBoost
:Description: This project adds some features of the Oven Range Library to Boost.Range. Features: - Additional Range Adaptors (taken, taken_while, dropped, dropped_while, elements, elements_key, memoized, outdirected) - Extensions for using Lambda (regular function, regular operator) - Infinite Range (iteration function) - and additional range utilities.
Nowide ------ :Author: Artyom Beilis
:Review Manager: Needed
:Download: http://cppcms.com/files/nowide/
:Description: This library makes cross platform Unicode aware programming easier. It provides an implementation of standard C and C++ library functions, such that their inputs are UTF-8 aware on Windows without requiring to use Wide API.
Array ----- :Author: Brian Smith
:Review Manager: Needed
:Download: https://github.com/BrianJSmith/Array
:Description: The array class is a C++11 compatible implementation of static multidimensional arrays.
STL Extensions -------------- :Author: Vadim Stadnik
:Review Manager: Needed
:Download: https://github.com/vstadnik/stl_ext_adv_review
:Description: The proposed library [stl_ext_adv] offers augmented array based B+ trees and STL containers that support the interfaces of the C++03 sequences and associative containers. The library offers a number of extensions and performance improvements that are not available in C++03 and C++11 standard containers.
Countertree ----------- :Author: Francisco Jose Tapia
:Review Manager: Needed
:Download: https://dl.dropbox.com/u/8437476/works/countertree_code_doc.zip
:Description: This library is an implementation of a binary red-black counter tree. This tree have an additional counter in each leaf. This permit the access to the elements by the position, like in a vector. It is a random access container with random access iterators.
COUNTERTREE
This kind of trees have an additional counter in each leaf. This permit the access to the elements by the position, like in a vector. It is a random access container with random access iterators.
With unordered information we have a vector with the same speed inserting and deleting in any position (O(log N)). With ordered information, we have the classes set, multiset, map and multimap, with identical interface than the STL classes, with the plus of access to the elements by position, like in a vector. The iterators are random access , and you can subtract them.
SUBALLOCATOR
The suballocator is a layer between the allocator and the data structures, compatible with any allocator with the STL definition. The suballocator replace to the allocator in the allocation of equal size elements. It provides speed, return the unused memory and decrease the memory used by the program and improve the cache performance due to the data locality improvement ( 30% of improvement of speed respect the std::allocator with GCC 4.7)
Process ------- :Author: Boris Schaeling :Review Manager: Needed :Download: http://www.highscore.de/boost/process0.5/process.zip
:Description: Boost.Process is a library to manage system processes. It can be used to:
* create child processes * setup streams for child processes * communicate with child processes through streams (synchronously or asynchronously) * wait for processes to exit (synchronously or asynchronously) * terminate processes
Application ----------- :Author: Renato Tegon Forti :Review Manager: Needed :Download: https://github.com/retf/Boost.Application :Documentation: http://www.dokfile.com/appbeta4/docs/libs/application/doc/html/index.html :Description: Application provides an application environment, or start point to any people that want a basic infrastructure to build an system application on Windows or Unix Variants (e.g. Linux, MacOS).
Application uses behaviours modeled using 'aspects' concept proposed by 'Vicente J. Botet Escriba', that allow easy extension and customization of library components. The application modes uses these components internally to achieve the user desirable behaviours.
Application provide many useful ready-to-use features, e.g:
* Run application as Windows Service; * Run application as UNIX/POSIX Daemon; * Plugin extension system; * Process(executable) Single instance Instantiation support; * Application SIGNAL/Callbacks customization; * Windows Service Setup feature; * And many others.
Edit Distance ------------- :Author: Erik Erlandson :Review Manager: Needed :Download: https://github.com/erikerlandson/algorithm/tree/edit_distance/sequence :Description: The edit distance is the length of the shortest (or least-cost) edit script from one sequence to another, where an edit script is defined as a sequence of insertion, deletion and (optionally) substitution operations. The function implementing the edit distance is named edit_distance. This function will return the edit distance between two sequences, where sequences may be any valid range object supporting forward iteration. The edit_distance function will also, if requested, return the edit script.
Mixin ----- :Author: Borislav Stanimirov :Download: https://github.com/iboB/boost.mixin :Documentation: http://ibob.github.io/boost.mixin/ :Review Manager: Needed :Description: Boost.Mixin is a library that allows the composition and modifications of polymorphic types at run time. Types and objects are constructed out of building blocks called mixins.
The library uses the type boost::mixin::object as a placeholder, whose instances can be extended with existing classes (mixins), thus providing a particular instance with the functionality of all those types. Accessing the newly formed type's interface is made through messages: stand-alone functions generated by the library, which can be thought of as methods.
This is given while also having full abstraction between the interface and the definition of types.
An existing feature in another language similar to Boost.Mixin and also an inspiration for the library are the mixins in Ruby. The library also has similarities with the pattern entity-component-system.
Dependency Injection -------------------- :Author: :Download: https://github.com/krzysztof-jusiak/di :Documentation: http://krzysztof-jusiak.github.io/di/boost/libs/di/doc/html :Incubator: http://rrsd.com/blincubator.com/bi_library/di-dependency-injection/?gform_po... :Review Manager: Needed :Description: Boost.DI is a dependency injection library improving manual dependency injection by simplifying object instantiation with automatic dependencies injection. Using Boost.DI has many advantages over manual dependency injection. * Reduce boilerplate code (No factories, no objects creation in specific order) * Reduce cost of maintenance effort (Constructor signature change won't affect di configuration) * Reduce testing effort * Give better control of what and how is created (Policies, Providers) * Give better understanding about objects hierarchy (UML Dumper)
Segmented Tree -------------- :Author: Chris Clearwater :Download: http://rrsd.com/blincubator.com/bi_library/segmentedtreeseq-2/?gform_post_id... :Repository: http://github.com/det/segmented_tree :Documentation: https://det.github.io/segmented_tree :Review Manager: Glen Fernandes :Description: SegmentedTreeSeq is a sequence data structure like vector and deque that supports efficient random access insert and erase. It is implemented using B+Trees and has an emphasis on speed and a low memory overhead.
Fiber ----- :Author: Oliver Kowalke :Download: https://github.com/olk/boost-fiber :Documentation: http://olk.github.io/libs/fiber/doc/html/ :Review Manager: Nat Goodspeed :Description: Boost.Fit is a header-only C++11/C++14 library that provides utilities for functions and function objects.
Libraries under development ===========================
See The Boost Library Incubator Project at http://blincubator.com for discussion of libraries currently under development.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Paul Fultz II
-
Ronald Garcia