Awesome
Bunny Utility Library
This is a collection of miscellaneous utility code used to simplify common tasks in C/C++ programs.
- Type safe variant object for algebriac types.
- Allocators with a state
- Logging
- Reference counting
- Generalized linked list manipulation
- Array-based linked list
- Threaded red-black tree implementation
- AVL tree implementation
- DLL-friendly simplified dynamic array implementation
- Array-based stack implementation
- Array-based queue implementation
- cStr, an extension of the standard std::string object that supports UTF8 conversions and other operations.
- A single-producer, single-consumer lockless queue
- A multi-producer, multi-consumer microlock queue
- Templatized implementations of cmpxchg,xchg,xadd, and other lockless primitives.
- A template-based hash implementation based on khash
- Command line parsing
- Block, ring, and greedy allocation schemes
- Fixed-size bit-based flag manipulation
- High precision timer
- Binary heap implementation
- Priority queue based on binary heap
- Priority heap based on Priority Queue that tracks entries to allow implementing Dijkstra's Algorithm
- #defines to help deal with stupid windows.h conflicts and VC++ deprecated functions
- Sorted array using a bisection algorithm
- Map based on sorted array
- Frighteningly efficient delegate implementation
- Automatic differentiation with dual numbers
- Fixed-point arithmetic.
- Template-based SSE2 objects for automatic SSE optimizations.
- Alias table for random number generation
- Generic animation system
- Circular array implementation
- Disjoint Set Data Structure that implements Kruskal's minimum spanning tree algorithm.
- Cross-platform extension to std::thread that allows signaling threads.
- Stream splitting object using standard buffer implementation.
- Integral rational data structure for precise fractions.
- String table for localization.
- High performance profiler with multiple output options.
- Multi-consumer multi-producer lockless block allocator.
- Generalized KD-tree implementation for querying how many rectangles are inside a given rectangle.
- Implementation of Robert Bridson's Fast Poisson Disk Sampling algorithm.
- An in-place compressed Trie data structure implementation.
- Arbitrary scheduler class for delaying actions.
- Thread pool implementation
- Implementation of a graph representation that implements the push-relabel algorithm, along with reductions from circulation and lower-bound circulation graph problems.
- Implements efficient breadth-first traversal of a tree or graph
- Includes an ID hash system that can be rebased at any time, including a reversal extension.
- Implements mathematically correct integer and float modulo
- Includes an n-dimensional vector and matrix math library, with optimized 4x4, 3x3 and 2x2 operations.
- Implementes the xorshift random number generation algorithm as a standards-compliant engine.
- AA tree implementation
- Universal object serializer
- XML parser and serializer
- JSON parser and serializer
- UBJSON parser and serializer
- INI parser and serializer