Code
Base Library
The Base library is the common utility library that I use in both MGE
and SS3. It provides:
- Smart pointers (both intruvive and non-intrusive).
- Function objects ("functors") with C++ class template permutations generated by a Python script.
- Exception classes.
- Operating system, filesystem (using PhysFS), threading, and windowing abstractions.
- Math classes (vector, matrix, geometry intersection methods).
- Stream based logging system.
- Input manager.
- Console command and variables.
- XML system (internally uses elisxml written by Elijah Sheppard).
- Helpers for manipulating std::string (StringUtil).
- Internationalization helpers that provide string tables.
- Profiling and frame statistics gathering framework.
All the code in this package has been written by me except where otherwise stated
(e.g. the SharedPtr and Singleton classes were written by
Andrew Russell).