STLplus is a collection of reusable C++ components for developers already familiar with the STL. It contains template containers to extend the STL, reusable subsystems, data persistence (serialisation) and portability components.
The collection is general-purpose and portable:
The containers library contains template containers (data structures) which expand on the STL as the name STLplus suggests.
The components provided are:
The persistence 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 persistent types supported are:
The portability library provides 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/XP/Vista, MacOS-X, and all flavours of Unix, including Linux and Solaris on PCs, plus Solaris, HP-UX and AIX on workstations. The components provided are:
The subsystems library contains components to build up applications in a modular way. They provide commonly-used functionality. The subsystems provided are:
The strings library provides formatting and printing functions which 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.
The types supported are:
There are three key packages in the project:
You have a choice of either downloading a zipped 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.
The collection does not depend on any other software apart from the C and C++ standard libraries.
Note for CVS users: each of these has a corresponding module with the same name in the CVS repository.
STLplus v3 is a library collection, where each library serves a specific purpose, so you can pick which libraries in the collection to use. STLplus v3 is now the recommended version and use of v2 is deprecated.
STLplus v2 was a single large library with a lot of unrelated components. It will continue to be supported for some time to come since there are many people still using it, but new users are recommended to start with v3. Note: STLplus version 3 is not backwards-compatible with STLplus version 2. You should only make the changeover if you are prepared to do some porting work or if you are starting a new project.
The makefiles project is for building the STLplus libraries with gcc.
Author: Andy Rushton