[[
wikihub
]]
Search
⌘K
Explore
People
For Agents
Sign in
Explore
People
For Agents
Sign in
@harrisonqian / Awesome / wiki/programming-languages/c-c.md
Suggest edit
Cancel
Submit suggestion
Title
Name
Note
--- visibility: public --- # C/C++ **repo:** [fffaraz/awesome-cpp](https://github.com/fffaraz/awesome-cpp) **category:** [[programming-languages|Programming Languages]] **related:** [[c|C]] --- # Awesome C++ [](https://awesome.re) [](https://www.trackawesomelist.com/fffaraz/awesome-cpp/) A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. - [Awesome C++ ](#[awesome](/@harrisonqian/awesome/wiki/miscellaneous/awesome)-c--) - [Standard Libraries](#standard-libraries) - [Frameworks](#frameworks) - [Artificial Intelligence](#artificial-intelligence) - [Asynchronous Event Loop](#asynchronous-event-loop) - [Audio](#audio) - [Biology](#biology) - [BitTorrent](#bittorrent) - [Chemistry](#chemistry) - [CLI](#cli) - [Compression](#compression) - [Concurrency](#concurrency) - [Configuration](#configuration) - [Containers](#containers) - [Cryptography](#cryptography) - [CSV](#csv) - [Database](#database) - [Data visualization](#data-visualization) - [Debug](#debug) - [Documentation](#documentation) - [DSP](#dsp) - [Font](#font) - [Game Engine](#game-engine) - [Graph](#graph) - [GUI](#gui) - [Graphics](#graphics) - [Image Processing](#image-processing) - [Internationalization](#internationalization) - [Inter-process communication](#inter-process-communication) - [JSON](#json) - [Logging](#logging) - [Machine Learning](#machine-learning) - [Math](#math) - [Memory Allocation](#memory-allocation) - [Multimedia](#multimedia) - [Networking](#networking) - [Office Open XML](#office-open-xml) - [PDF](#pdf) - [Physics](#physics) - [Reflection](#reflection) - [Regular Expression](#regular-expression) - [Robotics](#robotics) - [Scientific Computing](#scientific-computing) - [Scripting](#scripting) - [Serialization](#serialization) - [Serial Port](#serial-port) - [Sorting](#sorting) - [Video](#video) - [Virtual Machines](#virtual-machines) - [Web Application Framework](#web-application-framework) - [XML](#xml) - [Yaml](#yaml) - [Miscellaneous](#miscellaneous) - [Software](#software) - [Compiler](#compiler) - [Online Compiler](#online-compiler) - [Debugger](#debugger) - [Integrated Development Environment](#integrated-development-environment) - [Build Systems](#build-systems) - [Static Code Analysis](#static-code-analysis) - [Coding Style Tools](#coding-style-tools) - [Resources](#resources) - [API Design](#api-design) - [Articles](#articles) - [Books](#books) - [Coding Standards](#coding-standards) - [Coding Style](#coding-style) - [Podcasts](#podcasts) - [Talks](#talks) - [Videos](#videos) - [Websites](#websites) - [Weblogs](#weblogs) - [Other [Awesome](/@harrisonqian/awesome/wiki/miscellaneous/awesome) Projects](#other-awesome-projects) - [Other [Awesome](/@harrisonqian/awesome/wiki/miscellaneous/awesome) Lists](#other-awesome-lists) - [Jobs](#jobs) - [Sponsors](#sponsors) - [Contributing](#contributing) - [*If you see a project or link here that is no longer maintained or is not a good fit, please submit a pull request to improve this document. Thank you!*](#if-you-see-a-project-or-link-here-that-is-no-longer-maintained-or-is-not-a-good-fit-please-submit-a-pull-request-to-improve-this-document-thank-you) ## Standard Libraries *C++ Standard Library - including STL Containers, STL Algorithm, STL Functional, etc.* * [C++ Standard Library](https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) - A collection of classes and functions, which are written in the [core](/@harrisonqian/awesome/wiki/platforms/core) language and part of the C++ ISO Standard itself. * [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL). * [C POSIX library](https://en.wikipedia.org/wiki/C_POSIX_library) - A specification of a C standard library for POSIX systems. * [ISO C++ [Standards](/@harrisonqian/awesome/wiki/miscellaneous/standards) Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ [Standards](/@harrisonqian/awesome/wiki/miscellaneous/standards) Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/) * [The GNU C Library](https://www.gnu.org/software/libc/manual) - The purpose of this manual is to tell you how to use the facilities of the GNU C Library. ## Frameworks *C++ generic frameworks and libraries.* * [abseil-cpp](https://github.com/abseil/abseil-cpp) - Abseil C++ Common Libraries. [Apache2] * [Apache C++ Standard Library](http://stdcxx.apache.org/) - STDCXX, A collection of [algorithms](/@harrisonqian/awesome/wiki/theory/algorithms), [containers](/@harrisonqian/awesome/wiki/platforms/containers), iterators, and other fundamental components. [retired] [Apache2] * [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) utility functions. [Apache2] * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] * [AUI](https://github.com/aui-framework/aui) - Declarative UI toolkit for C++20. [MPL2] * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](https://www.boost.org) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) :zap: - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) DAG framework based on C++ without any 3rd-party. [MIT] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality [creative coding](/@harrisonqian/awesome/wiki/miscellaneous/creative-coding). [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ [Standards](/@harrisonqian/awesome/wiki/miscellaneous/standards) to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world [machine learning](/@harrisonqian/awesome/wiki/computer-science/machine-learning) and data analysis applications in C++. [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library. [MIT] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - [Functional Programming](/@harrisonqian/awesome/wiki/programming-languages/functional-programming) Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.[gnome](/@harrisonqian/awesome/wiki/platforms/gnome).org/Projects/GLib) - GLib provides the [core](/@harrisonqian/awesome/wiki/platforms/core) application building blocks for libraries and applications written in C. [LGPL] * [itlib](https://github.com/iboB/itlib) - A collection of std-like single-header C++ libraries [MIT] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) software. [Core-Module: ISC, [Rest](/@harrisonqian/awesome/wiki/miscellaneous/rest): GPL2/GPL3/Proprietary] [website](http://www.juce.com/) * [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high [scalability](/@harrisonqian/awesome/wiki/front-end-development/scalability) systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video [streaming](/@harrisonqian/awesome/wiki/big-data/streaming) and high performance networking applications. [LGPL] * [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] * [libxutils](https://github.com/kala13x/libxutils) - Simple and yet powerful [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) C library providing data structures, [algorithms](/@harrisonqian/awesome/wiki/theory/algorithms) and much more. [MIT] * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] * [MiLi](https://github.com/MariadeAnton/MiLi) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for [creative coding](/@harrisonqian/awesome/wiki/miscellaneous/creative-coding) in C++. [MIT] [website](http://www.openframeworks.cc/) * [PhotonLibOS](https://github.com/alibaba/PhotonLibOS) - A comprehensive C++ framework featuring efficient user-space threading (coroutine with work-stealing), I/O, networking, RPC, HTTP, etc., and used extensively in Alibaba. It is compatible with C++ 14/17/20/23, [Linux](/@harrisonqian/awesome/wiki/platforms/linux), MacOS, x86-64, ARM64, gcc and clang. [Apache2] [website](https://photonlibos.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/) * [Qt](https://github.com/qt) :zap: - A [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) application and UI framework. [GPL/LGPL/Proprietary] [website](https://www.qt.io) * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of [Java](/@harrisonqian/awesome/wiki/programming-languages/java), .Net, or [Python](/@harrisonqian/awesome/wiki/programming-languages/python) to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO [frameworks](/@harrisonqian/awesome/wiki/front-end-development/frameworks) with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] * [rpp](https://github.com/TheNumbat/rpp) - Minimal [Rust](/@harrisonqian/awesome/wiki/programming-languages/rust)-inspired C++20 STL replacement. [MIT] * [SaneCppLibraries](https://github.com/Pagghiu/SaneCppLibraries) - a set of C++ platform abstraction libraries for macOS, [Windows](/@harrisonqian/awesome/wiki/platforms/windows) and [Linux](/@harrisonqian/awesome/wiki/platforms/linux). [MIT] [website](https://pagghiu.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/SaneCppLibraries/) * [Seastar](https://github.com/scylladb/seastar) - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/) * [sfl library](https://github.com/slavenf/sfl-library) - a header-only C++11 library that provides several new or lesser-known [containers](/@harrisonqian/awesome/wiki/platforms/containers), some of which can be used in C++20 constant expressions. [zlib] * [Siv3D](https://github.com/Siv3D/OpenSiv3D) - Siv3D (OpenSiv3D) is a C++20 framework for [creative coding](/@harrisonqian/awesome/wiki/miscellaneous/creative-coding) (2D/3D games, media art, visualizers, and simulators). [MIT] [website](https://siv3d.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/) * [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] * [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost] * [tbox](https://github.com/tboox/tbox) - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/) * [Ultimate++](http://www.ultimatepp.org/) - A C++ [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) rapid application development framework. [BSD] * [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing [Windows](/@harrisonqian/awesome/wiki/platforms/windows) applications and UI components. [Public] * [WUI](https://github.com/intent-garden/wui) - WUI (Window User Interface Library) is a [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) library for creating graphical user interfaces in C++17+ [Boost][website](https://libwui.org) * [xtd](https://github.com/gammasoft71/xtd) - Modern C++20 framework to create console (CLI), forms (GUI) and unit tests (xUnit) applications on [Windows](/@harrisonqian/awesome/wiki/platforms/windows), macOS, [Linux](/@harrisonqian/awesome/wiki/platforms/linux), iOS, [Android](/@harrisonqian/awesome/wiki/platforms/android), FreeBSD and Haiku. [MIT] * [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] ## Artificial Intelligence * [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) - A GPU (CUDA) based Artificial Neural Network library. [LGPL] * [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization [algorithms](/@harrisonqian/awesome/wiki/theory/algorithms) insanely fast. [LGPL] * [frugally-deep](https://github.com/Dobiasd/frugally-deep) - Header-only library for using Keras models in C++. [MIT] * [Genann](https://github.com/codeplea/genann) - Simple neural network library in C. [zlib] * [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile [Deep Learning](/@harrisonqian/awesome/wiki/computer-science/deep-learning) with Dynamic, Mutation-aware Dataflow Dep Scheduler; for [Python](/@harrisonqian/awesome/wiki/programming-languages/python), R, [Julia](/@harrisonqian/awesome/wiki/programming-languages/julia), [Scala](/@harrisonqian/awesome/wiki/programming-languages/scala), Go, [JavaScript](/@harrisonqian/awesome/wiki/programming-languages/javascript) and more. [website](https://mxnet.apache.org) * [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in [Python](/@harrisonqian/awesome/wiki/programming-languages/python) with strong GPU acceleration. [website](https://pytorch.org) * [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible [machine learning](/@harrisonqian/awesome/wiki/computer-science/machine-learning) library written entirely in C++. [BSD] * [Recast/Detour](https://github.com/recastnavigation/recastnavigation) - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib] * [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs. [Apache] * [Txeo](https://github.com/rdabra/txeo) - A modern C++ wrapper for [TensorFlow](/@harrisonqian/awesome/wiki/computer-science/tensorflow). [Apache] * [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) performance library for [deep learning](/@harrisonqian/awesome/wiki/computer-science/deep-learning) applications. [Apache] [website](https://01.org/onednn) * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-[learning](/@harrisonqian/awesome/wiki/programming-languages/learning) toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free [deep learning](/@harrisonqian/awesome/wiki/computer-science/deep-learning) framework in C++11. [BSD] * [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid [Deep learning](/@harrisonqian/awesome/wiki/computer-science/deep-learning) application development. [Apache] * [Kaldi](https://github.com/kaldi-asr/kaldi) - Toolkit for speech recognition. [Apache] ## Asynchronous Event Loop * [Asio](https://github.com/chriskohlhoff/asio/) - A [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] [website](http://think-async.com/) * [Boost.Asio](https://github.com/boostorg/asio) - A [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) C++ library for network and low-level I/O programming. [Boost] [website](https://boost.org/libs/asio) * [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) * [Ichor](https://github.com/volt-software/ichor) - An event queue which focuses on thread safety and provides dependency injection. [MIT] * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] * [libhv](https://github.com/ithewei/libhv) - [Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) event loop library. [BSD] * [libuv](https://github.com/libuv/libuv) - [Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) asynchronous I/O. [BSD] * [promise-cpp](https://github.com/xhawk18/promise-cpp) - Header only library that implements Promise/A+ standard. [Anti-996] * [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [MIT] * [uv-cpp](https://github.com/wlgq2/uv-cpp) - a simple interface, high-performance network library based on C++11. [MIT] ## Audio *Audio, Sound, Music, Digitized Voice Libraries* * [Amplitude Audio SDK](https://github.com/SparkyStudios/AmplitudeAudioSDK) - A [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) audio engine designed with the needs of games in mind. [Apache-2.0] [website](https://amplitudeaudiosdk.com) * [Aubio](https://github.com/aubio/aubio) - A library for audio and [music](/@harrisonqian/awesome/wiki/media/music) analysis.[GPL-3.0] [website](https://aubio.org/) * [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] * [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and [music](/@harrisonqian/awesome/wiki/media/music) analysis, feature extraction. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Proprietary] * [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] * [libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/) * [libsoundio](https://github.com/andrewrk/libsoundio) - C library for [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) real-time audio input and output. [MIT] [website](http://libsound.io/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and [Music](/@harrisonqian/awesome/wiki/media/music) DSP Library. [MIT] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Proprietary] * [miniaudio](https://github.com/mackron/miniaudio) - Single file audio playback and capture library. [Unlicense] [website](https://miniaud.io/) * [ni-media](https://github.com/NativeInstruments/ni-media) - C++ library for reading and writing audio files. [MIT] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] * [PortAudio](http://www.portaudio.com/) - PortAudio is a free, [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform), open-source, audio I/O library. [MIT] * [rnnoise](https://github.com/xiph/rnnoise) - Recurrent neural network for audio noise reduction. [BSD-3-Clause] * [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] * [SoLoud](https://github.com/jarikomppa/soloud) - Easy, portable audio engine for games. [zlib] * [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD] * [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense] * [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] * [minimp3](https://github.com/lieff/minimp3) - Public domain, header-only MP3 decoder with clean-room implementation. [CC0] * [Verovio](https://github.com/rism-ch/verovio) - Verovio is a fast and lightweight [music](/@harrisonqian/awesome/wiki/media/music) notation engraving library. [LGPL] [website](https://www.verovio.org) * [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight [machine learning](/@harrisonqian/awesome/wiki/computer-science/machine-learning) library for maximum efficiency. [BSD] * [PocketSphinx](https://github.com/cmusphinx/pocketsphinx) - A lightweight speech recognition engine. [BSD-2-Clause] [website](https://cmusphinx.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/) ## Biology *Bioinformatics, Genomics, Biotech* * [BioC++](http://biocpp.sourceforge.net/) - C++ Computational Libraries for [Bioinformatics](/@harrisonqian/awesome/wiki/miscellaneous/bioinformatics). [BSD] * [Chaste](http://www.cs.ox.ac.uk/chaste/) - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD] * [libsequence](http://molpopgen.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] * [SeqAn](http://www.seqan.de/) - [Algorithms](/@harrisonqian/awesome/wiki/theory/algorithms) and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause] * [Vcflib](https://github.com/ekg/vcflib) - A C++ library for parsing and manipulating VCF files. [MIT] * [Wham](https://github.com/zeeev/wham) - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT] * [htslib](https://github.com/samtools/htslib) - A C library for reading/writing high-throughput sequencing data. [MIT/BSD] [website](http://www.htslib.org/) ## BitTorrent * [jech/dht](https://github.com/jech/dht) - BitTorrent DHT library in C. [MIT] * [libtorrent](https://github.com/arvidn/libtorrent) (a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD] * [LibTorrent](https://github.com/rakshasa/libtorrent) (a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL] * [libutp](https://github.com/bittorrent/libutp) - uTorrent Transport Protocol library. [MIT] ## Chemistry *Chemistry, Quantum Chemistry, Solid-State Chemistry/Physics, Geochemistry, Biochemistry* * [d-SEAMS](https://github.com/d-SEAMS/seams-core) - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] [website](https://dseams.info) * [gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://www.gromacs.org) * [Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and [Python](/@harrisonqian/awesome/wiki/programming-languages/python) for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org) * [LAMMPS](https://github.com/lammps/lammps) - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] [website](https://lammps.sandia.gov/) * [MADNESS](https://github.com/m-a-d-n-e-s-s/madness) - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] [website](https://github.com/m-a-d-n-e-s-s/madness) * [MPQC](https://github.com/ValeevGroup/mpqc) - The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL] [website](https://mpqc.org/) * [Psi](https://github.com/psi4/psi4) - An ab initio computational chemistry package. [GPL] [website](https://psicode.org/) ## CLI *Console/Terminal User Interface, Command Line Interface* * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [argparse](https://github.com/p-ranav/argparse) - Argument Parser for Modern C++. [MIT] * [args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Argy](https://github.com/mshenoda/argy) - Command-Line Argument Parsing Library for Modern C++ — Simple, Intuitive, and Header-only with Zero Dependencies [MIT] * [barkeep](https://github.com/oir/barkeep) - Small C++ header to display async animations, counters, and progress bars. [Apache-2.0] [website](https://oir.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/barkeep/) * [Boost.Program_options](https://github.com/boostorg/program_options) - A library to obtain program options via conventional methods such as command line and config file. [Boost] [website](https://boost.org/libs/program_options) * [cli](https://github.com/daniele77/cli) - A [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) header only C++14 library for interactive command line interfaces (Cisco style). [Boost] * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [clipp](https://github.com/muellan/clipp) - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT] * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] * [Ctrl+C](https://github.com/evgenykislov/ctrl-c) - Crossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT] * [cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [FINAL CUT](https://github.com/gansm/finalcut) - Library for creating terminal applications with text-based widgets. [LGPL] * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] * [gflags](https://gflags.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/gflags/) - Commandline flags module for C++. [BSD] * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface. [MIT] * [indicators](https://github.com/p-ranav/indicators/) - Activity indicators for Modern C++. [MIT] * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for [Linux](/@harrisonqian/awesome/wiki/platforms/linux), [Windows](/@harrisonqian/awesome/wiki/platforms/windows) and MacOS which is capable of handling UTF-8 characters. [BSD] * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT] * [oof](https://github.com/s9w/oof) - Convenient, high-performance RGB color and position control for console output. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [popl](https://github.com/badaix/popl) - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and [Windows](/@harrisonqian/awesome/wiki/platforms/windows). [BSD] * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++. [MIT] * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] * [TermOx](https://github.com/a-n-t-h-o-n-y/TermOx) - C++17 Terminal User Interface(TUI) Library. [MIT] * [tuibox](https://github.com/Cubified/tuibox) - A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line. [MIT] * [Ginseng](https://github.com/chewax/Ginseng) - A C++ command-line argument parser. [MIT] ## Compression *Compression and Archiving Libraries* * [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2] * [Brotli](https://github.com/google/brotli) - Brotli compression format. Developed by Google. [MIT] * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] * [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] * [FastLZ](https://github.com/ariya/FastLZ) - Small & portable byte-aligned LZ77 compression. [MIT] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [FSST](https://github.com/cwida/fsst) - efficient random-access string compression. [MIT] * [heatshrink](https://github.com/atomicobject/heatshrink) - data compression library for embedded/real-time systems [ISC] * [Kanzi](https://github.com/flanglet/kanzi-cpp) - a modern, modular, portable and efficient lossless data compressor implemented in C++. [Apache-2.0] * [KArchive](https://api.kde.org/frameworks/karchive/html/index.html) - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL] * [libarchive](https://github.com/libarchive/libarchive) - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/) * [LZ4](https://github.com/lz4/lz4) - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/) * [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. * [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] * [LZMA](https://sourceforge.net/projects/sevenzip/files/7-Zip) :zap: - The default and general compression method of 7z format. [PublicDomain] [website](https://www.7-zip.org) * [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL] * [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] * [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] * [minizip-ng](https://github.com/zlib-ng/minizip-ng) - Fork of the popular zip manipulation library found in the zlib distribution. [zlib] * [OpenZL](https://github.com/facebook/openzl) - A novel data compression framework. [BSD] [website](https://openzl.org/) * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [Rapidgzip](https://github.com/mxmlnkn/rapidgzip) - Gzip Decompression and Random Access for Modern Multi-[Core](/@harrisonqian/awesome/wiki/platforms/core) Machines. [Apache-2/MIT] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] * [zlib-ng](https://github.com/zlib-ng/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] * [zstd](https://github.com/facebook/zstd) - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD] * [ZXC](https://github.com/hellobertrand/zxc) - High-performance asymmetric lossless compression. [BSD-3-Clause] * [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] * [cmix](https://github.com/byronknoll/cmix) - A lossless data compression program that aims for the highest compression ratios at the cost of speed. [GPL-3.0] * [LZSSE-SIMDe](https://github.com/nemequ/LZSSE-SIMDe) - A portable SIMD implementation of LZSSE compression. [BSD-2-Clause] * [Zopfli](https://github.com/google/zopfli) - A compression library that performs very good but slow deflate/zlib compression. [Apache-2.0] ## Concurrency *Concurrency and Multithreading* * [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka) - Abstraction library for parallel kernel acceleration. [LGPLv3+] * [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] * [Async++](https://github.com/Amanieu/asyncplusplus) - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT] * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] [website](https://boost.org/libs/compute) * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [BS::thread_pool](https://github.com/bshoshany/thread-pool) - A fast, lightweight, and easy-to-use C++17 thread pool library [MIT] * [Channel](https://github.com/andreiavrammsd/cpp-channel) - Thread-safe container for sharing data between threads. [MIT] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] * [Coros](https://github.com/mtmucha/coros) - An easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0] * [CUB](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] * [cuda-api-wrappers](https://github.com/eyalroz/cuda-api-wrappers) - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD] * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [dispenso](https://github.com/facebookincubator/dispenso) - A high-performance C++ library for parallel programming with thread pools, parallel for loops, futures, task graphs, and concurrent [containers](/@harrisonqian/awesome/wiki/platforms/containers). [MIT] * [FiberTaskingLib](https://github.com/RichieSams/FiberTaskingLib) - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [Intel Games Task Scheduler](https://github.com/GameTechDev/GTS-GamesTaskScheduler) - A task scheduling framework designed for the needs of game developers. [MIT] * [Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [Kokkos](https://github.com/kokkos/kokkos) - A performance portable programming model for parallel execution and memory abstraction. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] * [libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT] * [libdispatch](https://github.com/apple/swift-corelibs-libdispatch) - Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] [website](https://apple.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/swift-corelibs-libdispatch/) * [libfork](https://github.com/ConorWilliams/libfork) - A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0] [website](https://conorwilliams.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/libfork/) * [libmill](https://github.com/sustrik/libmill/) - Introduces Go-style concurrency in C. [MIT] * [marl](https://github.com/google/marl) - Marl is a hybrid thread / [fiber](/@harrisonqian/awesome/wiki/back-end-development/fiber) task scheduler written in C++ 11. [Apache-2.0] * [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a [productivity](/@harrisonqian/awesome/wiki/work/productivity) library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter] * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [Neco](https://github.com/tidwall/neco) - Concurrency library for C (coroutines). [MIT] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. * [rotor](https://github.com/basiliscos/cpp-rotor) - Event loop friendly C++ actor micro framework. [MIT] * [SObjectizer](https://github.com/Stiffstream/sobjectizer) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause] * [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [Boost.Coroutine2](https://boost.org/libs/coroutine2). * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, [streaming](/@harrisonqian/awesome/wiki/big-data/streaming)/dataflow concurrency via C++ iostream-like operators. [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [stdgpu](https://github.com/stotko/stdgpu) - Efficient STL-like Data Structures on the GPU. [Apache2] * [Taskflow](https://github.com/taskflow/taskflow) - A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT] * [ThreadPool](https://github.com/progschj/ThreadPool) - A simple C++11 Thread Pool implementation [zlib] * [Thrust](http://thrust.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/) - A parallel [algorithms](/@harrisonqian/awesome/wiki/theory/algorithms) library which resembles the C++ Standard Template Library (STL). [Apache2] * [TooManyCooks](https://github.com/tzcnt/TooManyCooks/) - High-performance C++20 coroutine framework with advanced hardware detection features. [BSL-1.0] * [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] * [STAPL](http://parasol-lab.gitlab.io/stapl-home/) - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD] * [concurrencpp](https://github.com/David-Haim/concurrencpp) - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all. * [libcu++](https://github.com/NVIDIA/libcudacxx) - The NVIDIA C++ Standard Library, providing heterogeneous implementation of C++ Standard Library facilities. [Apache-2.0] * [nvthreads](https://github.com/HewlettPackard/nvthreads) - A library for enabling efficient and persistent threading in C/C++. [LGPL-2.1] ## Configuration *Configuration files, INI files* * [inifile-cpp](https://github.com/Rookfighter/inifile-cpp) - A header-only and easy to use Ini file parser for C++. [MIT] * [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] * [inih](https://github.com/jtilly/inih) - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] * [ini-cpp](https://github.com/SSARCandy/ini-cpp) - Single header only C++ version, with some handy read/write interface, extend from [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] [website](https://ssarcandy.tw/ini-cpp/index.html) * [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] * [inipp](https://github.com/mcmtroffaes/inipp) - Simple header-only C++ ini parser and generator. [MIT] * [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/libconfig/) * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [mINI](https://github.com/metayeti/mINI) - INI file reader and writer. [MIT] * [simpleini](https://github.com/brofield/simpleini) - [Cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) C++ library providing a simple API to read and write INI-style configuration files. [MIT] * [toml++](https://github.com/marzer/tomlplusplus) - Header-only TOML parser and serializer for C++17 and later. [MIT] [website](https://marzer.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/tomlplusplus/) * [toml11](https://github.com/ToruNiina/toml11) - a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT] ## Containers * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory [containers](/@harrisonqian/awesome/wiki/platforms/containers) based on a B-tree data structure. [Apache2] * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - Simple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT] [website](https://pinam45.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/dynamic_bitset/) * [fixed-containers](https://github.com/teslamotors/fixed-containers) - Header-only C++20 library that provides fixed capacity constexpr [containers](/@harrisonqian/awesome/wiki/platforms/containers). [MIT] * [flat_hash_map](https://github.com/skarupke/flat_hash_map) - A very fast flat hashtable with Fibonacci hashing. * [frozen](https://github.com/serge-sans-paille/frozen) - a header-only, constexpr alternative to gperf for C++14 users. [Apache-2.0] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table [algorithms](/@harrisonqian/awesome/wiki/theory/algorithms) in C++. [MIT] * [hat-trie](https://github.com/Tessil/hat-trie) - C++ implementation of a fast and memory efficient HAT-trie. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [librb](https://github.com/mlyszczek/librb) - C implementation of ring (circular) buffer, with full thread awareness that allows for concurrent read/write and can automatically grow in size when needed. [BSD] [website](https://librb.bofc.pl/) * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH [algorithms](/@harrisonqian/awesome/wiki/theory/algorithms), also support [Python](/@harrisonqian/awesome/wiki/programming-languages/python) and MATLAB. [GPL] * [marisa-trie](https://github.com/s-yata/marisa-trie) - Matching Algorithm with Recursively Implemented StorAge. [BSD-2-Clause/LGPL-2.1] * [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) - A family of header-only, very fast and memory-friendly hashmap and btree [containers](/@harrisonqian/awesome/wiki/platforms/containers) [Apache2] [website](https://greg7mdp.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/parallel-hashmap/) * [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude [less](/@harrisonqian/awesome/wiki/front-end-development/less) space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) * [plf::colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std [containers](/@harrisonqian/awesome/wiki/platforms/containers) in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) * [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) * [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] * [robin-hood-hashing](https://github.com/martinus/robin-hood-hashing) - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] * [robin-map](https://github.com/Tessil/robin-map) - Fast hash map and hash set using robin hood hashing. [MIT] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] * [sqlitemap](https://github.com/bw-hro/sqlitemap) - Persistent map backed by SQLite. [MIT] * [st_tree](https://github.com/erikerlandson/st_tree) - A fast and flexible c++ template class for tree data structures. [Apache-2.0] * [svector](https://github.com/martinus/svector) - Compact SVO optimized vector for C++17 or higher. [MIT] * [tree.hh](https://github.com/kpeeters/tree.hh) - An STL-like C++ header-only tree library. [GPL2+] * [unordered_dense](https://github.com/martinus/unordered_dense) - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT] * [CRoaring](https://github.com/RoaringBitmap/CRoaring) - Roaring bitmaps in C (and C++), with SIMD optimizations. [Apache-2.0] * [fifo_map](https://github.com/nlohmann/fifo_map) - A FIFO-ordered associative container for C++. [MIT] * [ordered-map](https://github.com/Tessil/ordered-map) - A C++ hash map and hash set which preserves the order of insertion. [MIT] ## Cryptography *Cryptography and Encryption Libraries* * [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD] * [BeeCrypt](http://beecrypt.sourceforge.net/) - A portable and fast [cryptography](/@harrisonqian/awesome/wiki/computer-science/cryptography) library. [LGPLv2.1+] * [Botan](http://botan.randombit.net/) - A crypto library for C++. [BSD-2] * [Crypto++](https://github.com/weidai11/cryptopp) - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/) * [digestpp](https://github.com/kerukuro/digestpp) - C++11 header-only message digest (hash) library. [PublicDomain] * [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] * [GnuTLS](http://www.gnutls.org/) - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1] * [Libgcrypt](http://www.gnu.org/software/libgcrypt/) - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+] * [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] * [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] * [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC] * [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] * [mbedTLS](https://github.com/ARMmbed/mbedtls) - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] [website](https://tls.mbed.org/) * [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - A low-level cryptographic library. [LGPL] * [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source [cryptography](/@harrisonqian/awesome/wiki/computer-science/cryptography) library. [Apache] [website](http://www.openssl.org/) * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to [cryptography](/@harrisonqian/awesome/wiki/computer-science/cryptography). * [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] * [sha1collisiondetection](https://github.com/cr-marcstevens/sha1collisiondetection) - Library and command line tool to detect SHA-1 collision in a file. [MIT] * [stduuid](https://github.com/mariusbancila/stduuid) - A C++17 [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) implementation for UUIDs. [MIT] * [Tink](https://github.com/google/tink) - A multi-language, [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0] * [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] * [tiny-ECDH-c](https://github.com/kokke/tiny-ECDH-c) - Small and portable implementation of the ECDH key agreement protocol in C. [PublicDomain] * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data [security](/@harrisonqian/awesome/wiki/security/security), providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] * [HEhub](https://github.com/primihub/HEhub) - A library for homomorphic encryption and its applications. [Apache2] * [Qt-Secret](https://github.com/QuasarApp/Qt-Secret) - Simple encryption library based on Qt for C++ projects. [LGPL] * [micro-ecc](https://github.com/kmackay/micro-ecc) - A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors. [BSD-2-Clause] * [crypto-algorithms](https://github.com/B-Con/crypto-algorithms) - Basic implementations of standard [cryptography](/@harrisonqian/awesome/wiki/computer-science/cryptography) [algorithms](/@harrisonqian/awesome/wiki/theory/algorithms) (AES, SHA, etc.) in C. [PublicDomain] * [aes-stream](https://github.com/jedisct1/aes-stream) - A fast AES-based stream cipher for C. [ISC] ## CSV *Libraries for parsing Comma Separated Value (CSV) files* * [commata](https://github.com/furfurylic/commata) - Just another header-only C++17 CSV parser. [Unlicense] * [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] * [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] * [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] * [Glaze](https://github.com/stephenberry/glaze) - High performance, header only, CSV library with reflection support. [MIT] * [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] * [rapidcsv](https://github.com/d99kris/rapidcsv) - An easy-to-use, header-only C++ CSV parser library. [BSD-3-Clause] * [ssp](https://github.com/red0124/ssp) - A header only "csv" parser which is fast and versatile with modern C++ api. [MIT] * [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, [streaming](/@harrisonqian/awesome/wiki/big-data/streaming) C++17 CSV parser with optional type-casting and statistics. [MIT] * [zsv](https://github.com/liquidaty/zsv) - The world's fastest (simd) CSV parser, with an extensible CLI. [MIT] ## Database *Database Libraries, SQL Servers, ODBC Drivers, and Tools* * [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] * [CrossDB](https://github.com/crossdb-org/crossdb) - Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0] [website](https://crossdb.org/) * [DuckDB](https://duckdb.org/) - in-process SQL OLAP [Database](/@harrisonqian/awesome/wiki/databases/database) Management System. [MIT] [website](https://duckdb.org/) * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis [database](/@harrisonqian/awesome/wiki/databases/database). [BSD] * [Infinity](https://github.com/infiniflow/infinity) - The AI-native [database](/@harrisonqian/awesome/wiki/databases/database) built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [Kuzu](https://github.com/kuzudb/kuzu) - Embeddable property graph [database](/@harrisonqian/awesome/wiki/databases/database) management system built for query speed and [scalability](/@harrisonqian/awesome/wiki/front-end-development/scalability). Implements Cypher. [MIT] [website](https://kuzudb.com/) * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL [database](/@harrisonqian/awesome/wiki/databases/database) that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [Ladybug](https://github.com/LadybugDB/ladybug) - an embedded graph [database](/@harrisonqian/awesome/wiki/databases/database) built for query speed and [scalability](/@harrisonqian/awesome/wiki/front-end-development/scalability). [MIT] [website](https://ladybugdb.com/) * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] * [libpg_query](https://github.com/pganalyze/libpg_query) - C library for accessing the [PostgreSQL](/@harrisonqian/awesome/wiki/databases/postgresql) parser outside of the server environment. [BSD-3-Clause] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for [PostgreSQL](/@harrisonqian/awesome/wiki/databases/postgresql). [BSD-3-Clause] * [LMDB](https://www.symas.com/lmdb) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] * [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded [database](/@harrisonqian/awesome/wiki/databases/database) library. [PublicDomain] * [mgclient](https://github.com/memgraph/mgclient) - C/C++ Memgraph Client. [Apache2] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - [MongoDB](/@harrisonqian/awesome/wiki/databases/mongodb) client library for C. [Apache2] * [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for [MongoDB](/@harrisonqian/awesome/wiki/databases/mongodb). [Apache2] * [MongoDB Libbson](https://github.com/mongodb/libbson) - A BSON utility library. [Apache2] * [MySQL++](http://www.tangentsoft.net/mysql++/) - A C++ wrapper for [MySQL](/@harrisonqian/awesome/wiki/databases/mysql)'s C API. [LGPL] * [nanodbc](https://github.com/nanodbc/nanodbc) - A small C++ wrapper for the native C ODBC API. [MIT] * [ODB](https://www.codesynthesis.com/products/odb/) - An open-source, [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform), and cross-[database](/@harrisonqian/awesome/wiki/databases/database) object-relational mapping (ORM) system for C++. [GPLv2] * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [Reindexer](https://github.com/Restream/reindexer) - Embeddable, in-memory, document-oriented [database](/@harrisonqian/awesome/wiki/databases/database) with a high-level Query builder interface. [Apache2] [website](https://reindexer.io/) * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2] * [SOCI](https://github.com/SOCI/soci) - A [database](/@harrisonqian/awesome/wiki/databases/database) abstraction layer for C++. [Boost] * [Speedb](https://github.com/speedb-io/speedb) - Community-led project: A RocksDB compliant high performance scalable embedded key-value store. [Apache2] * [sqlgen](https://github.com/getml/sqlgen) - A reflection-based ORM and SQL query generator for C++-20, similar to [Python](/@harrisonqian/awesome/wiki/programming-languages/python)'s [SQLAlchemy](/@harrisonqian/awesome/wiki/databases/sqlalchemy)/SQLModel or [Rust](/@harrisonqian/awesome/wiki/programming-languages/rust)'s Diesel. [MIT] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational [database](/@harrisonqian/awesome/wiki/databases/database) in a few 100k that you can include right into your project. [PublicDomain] * [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] * [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] * [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [AGPL + paid MIT] * [sqlpp11](https://github.com/rbock/sqlpp11) - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] * [TidesDB](https://github.com/tidesdb/tidesdb) - High-performance, durable, transactional embedded storage engine designed for flash and RAM optimization. [MPL-2.0] [website](https://tidesdb.com/) * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [TinyORM](https://github.com/silverqx/TinyORM) - Modern C++ ORM library. [MIT] [website](https://www.tinyorm.org/) * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.symisc.net/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] * [TigerBeetleDB C++ client (Community)](https://github.com/kassane/tigerbeetle-cpp) - TigerBeetle is a financial accounting [database](/@harrisonqian/awesome/wiki/databases/database) designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] * [Trilogy](https://github.com/trilogy-libraries/trilogy) - a client library for [MySQL](/@harrisonqian/awesome/wiki/databases/mysql)-compatible [database](/@harrisonqian/awesome/wiki/databases/database) servers, designed for performance, flexibility, and ease of embedding. [MIT] * [UStore](https://github.com/unum-cloud/ustore) - Multi-Modal [database](/@harrisonqian/awesome/wiki/databases/database) for BLOBs, [JSON](/@harrisonqian/awesome/wiki/miscellaneous/json), and graphs. [Apache2] * [Velox](https://github.com/facebookincubator/velox) - A C++ vectorized [database](/@harrisonqian/awesome/wiki/databases/database) acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/) * [constexpr-sql](https://github.com/mkitzan/constexpr-sql) - A compile-time SQL query parser and executor in C++17. [MIT] * [NuDB](https://github.com/cppalliance/NuDB) - A fast, append-only key/value store for SSD drives. [Boost] --- *truncated — [full list on GitHub](https://github.com/fffaraz/awesome-cpp)*