The STX B+ Tree package is a set of C++ template classes implementing a B+ tree key/data container in main memory. The classes are designed as drop-in replacements of the STL containers set, map, multiset, and multimap, and follow their interfaces very closely. By packing multiple value pairs into each node of the tree, the B+ tree reduces heap fragmentation and utilizes cache-line effects better than the standard red-black binary tree. The tree algorithms are based on the implementation in Cormen, Leiserson, and Rivest's Introduction into Algorithms, Jan Jannink's paper, and other algorithm resources. The classes contain extensive assertion and verification mechanisms to ensure the implementation's correctness by testing the tree invariants.
nedtries is a portable in-place bitwise binary Fredkin trie algorithm that allows for near constant time insertions, deletions, finds, closest fit finds, and iteration. It is approximately 50-100% faster than red-black trees and up to 20% faster than O(1) hash tables. It provides implementations as C macros, C++ templates, and as a C++ STL compatible associative container.
The Mirror C++ reflection library provides both compile-time and run-time meta-data describing common C++ program constructs like namespaces, types, enumerations, classes, their base classes and member variables, constructors, etc. and provides generic interfaces for their introspection. It also provides several high-level utilities based on the reflected meta-data like a factory generator, which generates, at compile-time, implementations of object factories which can create instances of arbitrary 'reflectable' type.
Configurator is a configuration file parser. It allows you to use arbitrary nesting of sections. The user can define an option's default value, necessity, and semantic check. It supports single-line and multi-line comments (in C++ style). It provides common checks of options and sections, like duplication, incorrection, etc. It uses only Boost C++ libraries and ISO C++. It is header-only (does not require building) and very easy to use.
Synth is a C++ template framework - a set of components that can be mixed and matched to build the right functionality; furthermore, components are loosely-coupled, designed to be both extensible and replaceable. Synth blurs the line between compile-time and runtime, and it does so by blending the static C++ type system, the dynamic values that need to be manipulated and formatted, including those from other languages, and the templates to do so. The name is an allusion to this synthesis process, which combines values to generate new ones (streams, files, strings, numbers, etc.)