SimpleLib is a simple but powerful set of C++ template classes designed to be easy to use, easy to read, cross platform compatible, efficient and totally free.
SimpleLib includes classes for strings, vectors, sorted vectors, associative maps (three implementations), linked lists, ring buffers, auto (smart) pointers, auto restore variables, object pools (two implementations), singletons and dynamic types. Stacks and queues are supported through appropriately named operations on the vector class.
SimpleLib is available for download from GitHib - http://github.com/toptensoftware/SimpleLib.
This repository includes the core SimpleLib functionality and many other classes and utility functions (designed for use mainly under Windows). If you're just after the core functionality you just need
the two files SimpleLib.h and SimpleLib.cpp.
SimpleLib has been known to work with the following compilers and platforms.
Since I primarily use Visual Studio 2008, this is the most supported environment. I just don't have time to test every change on every platform. If you find a problem let me know and I'll fix it.
SimpleLib file includes SimpleTest.cpp that contains a fairly exhaustive set of unit tests that can be used to verify the compatibility of SimpleLib on other platforms. If you find SimpleLib works or almost works on a platform not mentioned above, please let me know and I'll update the list (and merge in required fixes if you send them...)
To use SimpleLib, simply place it in a local folder and configure your compiler's include path to point to that folder. Alternatively you can just place the SimpleLib files in the same directory as the project that is to use it.
SimpleLib is supplied as two files - SimpleLib.h and SimpleLib.cpp. SimpleLib.h contains the declaration of the supported classes while SimpleLib.cpp contains the implementation of those classes.
Once your compiler's include path is configured simply #include the SimpleLib header file and optionally add a using clause for the SimpleLib namespace:
#include <SimpleLib.h>
using namespace Simple;
That's it! Your now ready to start using SimpleLib.
(Note there is no need to add SimpleLib.cpp to your project - it's included at the end of SimpleLib.h).
To improve browsing SimpleLib types in Visual Studio I've authored some autoexp.dat definitions. These are well worth installing as they make viewing SimpleLib's collections in the debugger much easier. To set this up, simply copy the definitions from the bottom of SimpleLib.h into autoexp.dat. See SimpleLib.h for more information.
Most of the classes in SimpleLib are fairly self explanatory to use. Rather than provide detailed documentation of every method and parameter, I've just provided a verbal description of how to use each class with a few examples.
If there's something you can't figure out, don't understand or think needs better explanation, please Contact Me.
SimpleLib maybe used on following terms and conditions:
Thanks to: