SDPP - Serializable Data and Parallel Programming
The SDPP is a data handling library (similarly to the standard STL, with different goals:
- The stuff doesn't want to be a replacement for any other library (mainly the STL), the goal is to provide a good functionality for the application development (and possibly compatibility with the others)
- The storage classes (arrays, trees, graphs) can store inhomogenous data types (the items can be of different types)
- The serialization is implemented in binary and textual formats (for each class), too
- The item connections (through pointers) are automatically handled (stored and restored) in the serialization process
- The parallel processing of the items (sorting, item-by-item processing) is integrated into the container classes
- The parallelization is based on the (multiplatform) TTaskDispatcher class
- The library is widely used in several applications (like the MEditor, the ECalc or the
cmdtools applications).
- Compiler (platform) independence (tested and used with C++ Builder, Visual C++ and g++ (Windows), g++ (Unix, Linux))
The classes of the library (mainly in order of importance/frequency of usage):
- TContainer: the array-like storage of the items
- TString: a string class with the usual and some additional unusual (not so widely used) functionality, compatibility with the standard things (C-string, STL) through the 0-terminated strings
- TStringContainer: the array class of the previous strings
- Predefined containers for the basic types (char, unsigned char, int, long long, float, double) and containers of the previous ones (2-dimensional containers)
- TBitArray: a space saving implementation to store bools (bits)
- TMemBuffer: a temporary storage class to store binary data (used for the binary serilaization, too)
- TBinaryTree: a tree of nodes with maximum two children (leaves)
- TTernaryTree: a tree of nodes with maximum three children
- TGeneralTree: a tree of nodes with any children
- TGraphContainer: a graph structure (nodes connected to each other)