ucommon

UCommon is a lightweight C++ library to facilitate using C++ design patterns even for very deeply embedded applications, such as for systems using uClibc along with POSIX threading support. For this reason, UCommon disables language features that consume memory or introduce runtime overhead. UCommon introduces some design patterns from Objective-C, such as reference counted objects, memory pools, and smart pointers. UCommon introduces some new concepts for handling of thread locking and synchronization.

Release Notes: Starting with version 5 of GNU uCommon, inheritability of ucommon thread classes were extended, and what used to be known separately as GNU Common C++ is now merged into and included as part of the ucommon package, using ucommon core classes. GNU uCommon is now also required to support GNU CCRTP (and libzrtpcpp) version 2.0 and later. The latest release of ucommon (5.0.2) adds support for OpenSSL FIPS compliance and a portable cryptographic archiver.