CPP Swiss Armyknife
A collection of nice and tiny C++ libraries.
The main focus is speed, few or no dependencies and header only when possible.
Algorithms
| library |
description |
| pdqsort |
std::sort replacement |
Compression
| library |
description |
| LZ4 |
Fast compression |
Concurrency
Data structures
| library |
description |
| Rea |
SlotsLists |
| PLF Colony |
Cache friendly container with fast insertion and remove. |
| Sparcepp |
Hash map alternative |
Debug
Logging
| library |
description |
| spdlog |
Fast logging library |
Math
| library |
description |
| FastTrigo |
Fast trigonometric functions |
Memory
| library |
description |
| Memory |
STL compatible allocator |
Miscellaneus
| library |
description |
| Type safe |
Wrappers for type safety |
| Any |
Any with small object optimization |
| SSO-23 |
String with small object optimization |
| Observable |
observable Pattern (Signal-Slot) |
| [NanoRange](https://github.com/tcbrindle/NanoRange= |
Like Range-V3... |
| Constexpr |
Many common functions implemented as constexpr |
Parser
| library |
description |
| sajson |
Header only JSON parser (c++11) |
Profiling
Unit Testing
| library |
description |
| Catch |
Header only testing framework |
State Machine
| library |
description |
| Boost::SML |
C++14 State Machine Library |
Task Scheduler / multi-threading
| library |
description |
| enkiTS |
Task Scheduler |
| px_sched |
Single header Task Scheduler |
| STLab |
std::future done right |
| cpp-taskflow |
Task based parallelism |
| marl |
Scheduler with thread and fivers |