Boost logo

Boost :

From: Edward Diener (eldiener_at_[hidden])
Date: 2021-02-18 21:07:49


On 2/18/2021 2:57 PM, Krzysztof Jusiak via Boost wrote:
> Hi,
>
> I just wanted to share, potentially useful for the Boost and C++ community,
> libraries and ask if anyone would be willing to become a Review Manager for
> any of them?
>
> [boost-ext] (https://github.com/boost-ext) is a collection of C++ libraries
> with aspirations to be included in Boost. Libraries can be characterized by:
> * Modern C++ (>= C++14)
> * Header/Single Module only
> * No dependencies
>
> ATM, [boost::ext] consists of four core libraries:
>
> * DI - Dependency Injection Library
> overview:
> standard: C++14
> single header with no dependencies (neither STL nor Boost is required)
> release: 1.2.0 (first release - 2014)
> key features:
> - supports macro-free constructor injection
> - supports templates injection
> - quick compilation-times
> - highly optimized code generation
> try it online: https://godbolt.org/z/5qTKhf
> source code: https://github.com/boost-ext/di
> documentation: https://boost-ext.github.io/di/
>
> * SML - State Machine Library
> overview:
> standard: C++14
> single header with no dependencies (neither STL nor Boost is required)
> release: 1.1.4 (first release - 2016)
> key features:
> - much faster compilation-times than Boost.MSM (up to 60x faster)
> - highly optimized and customizable code generation
> - suitable for embedded systems
> try it online: https://godbolt.org/z/y99L50
> source code: https://github.com/boost-ext/sml
> documentation: https://boost-ext.github.io/sml/
>
> * UT - Unit Testing Framework
> overview:
> standard: C++20
> single header with no dependencies (STL required)
> release: 1.1.8 (first release - 2019)
> key features:
> - macro-free
> - minimal boilerplate
> - fast compilation-times and execution
> try it online: https://godbolt.org/z/Jqb5Ye
> source code: https://github.com/boost-ext/ut
> documentation: https://boost-ext.github.io/ut
>
> * TE - Run-time polymorphism (type erasure) library
> overview:
> standard: C++17
> single header with no dependencies (STL required)
> release: -
> key features:
> - simple interface
> - highly optimized code generation
> try it online: https://godbolt.org/z/xY9MEq
> source code: https://github.com/boost-ext/te
> documentation: https://github.com/boost-ext/te
>
> All libraries (except TE) were successfully deployed in the production
> systems.
> Some, such as DI and SML are used by well known/big IT companies as well.
>
> If anyone is interested in becoming a Review Manager for any of
> the libraries, I'd really appreciate it and I'll more than happy to address
> any issues/requests before the review as well as help with any
> process-related tasks.
>
> Thank you very much,
> -Kris

I like the testing framework, even if it is for C ++20 only. While I
have used both Boost Test and lightweight test I admit that your more
"natural" testing syntax is quite appealing.

I will admit that your example-driven documentation approach does not
appeal to me in general, but evidently most programmers like it. I
would, however, suggest you attempt to explain the reason why anyone
would want to use your DI, SML, and TE libraries, ie. how does using any
of these libraries actually benefit a C++ programmer. Other than the
"wow" factor I need a well thought out reason that I can understand to
use a library in my own code. I am glad to see you are using the
features of C++14 on up to provide different versions of state machine
and type erasure than are currently in Boost.


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