C++ libraries
CLI
- args - Simple, small, flexible, single-header C++11 argument parsing library.
- cxxopts - Lightweight C++ command line option parser.
- FTXUI - C++ Functional Terminal User Interface.
- Command Interface - Add a command-line interface to any C++ program. (HN)
- Argh - Minimalist argument handler.
- CLI11 - Command line parser for C++11.
- libcargs - Command line argument library for C/C++.
Test
- Catch2 - Modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later.
- Google Test - Google Testing and Mocking Framework.
- utest.h - Single header unit testing framework for C and C++.
- Mutate - C++ Mutation Test Environment.
- RapidCheck - C++ framework for property based testing inspired by QuickCheck and other similar frameworks.
- doctest - Fastest feature-rich C++11/14/17/20 single-header testing framework.
- UT - C++20 μ(micro)/Unit Testing Framework.
- Tau - Micro Unit Test Framework for C/C++.
- FuzzTest - Open-source C++ fuzz testing framework targeted for developers.
- snitch - Lightweight C++20 testing framework.
Concurrency
- Cpp-Taskflow - Fast C++ header-only library to help you quickly write parallel programs with complex task dependencies.
- Async++ - Lightweight concurrency framework for C++11.
- Thrust - C++ parallel programming library which resembles the C++ Standard Library.
UI
- Dear ImGui - Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. (Awesome Dear ImGui)
- giu - Cross platform rapid GUI framework for golang based on Dear ImGui.
- GuiLite - Smallest UI framework for all platform -- 5K lines code.
- Yue - Library for creating native cross-platform GUI apps.
- MyGUI - Fast, flexible and simple GUI.
- Plywood - Cross-platform framework for building all kinds of C++ software. (HN)
- Elements - Lightweight, fine-grained, resolution independent, modular GUI library. (HN)
- wxWidgets - Cross-Platform GUI Library.
- Fast UI Draw - Library that provides a higher performance Canvas interface. It is designed so that it always draws using a GPU. (HN)
Web
- NFHTTP - Cross platform C++ HTTP framework.
- Drogon - C++14/17-based rapid HTTP and web application framework.
- Asio - 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. (Code)
- Pistache - High-performance REST Toolkit written in C++.
- Malloy - C++ library providing embeddable server & client components for both HTTP and WebSocket.
- Crow - Fast and Easy to use microframework for the web. (Web)
- Oat++ - Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.
- libhttpserver - C++ library for building high performance RESTful web servers.
- async-sockets-cpp - Simple thread-based asynchronous TCP & UDP Socket classes in C++.
- mockturtle - C++ logic network library.
- Wt - C++ Web Toolkit.
- Beast - HTTP and WebSocket built on Boost.Asio in C++11.
- Homa - Low-Latency Data Center Network Transport.
Graphics
- Cinder - Peer-reviewed, free, open source C++ library for creative coding. (Web) (Docs) (HN)
- Terathon Math Library - C++ math library containing classes for vectors, matrices, quaternions, and elements of projective geometric algebra.
- VGC - Next-Gen Graphic Design and 2D Animation. (Web)
- Yocto/GL - C++ Libraries for Data-Driven Physically-based Graphics. (Docs) (HN)
- Methane Kit - Easy to use modern 3D graphics rendering abstraction API and cross-platform application framework.
- Tahoma2D - 2D and Stop Motion Animation Software. (Web)
- gfx - Minimalist and easy to use graphics API built on top of Direct3D12/HLSL intended for rapid prototyping.
- bigger - Prototype-oriented middleware library for 3D interactive applications.
- Treexy - Brutally fast, sparse, 3D Voxel Grid.
- neoGFX - Cross-platform GPU-oriented C++ application/game framework. (Web)
- NanoGUI - Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL.
- Anti-Grain Geometry - Open Source, 2D vector graphics library. Produces pixel images in memory from vectorial data.
- JNGL - Easy to use cross-platform 2D game library for C++.
- libpag - Real-time rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms.
- Alembic - Open computer graphics interchange framework. (Web)
- TriMesh2 - C++ library and set of utilities for input, output, and basic manipulation of 3D triangle meshes.
- Skity - Open-source 2D graphics library written in C++ using OpenGL and Vulkan.
- OpenMfx - Low-overhead mesh-processing plug-in API for cross-software procedural effects.
- Mesh2SDF - Converts an input mesh to a signed distance field (SDF).
- GTSAM - C++ library that implements smoothing and mapping (SAM) in robotics and vision, using Factor Graphs and Bayes Networks.
- VERA - C++/WASM Graphic Framework.
- EmberGL - Low-level open source graphics library, similar to OpenGL/DirectX/Vulkan, designed for real-time 2D/3D rendering on MCUs.
- Krakatoa - Fast particle renderer for use in visual effects applications.
- micro-tess - Fast, Slim, Embeddable, Allocator-aware, Headers files only C++11 geometry tesselation library for vector graphics.
DB
- libpqxx - Official C++ client API for PostgreSQL.
- SOCI - C++ Database Access Library.
- taoPQ - C++ client library for PostgreSQL.
- Velox - C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems.
- Supersonic - Ultra-fast, column oriented query engine library written in C++.
- SQLite ORM - Light header only library for modern C++.
- rocksdb - Pure C++ Node.js RocksDB binding. An abstract-leveldown compliant store.
- KVDK - Key-value store library implemented in C++ language.
- silicondb - Concurrent key-value store, column-oriented database and more.
- Speedb - Library that provides an embedded, persistent key-value store.
Crypto
- OpenABE - Open source cryptographic library with attribute-based encryption implementations in C/C++.
- Crypto++ - Free C++ class library of cryptographic schemes.
- AZTEC - C++ elliptic curve library.
- Crypto3 - Modern Cryptography Suite in C++17.
ML
- ML++ - Library created to revitalize C++ as a machine learning front end.
- Tensor - Differential Geometry Tensor Library.
Math
- Eigen - C++ template library for linear algebra. (HN)
- Stan Math - C++ template library for automatic differentiation of any order using forward, reverse, and mixed modes. It includes a range of built-in functions for probabilistic modeling, linear algebra, and equation solving.
Other
- {fmt} - Modern formatting library.
- simdjson - Parsing gigabytes of JSON per second.
- nlohmann/json - JSON for Modern C++.
- Folly - Library of C++14 components designed with practicality and efficiency in mind.
- jet-live - C++ hot code reload for linux and macos.
- cpr - Curl for People, a spiritual port of Python Requests.
- argparse - Argument Parser for Modern C++.
- lager - C++ library to assist value-oriented design by implementing the unidirectional data-flow architecture.
- Immutable++ - Persistent immutable data structures providing practically O(1) for appends, updates and lookups.
- cpp-httplib - C++ single-file header-only cross platform HTTP/HTTPS library.
- Proxygen - Collection of C++ HTTP libraries including an easy to use HTTP server.
- RESTinio - Header-only C++14 library that gives you an embedded HTTP/Websocket server.
- Enoki - Structured vectorization and differentiation on modern processor architectures.
- Marl - Hybrid thread / fiber task scheduler written in C++ 11.
- Collection of succinct data structures
- Microsoft's C++ Standard Library
- Quantum Library - Full-featured and powerful C++ framework build on top of the Boost coroutine library.
- Wangle - Framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.
- Typeclasses in C++ - Future C++ implementation of Rust-like trait objects with no boilerplate.
- Basic Development Environment - Set of foundational C++ libraries used at Bloomberg.
- BareMetalLib - C++ support library for bare-metal programming.
- matplotlib-cpp - Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib.
- re2 - Fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python.
- Boost.Hana - Your standard library for metaprogramming.
- xtensor - C++ tensors with broadcasting and lazy computing.
- Choreograph - Simple, modern C++ animation and timing library.
- cppast - Library to parse and work with the C++ AST.
- thread-pool-cpp - High performance C++11 thread pool.
- pytest-cpp - Use pytest's runner to discover and execute C++ tests.
- MFEM - Lightweight, general, scalable C++ library for finite element methods.
- Backward-cpp - Beautiful stack trace pretty printer for C++.
- sparsehash - C++ associative containers.
- tabulate - Table Maker for Modern C++.
- stb - Single-file public domain libraries for C/C++.
- Diligent Engine - Modern cross-platform low-level graphics library and rendering framework.
- Loguru - Lightweight C++ logging library.
- DFHack - Dwarf Fortress memory access library, distributed with scripts and plugins implementing a wide variety of useful functions and tools.
- Tweeny - Inbetweening library designed for the creation of complex animations for games and other beautiful interactive software.
- Work-Stealing Queue
- libff - C++ library for finite fields and elliptic curves.
- REST client for C++
- SDSL - Succinct Data Structure Library.
- Acutest - Simple header-only C/C++ unit testing facility.
- Boost Multiprecision Library - Provides integer, rational, floating-point, complex and interval number types in C++ that have more range and precision than C++'s ordinary built-in types.
- Sentry SDK for C/C++
- scnlib - Modern C++ library for replacing scanf and std::istream.
- Plog - Portable, simple and extensible C++ logging library.
- Nano - C++ library for developing high-performance applications for macOS, iOS, tvOS, Android, Linux, and Microsoft Windows.
- span lite - C++20-like span for C++98, C++11 and later in a single-file header-only library.
- atomic_queue - C++ lock-free queue.
- RTTR - C++ Reflection Library.
- lager - C++ library for value-oriented design using the unidirectional data-flow architecture (Redux for C++).
- Heteroflow - Header-only C++ library to help you quickly write concurrent CPU-GPU programs using task models.
- GEOS - C++11 library for performing operations on two-dimensional vector geometries.
- subprocess.h - Simple one header solution to launching processes and interacting with them for C and C++.
- OpenMesh - Generic and efficient data structure for representing and manipulating polygonal meshes.
- Skia - Complete 2D graphic library for drawing Text, Geometries, and Images. (Web)
- nbind - Magical headers that make your C++ library accessible from JavaScript.
- Fiber Tasking Lib - Library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies.
- ozz-animation - Open source c++ skeletal animation library and toolset.
- sqlpp11 - Type safe embedded domain specific language for SQL queries and results in C++.
- Tiny Differentiable Simulator - Header-only C++ physics library with zero dependencies.
- Movable Feast Machine C++ reference implementation and simulator
- Fastor - Light-weight high performance tensor algebra framework for modern C++.
- FastNoise - Fast C++ Noise Library.
- libigl - Simple C++ geometry processing library.
- Kodiak - C++ library that implements a generic branch and bound algorithm for rigorous numerical approximations.
- cilantro - Lean and fast C++ library for working with point cloud data, with emphasis given to the 3D case.
- Frozen - Header-only library that provides 0 cost initialization for immutable containers and various algorithms.
- fast_io - C++ general-purpose exception-safe RAII I/O library based on C++ 20 Concepts. It is at least ten times faster than cstdio or iostream.
- LEAF - Lightweight Error Augmentation Framework.
- nacro - Better C/C++ macro extension. Implemented in Clang plugins. Inspired by Rust's macro system.
- Magic Enum - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code.
- Nameof - Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum.
- ALEX - Library for building an in-memory, Adaptive Learned indEX. (HN)
- cereal - C++11 library for serialization.
- Boost C++ Libraries
- ELFIO - Header-only C++ library intended for reading and generating files in the ELF binary format.
- DataFrame - C++ statistical library that provides an interface similar to Pandas package in Python. (Reddit)
- structopt - Parse command line arguments by defining a struct. (HN)
- Derecho - Open-source C++ distributed computing toolkit that provides strong forms of distributed coordination and consistency at RDMA speeds.
- Jungle - Embedded key-value storage library, based on a combined index of LSM-tree and copy-on-write (append-only) B+tree.
- NuRaft - C++ implementation of Raft core logic as a replication library.
- Hyperscan - High-performance multiple regex matching library. (Web)
- libcu++ - NVIDIA C++ Standard Library.
- OpenR - Distributed platform for building autonomic network functions.
- Abseil - Open-source collection of C++ code designed to augment the C++ standard library. (How to contribute to Abseil with a visible performance gain)
- semver - Semantic Versioning for modern C++.
- Aleph - Library for Exploring Persistent Homology.
- Terminal - Small header only C++ library for writing multiplatform terminal applications.
- Draco - Object-oriented component library geared towards numerically intensive, radiation (particle) transport applications built for parallel computing hardware.
- cpu_features - Cross platform C99 library to get cpu features at runtime.
- VSTGUI - User interface toolkit mainly for audio plug-ins.
- libunifex - Prototype implementation of the C++ sender/receiver async programming model.
- random - Random for modern C++ with convenient API.
- fifo_map - FIFO-ordered associative container for C++.
- TensorRT - C++ library for high performance inference on NVIDIA GPUs and deep learning accelerators.
- Hnswlib - Header-only C++/python library for fast approximate nearest neighbors.
- Non-Metric Space Library (NMSLIB) - Efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.
- Dyno - Runtime polymorphism done right.
- Geometry Central - Applied 3D geometry in C++, with a focus on surface meshes. (Docs)
- Bullet Physics SDK - Real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
- lexy - C++ parser combinator library.
- PEGTL - Parsing Expression Grammar Template Library. Zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG).
- incbin - Include binary files in C/C++.
- uDepot - Multi-threaded, scalable, persistent store that is flash optimized by using a log-structured space allocation and GC framework.
- PDAL - Point Data Abstraction Library. GDAL for point cloud data. (Docs)
- painless - Header-only C++ library that provides an easy way to use interactive parameters in your program.
- Embedded Template Library (ETL) (Web)
- C++ B-tree - Modern C++ B-tree containers.
- Blitz++ - Multi-Dimensional Array Library for C++.
- ATen - TENsor library for C++11.
- AsyncFuture - Use QFuture like a Promise object.
- concurrencpp - C++ concurrency library.
- Build→It - Type based library framework for multi-stage imperative programming. (Web)
- FLANN - Fast Library for Approximate Nearest Neighbors.
- TVLLib - Template Vector Library.
- Ceres Solver - Open source C++ library for modeling and solving large, complicated optimization problems. (Docs) (HN)
- sdbus-c++ - High-level C++ D-Bus library for Linux designed to provide expressive, easy-to-use API in modern C++.
- DGtal - Digital Geometry Tools and Algorithm Library. (Web)
- libpy - Library to help you write amazing Python extensions in C++.
- cppcoro - Library of C++ coroutine abstractions for the coroutines TS.
- DynaMix (Dynamic Mixins) - New take on polymorphism. It lets the user compose and modify polymorphic objects at run time in C++.
- maths - Linear algebra library with vector swizzling, intersection tests and useful functions for games and graphics dev.
- Edlib - Lightweight, super fast C/C++ (& Python) library for sequence alignment using edit (Levenshtein) distance.
- Corrade - C++11/C++14 multiplatform utility library. (Web)
- Vineyard - In-memory immutable data manager. (Docs) (HN)
- Dionysus - Library for computing persistent homology.
- Parallel Hashmap - Family of header-only, very fast and memory-friendly hashmap and btree containers.
- Kimera - C++ library for real-time metric-semantic simultaneous localization and mapping.
- libtensor - C++ library for tensor computations.
- RadixSpline - Read-only learned index structure that can be built in a single pass over sorted data.
- Minisketch - Optimized library for BCH-based set reconciliation.
- TiledArray - Massively-parallel, block-sparse tensor framework written in C++.
- FBGEMM - Low-precision, high-performance matrix-matrix multiplications and convolution library for server-side inference.
- Cista++ - Simple C++ Serialization & Reflection. (Web)
- Memkind - User extensible heap manager built on top of jemalloc which enables control of memory characteristics and a partitioning of the heap between kinds of memory. (Web)
- FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code.
- polylabel - Fast algorithm for finding the pole of inaccessibility of a polygon (in JavaScript and C++).
- GBDT - High performance and full featured C++ implementation of Jerome H. Friedman's Gradient Boosting Decision Trees Algorithm and its modern offsprings.
- DSPatch - Refreshingly Simple C++ Dataflow Framework.
- libcuckoo - High-performance, concurrent hash table.
- libmprompt - Robust multi-prompt delimited control and effect handlers in C/C++.
- IceCream-Cpp - Little (single header) library to help with the print debugging on C++11 and forward.
- expected - C++11/14/17 std::expected with functional-style extensions. (Tweet)
- monolish - MONOlithic Liner equation Solvers for Highly-parallel architecture.
- EVE - Expressive Velocity Engine.
- Galois - C++ library designed to ease parallel programming, especially for applications with irregular parallelism.
- timemory - Timing + Memory + Hardware Counter Utilities for C / C++ / CUDA / Python.
- Casbin-CPP - Authorization library that supports access control models like ACL, RBAC, ABAC in C/C++.
- SON-RPC-CXX - JSON-RPC for modern C++.
- PTHash - Fast and compact minimal perfect hash functions in C++.
- Zadeh - Blazing fast library for fuzzy filtering, matching, and other fuzzy things.
- Workflow - C++ Parallel Computing and Asynchronous Networking Engine. (HN)
- AFF3CT - Fast simulator and a library dedicated to the channel coding. (Web)
- Boost.Hof - Higher-order functions for C++.
- aids - std replacement for C++.
- POCO (Portable Components) - Powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems. (Web)
- Operon - C++ Large Scale Genetic Programming. (Docs)
- CppCoro - Library of C++ coroutine abstractions for the coroutines TS.
- TinyGLTF - Header only C++11 tiny glTF 2.0 library.
- Pipes - Small components for writing expressive code when working on collections.
- NamedType - Implementation of strong types in C++.
- kari.hpp - Experimental library for currying in C++17.
- cpp-lazy - Fast and easy lazy evaluation library.
- memory-allocators - Custom memory allocators in C++ to improve the performance of dynamic memory allocation.
- Vc - Portable, zero-overhead C++ types for explicitly data-parallel programming.
- cinolib - Generic programming header only C++ library for processing polygonal and polyhedral meshes.
- ordered-map - C++ hash map and hash set which preserve the order of insertion.
- CIDLib - General purpose C++ development environment.
- CrossWindow - Cross platform system abstraction library written in C++ for managing windows and performing OS tasks. (Web)
- dr_libs - Single file audio decoding libraries for C/C++.
- EASTL - Alternative C++ Standard Library From Electronic Arts. (HN)
- Inja - Template Engine for Modern C++. (HN)
- Reckless - Low-latency, high-throughput, asynchronous logging library for C++.
- CPP-Libp2p - C++17 implementation of libp2p.
- µReact - Minimalistic reactive library for c++.
- Minicore - Fast and memory-efficient clustering + coreset construction, including fast distance kernels for Bregman and f-divergences.
- EXOTica - Extensible Optimization Framework. (Docs)
- subprocess - C++ high level library for running shell processes.
- HOT - Height Optimized Trie.
- Okasaki - Functional data structures in C++.
- rlottie - Platform independent standalone library that plays Lottie Animation.
- simdutf - Unicode validation and transcoding at billions of characters per second. (Talk) (HN)
- Boost.PFR - std::tuple like methods for user defined types without any macro or boilerplate code.
- double-conversion - Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles.
- FastNoise2 - Modular node graph based noise generation library using SIMD, C++17 and templates.
- TensorPipe - Tensor-aware point-to-point communication primitive for machine learning.
- Rotor - Event loop friendly C++ actor micro framework.
- optional - Single header implementation of std::optional with functional-style extensions and support for references.
- ZAB - Asynchronous framework for building event-driven, multi-threaded programs.
- Ensmallen - High-quality C++ library for non-linear numerical optimization. (Web) (Docs) (HN)
- Fleet - C++ library for programming language of thought models.
- MatX - Efficient C++17 GPU numerical computing library with Python-like syntax.
- oneMKL - Open-source implementation of the oneMKL Data Parallel C++ (DPC++) interface according to the oneMKL specification.
- mathiu.cpp - Simple computer algebra system in C++.
- Avendish - Declarative, non-intrusive, compile-time C++ reflection.
- libossia - Modern C++, cross-environment distributed object model for creative coding.
- RtAudio - Set of C++ classes that provide a common API for real time audio input/output.
- RtMidi - Set of C++ classes that provide a common API for real time MIDI input/output.
- HPX - C++ Standard Library for Parallelism and Concurrency.
- agrpc - Async GRPC with C++20 coroutine support.
- Marius - Large scale embeddings on a single machine.
- Compute Library - Set of computer vision and machine learning functions optimised for both Arm CPUs and GPUs using SIMD technologies.
- ahsohtoa - Structure-of-array synthesis in C++20.
- LIEF - Library to Instrument Executable Formats.
- AStarix - Fast and Optimal Sequence-to-Graph Aligner.
- dtl - Diff template library written by C++.
- TinyFSM - Simple C++ finite state machine library.
- Tongrams - C++ library providing fast language model queries in compressed space.
- Autocomplete - Efficient and effective query auto-completion in C++.
- Sexpresso - C++ centric s-expression parser library.
- baidu-allreduce - Small C++ library, demonstrating the ring allreduce and ring allgather techniques.
- HIP - C++ Heterogeneous-Compute Interface for Portability.
- SMACC - Event-driven, asynchronous, behavioral state machine library for real-time ROS (Robotic Operating System) applications written in C++.
- refl-cpp - Modern compile-time reflection library for C++ with support for overloads, templates, attributes and proxies.
- NymphRPC - Compact, C++-based Remote Procedure Call (RPC) library.
- libgo - Go-style concurrency in C++11.
- xatlas - Mesh parameterization / UV unwrapping library.
- ohm - Efficient, extensible occupancy map supporting probabilistic occupancy, normal distribution transforms in CPU and GPU.
- Flecs - Fast entity component system (ECS) for C & C++. (Docs) (HN)
- Caches - C++ cache with LRU/LFU/FIFO policies implementation.
- SML - C++14 State Machine Library.
- Kokkos - Programming model in C++ for writing performance portable applications targeting all major HPC platforms.
- CPPItertools - Range-based for loop add-ons inspired by the Python builtins and itertools library.
- libs - Single-file public domain libraries for C/C++.
- asyncio - C++20 library to write concurrent code using the async/await syntax.
- CTPG - C++ Compile Time Parser Generator. (HN)
- Binlog - High performance C++ log library to produce structured binary logs.
- robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++.
- ParlayLib - Toolkit for Programming Parallel Algorithms on Shared-Memory Multicore Machines.
- YACLib - C++ library for concurrent tasks execution. (Docs)
- triSYCL - Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group.
- Xcdat - Fast compressed trie dictionary library.
- Poplar-trie - C++17 implementation of memory-efficient dynamic tries.
- eraft - Generic raft library inspired etcd in C++.
- cpp-subprocess - Subprocessing with modern C++.
- CPP-JWT - JSON Web Token library for C++.
- libkdtree++ - C++ template container implementation of k-dimensional space sorting, using a kd-tree.
- promise-cpp - C++ promise/A+ library in JavaScript style.
- cocoyaxi - Go-style coroutine library in C++11 and more. (Lobsters)
- ConcurrentQueue - Fast multi-producer, multi-consumer lock-free concurrent queue for C++11.
- Ratas - Hierarchical timer wheel, for implementing timed event queues.
- Vectorscan - Portable fork of the high-performance regular expression matching library.
- Jinja2С++ - C++ implementation of the Jinja2 Python template engine.
- AMadeus - Collection of high performance C++ containers that can be chosen as drop-in replacements for std::vector and std::set.
- json2cpp - Compiles JSON into static constexpr C++ data structures with nlohmann::json API.
- RAJA - Enables architecture and programming model portability for HPC applications.
- cpp-sort - Sorting algorithms & related tools for C++14.
- sol2 - C++ library binding to Lua.
- KDBindings - Reactive programming & data binding in C++.
- alpaka - Abstraction Library for Parallel Kernel Acceleration.
- cpp-effects - Effect handlers in C++.
- nanobench - Simple, fast, accurate single-header microbenchmarking functionality for C++.
- Multi-Protocol SPDZ - Software to benchmark various secure multi-party computation (MPC) protocols such as SPDZ, SPDZ2k, MASCOT, Overdrive, BMR garbled circuits, Yao's garbled circuits.
- minicsv - C++ Minimalistic CSV Streams.
- two - C++ toolkit for rapid development of live graphical apps and games.
- fast_io - Significantly faster input/output for C++20.
- nanobind - Seamless operability between C++17 and Python.
- thread-pool - Simple, functional thread pool implementation using pure C++20.
- Maat - Open-source symbolic execution framework.
- mp-units - Compile-time enabled Modern C++ library that provides compile-time dimensional analysis and unit/quantity manipulation.
- CTTI - Compile Time Type Information for C++.
- Junction - Concurrent data structures in C++.
- loop_tool - Thin, highly portable toolkit for dense loop-based computation.
- fixed_string - C++17 string with fixed size.
- async_simple - Simple, Light-Weight Asynchronous C++ Framework.
- Universal - Header-only C++ template library for universal number arithmetic.
- LodePNG - PNG encoder and decoder in C and C++.
- PoseLib - Minimal solvers for calibrated camera pose estimation.
- TOML++ - Header-only TOML config file parser and serializer for C++17.
- Easy3D - Lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data.
- rangeless - Library of higher-order functions for data manipulation.
- OpenDHT - Lightweight C++17 Distributed Hash Table implementation.
- Kokkos - C++ Performance Portability Programming EcoSystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels.
- BOUT++ - Framework for writing fluid and plasma simulations in curvilinear geometry.
- HiGHS - Linear optimization software.
- Voro++ - Three-dimensional Voronoi cell library in C++.
- SimpleBLE - C++ fully cross-platform BLE library designed for simplicity and ease of use.
- zstr - C++ header-only ZLib wrapper.
- uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library.
- nanoprintf - Smallest public printf implementation for its feature set.
- fgt - Fast Gauss transforms.
- Coherent Point Drift (CPD) - C++ implementation of the Coherent Point Drift point set registration algorithm.
- lex - C++ library for Lua style pattern matching.
- ADVobfuscator - Obfuscation library based on C++11/14 and metaprogramming.
- manif - Small C++11 header-only library for Lie theory.
- sse4-strstr - SIMD-friendly algorithms for substring searching.
- Chrono - High-performance C++ library for multiphysics and multibody dynamics simulations.
- xorstr - Heavily vectorized c++17 compile time string encryption.
- transwarp - Header-only C++ library for task concurrency.
- Serdepp - C++ serialize and deserialize adaptor library like rust serde.rs.
- KelCoro - C++20 coroutine library.
- Eventuals - C++ library for writing asynchronous computations out of continuations.
- Albany - Implicit, unstructured grid, finite element code for the solution and analysis of multiphysics problems.
- match(it) - Lightweight header-only pattern-matching library for C++17 with macro-free APIs.
- libassert - Most over-engineered and overpowered C++ assertion library.
- MIPP - Portable and Open-source wrapper for vector intrinsic functions (SIMD) written in C++11.
- Flat - Flat containers for C++.
- AnyAny - C++20 library for comfortable and efficient dynamic polymorphism.
- RxCpp - Reactive Extensions for C++.
- userver - C++ Asynchronous Framework. (Web) (HN)
- Dash - Persistent memory friendly hashing index.
- Crab - C++ Library for Building Program Static Analyses.
- HFSM2 - High-Performance Hierarchical Finite State Machine Framework.
- cuCollections - Open-source, header-only library of GPU-accelerated, concurrent data structures.
- BS::thread_pool - Fast, lightweight, and easy-to-use C++17 thread pool library.
- Dem Bones - Automated algorithm to extract the linear blend skinning (LBS) from a set of example poses.
- cubeb - Cross platform audio library.
- Polygeist - C/C++ frontend for MLIR. Also features polyhedral optimizations, parallel optimizations, and more.
- hashmap.h - Simple one header hashmap implementation for C/C++.
- CacheLib - Pluggable in-process caching engine to build and scale high performance services.
- ztd.text - Premiere library for handling text in different encoding forms and reducing transcoding bugs in your C++ software.
- uni-algo - Unicode Algorithms Implementation for C/C++.
- CTAsm - Compile Time Assembler for C++. (Lobsters)
- hopscotch-map - C++ implementation of a fast hash map and hash set using hopscotch hashing.
- kdtools - Tools for Working with Multidimensional Data in R and C++.
- Photon - High-efficiency LibOS framework, based on a set of carefully selected C++ libs.
- memory - STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write.
- hspp - Haskell Style Programming brought to C++.
- fast_float - Fast and exact implementation of the C++ from_chars functions for float and double types: 4x faster than strtod.
- ReactivePlusPlus - Reactive programming library for C++.
- Simple streaming library
- alpaca - Pack C++ structs into a compact byte-array without any macros or boilerplate code.
- CSV2 - Fast CSV parser and writer for Modern C++.
- Nod - Small, header only signals and slots C++11 library.
- MP - C++20
TemplateMeta-Programming. - oneTBB - Flexible C++ library that simplifies the work of adding parallelism to complex applications, even if you are not a threading expert.
- zzzJSON - Fastest JSON parser written in pure C.
- B-Tree - General-purpose high-performance lightweight STL-like modern C++ B-Tree.
- cppq - Simple, reliable & efficient distributed task queue for C++17. Backed by Redis.
- Coost - Tiny boost library in C++11.
- SPU - Secure Processing Unit.
- BaSpaCho - Direct solver for symmetric positive-definite sparse matrices designed for mathematical optimization. It implements supernodal Cholesky decomposition algorithm, and has GPU support.
- archimedes - C++ reflection via code generation.
- tiny::optional - Replacement for std::optional that does not unnecessarily waste memory.
- Terathon-Container-Library - C++ containers for arrays, lists, maps, hash tables, trees, and graphs.
- STXXL - Standard Template Library for Extra Large Data Sets.
- fast_log - Fast implementation of the natural logarithmic function.
- C++ Predefined Macros
- pika - C++ library for concurrency and parallelism.
- Benchmark - Microbenchmark support library.
- BzTree - Open-source BzTree implementation.
- function2 - Improved and configurable drop-in replacement to std::function that supports move only types, multiple overloads and more.
- tinyformat.h - Minimal, type safe printf replacement library for C++.
- libhal - Collection of interfaces and abstractions for embedded peripherals and devices using modern C++.
- GeoArrow - Experimental C and C++ implementation of the GeoArrow specification.
- Sonic-Cpp - Fast JSON serializing & deserializing library, accelerated by SIMD.
- Outcome - Lightweight outcome<T> and result<T> (non-Boost edition).
- Realtime Math - Geared towards real time applications that require their math to be as fast as possible.
- Animation Compression Library - Animation compression is a fundamental aspect of modern video game engines.
- mz::type_list - Compiler-friendly variadic type list for C++.
- json.h - Simple single header solution to parsing JSON in C and C++.
- header-parser - Extracts information from an annotated C++ header and outputs it as JSON for use in code generation tools.
- CDT - C++ library for generating constraint or conforming Delaunay triangulations.
- JSBSim - Open source flight dynamics & control software library.
- fastgltf - Superfast SIMD powered glTF 2.0 parser written in C++17 with minimal dependencies.
- Stroika - Modern, portable, thread-savvy, C++ application framework. It makes writing high performance C++ applications easier by providing safe, flexible, modular building blocks.
- riptide_cpp - Multihreaded 64 bit c++ files for processing numba arrays.
- ProxSuite - Advanced Proximal Optimization Toolbox.
- bin2cpp - Easiest way to embed small files into a c++ executable.
- gcl - Graph concurrent library for C++.
- type_safe - Zero overhead utilities for preventing bugs at compile time.
- JSONCONS - C++, header-only library for constructing JSON and JSON-like data formats such as CBOR.
- CTHASH - Compile Time Hash. Constexpr implementation of SHA-2 family of hashes.
- Celerity Runtime - High-level C++ for Accelerator Clusters.
- Algorithm - Boost.org algorithm module.
- polymorphic_value - Polymorphic value-type for C++.
- Proxy - Easy Polymorphism in C++.
- BinOpt - Library for Self-guided Runtime Binary Optimization.
- LibColony - C++ (and JavaScript) library for task sheduling, perfect for colony simulation games. (Web)
- Gloo - Collective communications library with various primitives for multi-machine training.
- Contourklip - C++ library for boolean operations on contours. Including cubic beziers.
- emhash - Very fast and memory efficient c++ flat hash map/set.
- sparse-map - C++ implementation of a memory efficient hash map and hash set.
- RenderGraph - Render graph management library.
- kuhllib - Experimental standard C++ library.
- ggwave - Tiny data-over-sound library.
- libfork - Bleeding-edge, lock-free, wait-free, continuation-stealing tasking library.
- libremidi - Cross-platform C++17 library for real-time and MIDI file input and output.
- Rodin - Modern C++17 finite element method and shape optimization framework.
- nsuv - C++ wrapper around libuv focused on making callback arg passing safer.
- Senders - Standard Model for Asynchronous Execution in C++.
- Corto - Library for compression and decompression meshes and point clouds (C++ and JavaScript).
- mem++ - C++ memory allocator with smart GC.
- BVH - Modern C++ BVH construction and traversal library.
- lockfree - Collection of lock-free data structures written in standard C++11.
- OptimLib - Lightweight C++ library of numerical optimization methods for nonlinear functions.
- Flux - C++20 library for sequence-orientated programming.
- NTF Core - Sockets, timers, resolvers, events, reactors, proactors, and thread pools for asynchronous network programming.
Links
- Awesome HPP - Curated list oGeneric raft library inspired etcd in C++.f awesome header-only C++ libraries.
- Desktop App Toolkit - Set of C++ libraries for developing nice desktop applications (by Telegram).
- How to export C++ library - OS-agnostic C++ library template in plain CMake.
- List of single-file C/C++ libraries (HN)
- Sandboxed API - Generates sandboxes for C/C++ libraries automatically. (HN)
- The Art of C++ - Collection of high-quality C++ libraries. (Web)
- Conan - Decentralized, open-source, C/C++ package manager. (Web)
- hdoc - Modern C++ documentation tool. (HN) (Code)
- Mason - Cross-platform, command-line package manager for C/C++ applications.
- Boost C++ Libraries - Free peer-reviewed portable C++ source libraries. (GitHub)
- Kokkos - C++ Performance Portability Programming EcoSystem. (HN)
- Boost C++ libraries packaged for build2 (2021) (Lobsters)
- Poac - Package manager for C++, like Cargo for Rust. (Web)
- I don’t know which container to use (and at this point I’m too afraid to ask) (2022) (Lobsters)
- Setting up a C++/Python project with pybind11 and CMake - Tutorial for wrapping C++ library into Python using pybind11 and CMake.
- C++ Templates: How to Iterate through std:tuple: std:apply and More (HN)
- How to Use C++20 Modules with Bazel and Clang (HN)
- cmake-init - Missing CMake project initializer.
- clang-tutor - Example Clang plugins for C and C++.
- Conan Center - Central Repository for C / C++ packages. (Code)
- std::find() and memchr() Optimizations (2016)
- How to Use C++20 Modules with Bazel and Clang (2022)
- C++ Template Project (with vcpkg support)
- sokol-tools - Command line tools for use with sokol headers.
- Prefab - Tool for generating build system integrations for prebuilt C/C++ libraries.
- xsimd - C++ wrappers for SIMD intrinsics.
- Libnyquist - Small C++11 library for reading sampled audio data from disk or memory.
- Nano RPC - Lightweight RPC in pure C++ 17.
- C++ Coroutines (2023) (HN)
- Defining interfaces in C++: concepts versus inheritance (2023) (HN)
- Debugging the C++ standard library on macOS (2022) (HN)
- Inside STL: The string (2023)
- The Little Things: The Missing Performance in std::vector (2023)