STL+ C++ Library Collection
STLplus is a collection of reusable C++ components for developers already familiar with the STL. It contains abstract data types to extend the STL, reusable components, data persistence and portability components. The collection is general-purpose and portable between Windows and Unix platforms.
The abstract data types expand on the STL as the name STLplus suggests. The data types provided are:
The generic subsystems are components to build up applications in a modular way. They provide commonly-used functionality. The subsystems provided are:
The portability subsystems provide platform-independent interfaces to platform-specific features. This is so that programs can be written to be inherently portable by using this library to access those features. The target platforms for portability are Windows NT/2k and all flavours of Unix, including Linux and Solaris on PCs, plus Solaris, HP-UX and AIX on workstations. The components provided are:
The library includes a solution to the problem of data persistence for C++ data structures. The data persistence components allow any well-structured data structure to be dumped and restored. The same techniques can be used to transmit data structures over network connections. The persistence format is platform-independent and so can be used to transfer data structures between platforms.
The string formatting and printing functions can be used to build up string representations of data structures for printing or for diagnostic text dumps. They use similar concepts to the persistence library in that they form a kit of parts which can be assembled to print any data structure.
You have a choice of either downloading a gzipped file containing the source code for the library or accessing the CVS repository. The download option gives you the easiest access but only provides released snapshots of the library. The CVS option gives you access to the latest version but you need to have an understanding of CVS.
There are three key packages in the project:
Each of these has a corresponding module in the CVS repository.