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.
| Tags | Software Development Libraries |
|---|---|
| Licenses | LGPL |
| Operating Systems | OS Independent |
| Implementation | C++ |
Recent releases


Changes: Introduction of DCCP socket support. Improvements in multicast socket and cross-platform support.


Changes: The class framework has been reorganized to remove unnecessary locking in local heap and keydata managed structures. The fsys class has been enhanced for streaming media files. There is some refactoring of the core API, resulting in more complete tree and list classes. Better support for use as a new system library and an alternative to the ANSI standard C++ library, especially for embedded targets. As a successor library, the license was updated to the GNU Lesser General Public License version 3 or later for continuity with GNU Common C++ licensing practices.


Changes: Scoped mutex lock guard objects were added, which can guard arbitrary objects in memory using the mutex pool. The rwlock pool was added for r/w access control of arbitrary objects. Simpler library versioning conventions were added. A multi-distribution rpm spec file was added.


Changes: This release adds new string and socket capabilities. Container policies have been added for CIDRs. There is better behavior for named objects and trees by virtual overrides. There are fixes for multicast and module loading.


Changes: This release has new generic keydata and keyfile config file/config data parsing classes to use in place of Common C++ Keydata, and a minor bugfix for string::token operation.