Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ortfero/awesomecpp

Awesome C++ Libraries
https://github.com/ortfero/awesomecpp

List: awesomecpp

Last synced: about 1 month ago
JSON representation

Awesome C++ Libraries

Awesome Lists containing this project

README

        

# awesomecpp

Awesome C++ Libraries

## Other lists

* [awesome-hpp](https://github.com/p-ranav/awesome-hpp) -- A curated list of awesome header-only C++ libraries.
* [awesome-cpp](https://github.com/fffaraz/awesome-cpp) -- A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things.

## Audio

* [miniaudio](https://miniaud.io/) -- A single file audio playback and capture library.

## Compression

* [LZ4](https://github.com/lz4/lz4) -- Extremely fast compression.

## Concurrency

* [cpp-threadpool](https://github.com/yhirose/cpp-threadpool) -- C++11 header-only thread pool library.
* [Disruptor++](https://github.com/lewissbaker/disruptorplus) -- disruptor thread-synchronisation data structure for C++11.
* [fuss](https://github.com/andsmedeiros/fuss) -- efficient in-process pub/sub pattern for C++.
* [laugh](https://github.com/tyckesak/laugh) -- laughably simple yet effective actor concurrency framework for C++20.
* [libfev](https://github.com/patrykstefanski/libfev) -- library for events and fibers.
* [libunifex](https://github.com/facebookexperimental/libunifex) -- prototype implementation of the C++ sender/receiver async programming model that is currently being considered for standardisation.
* [hpx](https://github.com/STEllAR-GROUP/hpx) -- the C++ Standard Library for Parallelism and Concurrency.
* [moodycamel::ConcurrentQueue](https://github.com/cameron314/concurrentqueue) -- fast multi-producer, multi-consumer lock-free concurrent queue for C++11.
* [SObjectizer](https://github.com/Stiffstream/sobjectizer) -- implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework.
* [stlab](https://github.com/stlab/libraries) -- library provides futures and channels, high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing contention.
* [xenium](https://github.com/mpoeter/xenium) -- library providing various concurrent data structures and reclamation schemes.

## Configuration

* [taocpp/config](https://github.com/taocpp/config) -- header-only library that reads config files based on JSON and JAXN and produces a single JSON Value as result.
* [Tortellini](https://github.com/Qix-/tortellini) -- ini file reader and writer for C++11 and above.
* [confetti](https://github.com/ortfero/confetti) -- C++17 one-header library to parse ini files with toml extensions.

## Console

* [flags](https://github.com/sailormoon/flags) -- Simple, extensible, header-only C++17 argument parser released into the public domain.
* [Lyra](https://github.com/bfgroup/Lyra) -- A simple to use, composing, header only, command line arguments parser for C++ 11 and beyond.
* [oof](https://github.com/s9w/oof) -- Convenient, high-performance RGB color and position control for console output.
* [xtd](https://github.com/gammasoft71/xtd) -- modern C++17 / C++20 framework to create console, forms (GUI like WinForms) and unit test applications on Microsoft Windows, Apple macOS and Linux

## Containers and Algorithms

* [array](https://github.com/foonathan/array) -- contiguous container library - arrays with customizable allocation, small buffer optimization and more.
* [BTree](https://github.com/frozenca/BTree) -- a general-purpose high-performance lightweight STL-like modern C++ B-Tree.
* [cppitertools](https://github.com/ryanhaining/cppitertools) -- implementation of python itertools and builtin iteration functions for C++17.
* [flecs](https://github.com/SanderMertens/flecs) -- fast and lightweight Entity Component System with a focus on high performance game development.
* [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) -- functional programming library for C++.
* [Little Type Library](https://github.com/qnope/Little-Type-Library) -- lightweight library that can be used for meta programming and / or functional programming.
* [memory](https://github.com/foonathan/memory) -- STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write.
* [NanoRange](https://github.com/tcbrindle/NanoRange) -- C++17 implementation of the C++20 Ranges proposals.
* [pdqsort](https://github.com/orlp/pdqsort) -- pattern-defeating quicksort (pdqsort) is a novel sorting algorithm that combines the fast average case of randomized quicksort with the fast worst case of heapsort, while achieving linear time on inputs with certain patterns.
* [plf_hive](https://github.com/mattreecebentley/plf_hive) -- plf::hive is a fork of plf::colony to match the current C++ standards proposal.
* [recursive-variant](https://github.com/codeinred/recursive-variant) -- a simple library for recursive variant types.
* [robin-hood-hashin](https://github.com/martinus/robin-hood-hashin) -- platform independent replacement for `std::unordered_map` / `std::unordered_set` which is both faster and more memory efficient for real-world use cases.
* [static_vector](https://github.com/gnzlbg/static_vector) -- dynamically-resizable vector with fixed capacity and embedded storage.
* [taocpp/operators](https://github.com/taocpp/operators) -- zero-dependency C++11 single-header library that provides highly efficient, move aware operators for arithmetic data types.
* [taocpp/sequences](https://github.com/taocpp/sequences) -- zero-dependency C++11 header-only library that provides efficient algorithms to generate and work on variadic templates and `std::integer_sequence`.
* [tiny::optional](https://github.com/Sedeniono/tiny-optional) -- replacement for std::optional that does not unnecessarily waste memory.
* [type_safe](https://github.com/foonathan/type_safe) -- zero overhead utilities for preventing bugs at compile time.
* [vapid-soa](https://github.com/markisus/vapid-soa) -- a header only structure of arrays container for C++.

## File Formats

* [glaze](https://github.com/stephenberry/glaze) -- extremely fast, in memory, JSON and interface library for modern C++.
* [DAW JSON Link](https://github.com/beached/daw_json_link) -- static JSON parsing in C++.
* [json.h](https://github.com/sheredom/json.h) -- single header json parser for C and C++.
* [lazycsv](https://github.com/ashtum/lazycsv) -- fast, lightweight and single-header c++ csv parser library.
* [RapidJSON](https://github.com/Tencent/rapidjson) -- fast JSON parser/generator for C++ with both SAX/DOM style API.
* [simdjson](https://github.com/simdjson/simdjson) -- parsing gigabytes of JSON per second.
* [yyjson](https://github.com/ibireme/yyjson) -- the fastest C JSON library.

## Database

* [cpp-sqlitelib](https://github.com/yhirose/cpp-sqlitelib) -- C++11 SQLite wrapper library.

## File Managment

* [TinyDir](https://github.com/cxong/tinydir) -- lightweight, portable and easy to integrate C directory and file reader.
* [cpp-mmaplib](https://github.com/yhirose/cpp-mmaplib) -- C++11 header-only memory mapped file library.
* [glob](https://github.com/p-ranav/glob) -- glob for C++17.

## Graphics

* [The Forge](https://github.com/ConfettiFX/The-Forge) -- cross-platform rendering framework.
* [Godot](https://github.com/godotengine/godot) -- multi-platform 2D and 3D game engine.
* [HibFonts](https://github.com/hibengler/HibFonts) -- manuscript based ASCII font for Open GL ES 2.0.
* [libschrift](https://github.com/tomolt/libschrift) -- a lightweight TrueType font rendering library.
* [LLGL](https://github.com/LukasBanana/LLGL) -- thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal.
* [lunasvg](https://github.com/sammycage/lunasvg) -- standalone c++ library to create, animate, manipulate and render SVG files.
* [Matplot++](https://github.com/alandefreitas/matplotplusplus) -- graphics library for data visualization.
* [PlutoVG](https://github.com/sammycage/plutovg) -- standalone 2D vector graphics library in C.
* [raylib](https://github.com/raysan5/raylib) -- simple and easy-to-use library to enjoy videogames programming.
* [Sokol](https://github.com/floooh/sokol) -- minimal cross-platform standalone C headers.
* [WUHOO](https://github.com/ViNeek/wuhoo) -- single-header library for graphics related window management, compatible with both C and C++.

## Logging

* [lwlog](https://github.com/ChristianPanov/lwlog) -- very fast synchronous C++17 logging library.
* [spdlog](https://github.com/gabime/spdlog) -- fast C++ logging library.
* [reckless](https://github.com/mattiasflodin/reckless) -- Low-latency, high-throughput, asynchronous logging library for C++.
* [Quill](https://github.com/odygrd/quill) -- cross-platform low latency logging library based on C++14.

## Math

* [FastTrigo](https://github.com/divideconcept/FastTrigo) -- fast yet accurate trigonometric functions.
* [vmath](https://github.com/BlackMATov/vmath.hpp) -- C++17 tiny vector math library.
* [fixed_math](https://github.com/arturbac/fixed_math) -- fixed point 48.16 bit arithmetic type.
* [eve](https://github.com/jfalcou/eve) -- expressive velocity engine.

## Network

* [Asio](https://github.com/chriskohlhoff/asio) -- Asio C++ Library.
* [ZeroMQ](https://github.com/zeromq/libzmq) -- library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products.
* [nanomsg-next-gen](https://github.com/nanomsg/nng) -- lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery.
* [FlatBuffers](https://github.com/google/flatbuffers) -- memory efficient serialization library.
* [zpp::bits](https://github.com/eyalz800/zpp_bits) -- lightweight C++20 serialization and RPC library.

## Process Managment

* [subprocess.h](https://github.com/sheredom/subprocess.h) -- single header process launching solution for C and C++.
* [subprocess](https://github.com/rajatjain1997/subprocess) -- a C++ high level library for running shell processes.

## Profiling

* [easy_profiler](https://github.com/yse/easy_profiler) -- lightweight profiler library for C++.
* [picobench](https://github.com/iboB/picobench) -- tiny microbenchmarking library in a single header file.
* [precision](https://github.com/ruarq/precision) -- microbenchmarking library for C++17 and above.

## Rest protocol

* [cpprouter](https://github.com/omartijn/cpprouter) -- modern, header-only request router for C++.
* [cpp-httplib](https://github.com/yhirose/cpp-httplib) -- C++11 single-file header-only cross platform HTTP/HTTPS library.
* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) -- header only library for creating and validating json web tokens in C++.
* [kleinsHTTP](https://github.com/kleinschrader/kleinsHTTP) -- a stupid stupidly simple http server.
* [PicoHTTPParser](https://github.com/h2o/picohttpparser) -- tiny HTTP parser written in C.
* [restbed](https://github.com/Corvusoft/restbed) -- Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.
* [RESTCpp](https://github.com/ozanarmagan/RESTCpp) -- cross platform multi threaded REST API framework using thread-pooling implementation with modern C++.
* [via-httplib](https://github.com/kenba/via-httplib) -- a library for embedding an HTTP or HTTPS server in C++ applications.
* [wfrest](https://github.com/wfrest/wfrest) -- C++ web framework REST API.

## Scheduling

* [concurrencpp](https://github.com/David-Haim/concurrencpp) -- tasks, executors, timers and C++20 coroutines to rule them all.
* [periodic-function](https://github.com/DeveloperPaul123/periodic-function) -- small header only library to call a function at a specific time interval.
* [SCoro](https://github.com/seppeon/SCoro) -- a stackless, resumable, resettable state machine style coroutine library for C++17.
* [timetable](https://github.com/ortfero/timetable) -- C++17 one-header library to invoke something periodically or at the specified time.

## Scripts

* [Elk](https://github.com/cesanta/elk) -- tiny JS engine for embedded systems.
* [Gravity](https://github.com/marcobambini/gravity) -- gravity programming language.
* [lauf](https://github.com/foonathan/lauf) -- bytecode interpreter.
* [Monkey](https://github.com/yhirose/monkey-cpp) -- C++ version monkey language interpreter.
* [PL/0 JIT compiler](https://github.com/yhirose/pl0-jit-compiler) -- tiny PL/0 JIT compiler in less than 700 LOC with LLVM and PEG parser.
* [QuickJS](https://github.com/bellard/quickjs) -- QuickJS Javascript Engine.

## Storage

* [RocksDB](https://github.com/facebook/rocksdb) -- persistent key-value store for flash and RAM storage.

## Tests

* [doctest](https://github.com/doctest/doctest) -- the fastest feature-rich C++11/14/17/20 single-header testing framework.
* [snatch](https://github.com/cschreib/snatch) -- lightweight C++20 testing framework.

## Text Handling

* [cpp-peglib](https://github.com/yhirose/cpp-peglib) -- C++17 header-only PEG (Parsing Expression Grammars) library.
* [ezpz](https://github.com/OneBit74/ezpz) -- easy parsing C++ library.
* [lexy](https://github.com/foonathan/lexy) -- C++ parsing DSL.
* [libfmt](https://github.com/fmtlib/fmt) -- a modern formatting library.
* [htmlparser](https://github.com/mylogin/htmlparser) -- Fast and lightweight HTML parser.
* [scnlib](https://github.com/eliaskosunen/scnlib) -- scanf for modern C++

## UI

* [Dear ImGui](https://github.com/ocornut/imgui) -- bloat-free Graphical User interface for C++ with minimal dependencies.
* [Elements](https://github.com/cycfi/elements) -- lightweight, fine-grained, resolution independent, modular GUI library.
* [hikogui](https://github.com/hikogui/hikogui) -- modern accelerated GUI.
* [Neutralinojs](https://github.com/neutralinojs) -- portable and lightweight cross platform app development framework.
* [microui](https://github.com/rxi/microui) -- tiny, portable, immediate-mode UI library written in ANSI C.
* [raygui](https://github.com/raysan5/raygui) -- simple and easy-to-use immediate-mode gui library.

## Unicode

* [cpp-unicodelib](https://github.com/yhirose/cpp-unicodelib) -- C++17 single-file header-only Unicode library.
* [utf8.h](https://github.com/sheredom/utf8.h) -- single header utf8 string functions for C and C++.