Common Code
This is a collection of libraries I am using in my present C++ projects. In Debug mode it does an absurd amount of error checking, and all around is a pretty solid library. Dependencies (and some libraries I use that aren't dependencies) are included in the download. The Common Code libraries and their respective features are:
Base Library
- Reference counted smart and weak pointers.
- An event system similar to .Net's, except supporting both strong and weak delegates.
- A templated buffer class, since std::vector doesn't have allow direct pointer access to its data.
- A bunch of exception classes.
- Unicode helper functions, including UTF-8 conversion.
- Checked cast and throw on null macros.
APR-Dependent Library
- Endian byte swap routines.
- An APR-based file manager, with a LRU file handle cache.
- A C++ stream abstraction for APR files.
- Client/server network classes using APR pollsets.
- Encapsulation for APR memory pools, since they aren't really designed for games.
Math Library
- Matrices with specializations for square matrices, vectors, etc.
- Quaternions with conversion routines for 4x4 matrices.
- Animation envelopes.
- N-dimensional bounding boxes.
Object Manager Library
- Hierarchical property sets, using TinyXml for serialization.
Language Library
- Localized string retrieval.
- Uses Object Manager's XML property sets for storage.
Common Code uses exceptions, and RTTI if you use checked_cast. Its license is Zlib-style.