Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ErikMcClure/buntils
C/C++ Utility Library
https://github.com/ErikMcClure/buntils
Last synced: 3 months ago
JSON representation
C/C++ Utility Library
- Host: GitHub
- URL: https://github.com/ErikMcClure/buntils
- Owner: ErikMcClure
- License: apache-2.0
- Created: 2015-03-13T01:01:10.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-09-18T00:49:02.000Z (about 1 year ago)
- Last Synced: 2024-07-28T23:07:20.249Z (3 months ago)
- Language: C++
- Homepage:
- Size: 2.92 MB
- Stars: 35
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeCppGameDev - bss-util
README
# 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