A list of open source C++ libraries

From cppreference.com
< cpp‎ | links

The objective of this page is to build a comprehensive list of open source C++ libraries, so that when one needs an implementation of particular functionality, one needn't to waste time searching on web (DuckDuckGo, Google, Bing etc.).

If you know a library that might be useful to others, please add a link to it here. There are no restrictions on what can be included except that the source of the library must be readily available to download.

The page is provided 'as is' - with the hope of being useful, but without any warranties. Outdated, misleading or wrong links might appear here. If you've noticed one of these, it would be great if you fixed the error.

Package managers

Audio

Library Description License Configuration
Aquila cross-platform DSP library
FFTW library for computing the DFT
KFR Fast, modern DSP framework, DFT/FFT, Audio resampling, FIR/IIR filters, Biquad
soundtouch
Fingerprinting
Library Description License Configuration
chromaprint
libmusicbrainz
libofa
Formats
Library Description License Configuration
audiofile
flac
libsndfile
Tagging
Library Description License Configuration
id3lib
taglib
CD
Library Description License Configuration
libkcompactdisc

Benchmarking

Library Description License Configuration
benchmark A library to benchmark code snippets, similar to unit tests Apache License 2.0 CMake
Celero Apache License CMake
gperftools 'Google Performance Tools' includes a high-performance, multi-threaded malloc implementation plus tools for benchmarking heap allocation and CPU utilization. BSD 3-Clause "New" or "Revised" License configure
plf::nanotimer Lowest-overhead, cross-platform simple timer class for benchmarking. zlib license

Communication

Library Description License Configuration
ACE asynchronous networking, event demultiplexing, messaging
Apache Thrift The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
Boost.Asio asynchronous and synchronous networking, timers, serial I/O
Boost.Beast HTTP and WebSocket library built on top of Boost.Asio
Breep Event based, high-level, peer-to-peer library, allowing users to directly send and receive objects. European Union Public License 1.1 CMake
C++ REST SDK asynchronous HTTP client and listener, asynchronous Stream, URI, JSON MIT License CMake
C++ RESTful framework C++ micro-framework designed to be embedded into a wide range of applications. CMake
cpp-netlib cpp-netlib: The C++ Network Library Boost Software License 1.0 CMake
cpr a modern C++ HTTP requests library MIT License CMake
curlpp C++ wrapper for CURL library
EasyHttp A cross-platform HTTP client library with a focus on usability and speed, supporting http response caching and more. MIT License CMake
eCAL high performance inter-process communication Apache License 2.0 CMake
fineftp-server ftp server library for windows and unix MIT License CMake
gRPC gRPC is a modern open source high performance RPC framework that can run in any environment.
gsoap C/C++ development toolkit for XML data bindings, fast WSDL/SOAP/XML Web services, WS-Security, JSON/XML-RPC RESTful services
HTTPP Simple, production ready HTTP server built on top of Boost and a client built on top of libcurl. BSD 2-Clause "Simplified" License CMake, Makefile
IXWebSocket Open-source WebSocket + HTTP library without dependency, supports SSL and the per message deflate WebSocket extension. BSD 3-Clause "New" or "Revised" License CMake, Makefile
KCP A fast and reliable ARQ protocol that helps applications to reduce network latency. MIT License CMake
libashttp asynchronous HTTP client library GNU Lesser General Public License v3.0
libnavajo C++ framework including a fast multithreaded http server, HTML5 Websockets, SSL, X509 and HTTP authentification, compression, cookies and advanced session management, IPv4 and IPv6 (CeCILL-C). CeCILL-C FREE SOFTWARE LICENSE AGREEMENT CMake
libtins Network packet crafting and sniffing library
nanomsg fast message queue, zeromq successor
netif Header-only C++14 library for getting network addresses on Windows, Linux, macOS, and FreeBSD. BSD 3-Clause "New" or "Revised" License CMake
nghttp2 HTTP/2 C Library and tools (server, client, proxy and benchmarking tools) MIT License CMake, configure
ngrest Fast and easy in use JSON RESTful Web Services Framework Apache License 2.0 CMake
nng fast message queue, nanomsg successor
omniORB the fastest, complete and portable CORBA ORB implementation in C++
OpenDDS DDS implementation
Paho MQTT Modern C++ client for MQTT from Eclipse CMake
PcapPlusPlus Multiplatform C++ network sniffing and packet parsing and crafting framework
POCO networking: encryption, HTTP; Zip files
rest_rpc modern, simple, easy to use rpc framework CMake
restc-cpp Takes the pain out of accessing JSON API's from C++. HTTP Client, native C++ class to/from JSON serialization, asynchronous IO trough boost::asio coroutines. C++14. MIT License CMake
restful_mapper ORM for consuming RESTful JSON APIs in C++ CMake, Makefile
seastar High performance server-side application framework, based on C++14/C++17. Apache License 2.0 CMake, etc.
Simple C++ REST library Very simple and self documenting library for creating a REST API in your c++ application
sockpp A simple, modern C++ socket library BSD 3-Clause "New" or "Revised" License CMake
stream-client Lightweight, header-only, Boost-based client-side socket/connector/socket pool/resolver Apache License 2.0 CMake
tacopie C++11 TCP Library MIT License CMake
TAO CORBA
taox11 C++11 based CORBA implementation MIT License
The Silicon C++14 Web Framework Fast and Robust Web APIs MIT
Unicomm asynchronous networking, high-level TCP communication framework
uvw libuv wrapper in modern C++ MIT License CMake
wvstreams
zeromq fast message queue

Concurrency

Library Description License Configuration
BlockingCollection A C++11 thread safe collection class modeled after .NET BlockingCollection.
Boost.Atomic
Boost.Compute (unofficial) STL-like algorithms and data-structures for OpenCL
Boost.Context
Boost.Interprocess
Boost.Lockfree
Boost.MPI
Boost.Thread
hipSYCL provides a clang-based toolchain and a runtime SYCL implementation that can run on multiple target devices (NVIDIA/AMD GPU,s CPU)
HPX A general purpose C++ runtime system for parallel and distributed applications of any scale
Intel TBB
KOKKOS A programming model in C++ for writing performance portable HPC applications
libopenmpi
libsimdpp A portable header-only zero-overhead C++ low level SIMD library. Boost License CMake
MutexGear Mutex-only synchronization (wheel, rwlock, work queues) The MutexGear Library License configure, MSVC
OpenMP
RaftLib C++ stream like concurrent actors
SObjectizer A small framework for simplification of development of concurrent and event-driven applications in C++ by using actor and publish-subscribe models.
subprocess a cross platform library for running subprocesses.
Taskflow Parallel Task Programming in Modern C++
Thrust STL-like algorithms and data-structures for CUDA
VexCL C++ expression templates library for OpenCL and CUDA
ViennaCL Linear algebra and algorithms with OpenMP, CUDA, and OpenCL backends
Xenium A header-only library providing various concurrent data structures and reclamation schemes.

Configuration

Library Description License Configuration
Boost.Program_options
gconfmm
libconfig
libconfini INI parser
XML
Library Description License Configuration
ai-xml Serialize objects to and from XML by adding a single, minimal, function to a class. Uses libxml++ under the hood.
GPDS General purpose data serializer to serialize objects to and from XML. Uses TinyXML under the hood.
gSOAP XML data bindings
libxml++
pugixml
tinyxml
tinyxml2 Another and work in progress of TinyXML.
Xerces
JSON
Library Description License Configuration
ArduinoJson ArduinoJson
CAJUN
jansson Jansson is C library for encoding, decoding and manipulating JSON data.
jeayeson A very sane (header only) C++14 JSON library
jios (JSON Input Output Streams)
JOST
JSON Voorhees Killer JSON for C++
json Niels Lohmann JSON
JSON++
json-cpp
json11 json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.
JsonBox
jsoncons A header-only library for JSON and JSON-like data formats, with JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON.
jsoncpp
jsonme--
libjson
minijson C++ DOM-less and allocation-free JSON parsing and serialization
nosjob
qjson
rapidjson
simdjson Parsing gigabytes of JSON per second
struct_mapping Mapping json to and from a c++ structure
ThorsSerializer (JSON/YAML Input Output Streams)
ujson µjson is a small, C++11, UTF-8, JSON library
zoolib
YAML
Library Description License Configuration
yaml-cpp
TOML
Library Description License Configuration
toml++ TOML parser and serializer for C++17 and later
toml11 TOML parsing library based on C++11
HOCON
Library Description License Configuration
cpp-hocon The C++ implementation of the HOCON format developed by Pupplet.
CSS
Library Description License Configuration
mycss CSS Parser

Containers

Library Description License Configuration
Boost.Any
Boost.Array
Boost.Bimap
Boost.Container
Boost.Fusion
Boost.Heap
Boost.Pointer Container
Boost.Tuple
Boost.Variant
cpp-btree btree_map, btree_set, btree_multimap, btree_multiset.
DataFrame C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved BSD-3-Clause CMake, Makefile, Conan
eggs::variant Eggs.Variant is a C++11/14 generic, type-safe, discriminated union. It is notable in particular for having very good `constexpr` support.
Frozen constexpr perfect-hashing-based frozen sets and maps Apache 2.0
plf::colony Unordered "bag-like" container which outperforms std:: containers in high-modification scenarios while maintaining valid pointers to non-erased elements regardless of insertion and erasure.
plf::list std::list implementation which sacrifices range-splicing for cache-friendliness, yielding faster insertion, erasure and iteration.
plf::stack Drop-in replacement container for the std::stack container adaptor with better performance than std::vector and std::deque in a stack context.
ring_span A simplified implementation of Arthur O'Dwyer's ring_span - ie. a circular buffer view.
strict_variant A fast, never-empty variant targetting C++11. Prevents many undesirable implicit conversions.
TdhLists
Ygg An intrusive C++11 implementation of high-performance containers and data structures such as a Red-Black-Tree, an Interval Tree and an Interval Map.

Cryptography

Library Description License Configuration
Botan
crypto++
gnutls
openssl
TomCrypt

Databases

Library Description License Configuration
cpp-redis C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform.
DTL
EasyQtSql A lightweight header-only C++11 library for quick and easy SQL querying with QtSql
LevelDB A C++ library developed by Google that handles billion-scale Key-Value data persistence storage.
libpqxx
lmdb++ C++11 wrapper for the LMDB embedded B+ tree database library.
mongocxx C++11 driver library for MongoDB
mysql++
ODB - C++ Object-Relational Mapping (ORM)
OTL
Pgfe - PostGres FrontEnd The modern C++ client API to PostgreSQL
QTL A friendly and lightweight C++ database library for MySQL, SQLite and ODBC.
QUINCE: QUeries IN C++ Expressions (ORM+EDSL)
QxOrm - C++ Qt Object-Relational Mapping (ORM)
redis-cpp C++17 Lightweight C++ client header-only library for executing Redis commands.
redis-plus-plus A Redis client written in C++ 11, and supports Redis Sentinel, Redis Cluster, pipeline, transaction, pubsub, connection pool and STL-like interface
SOCI
SQLAPI++
SQLiteCPP
sqlpp11

Embedded languages bindings

Library Description License Configuration
AngelScript a scripting language like C++.
ChaiScript
ExprTk
Jinx Scripting language designed for videogames.
lua
mozjs
muparser
PythonQt
ScriptCaller a header only library allowing us to call ruby scripts.
sol2
v8pp Bind C++ functions and classes into V8 JavaScript engine

Embedded/realtime

Library Description License Configuration
distortos object-oriented C++ RTOS for microcontrollers
ETL - Embedded Template Library C++ 03, Portable template library tailored for low resource platforms
QP/C++ RTOS kernel, dual GPL
µcuREST C++11 REST/JSON server framework for microcontrollers

File metadata

Library Description License Configuration
exempi
exiv2
libkexiv2
rarian

Financial Calculations

Library Description License Configuration
DataFrame C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved BSD-3-Clause CMake, Makefile, Conan
QuantLib - Quantitative finance library

Game Engine Architecture

Library Description License Configuration
Anax
BOX2D Physics engine
EntityPlus
EntityX
EnTT

General Multimedia

Library Description License Configuration
Kigs-framework Modular Multi-purpose Cross Platform Framework MIT license
openFrameworks
SDL (Simple DirectMedia Layer) cross-platform, low level access to audio, keyboard, mouse, joystick, and graphics hardware via that platform's graphics API (usually OpenGL or Direct3D) zlib license
SFML (Simple and Fast Multimedia Library)
SIGIL (Sound, Input, and Graphics Integration Library) mind-bogglingly simple, cross-platform, minimalist library for text, shapes, input, audio, and 2D images

Generic

Library Description License Configuration
Abseil An open-source collection of C++ library code from Google designed to augment the C++ standard library.
Abstract Intrusive Containers More flexible than boost::intrusive, but not STL-compatible.
BDE The Bloomberg Development Environment core libraries from Bloomberg L.P. Apache License
Better Enums Reflective enums (enum to string, iteration, etc.) with constexpr support. BSD License
bitfield.h Bit field structure facility, more portable/flexible than the base language facility.
Boost large collection of generic libraries Boost License
CAF The C++ Actor Framework (CAF) is an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more BSD License
Cinder
CommonPP Multi-purpose library with a strong emphasis on getting metrics out of a project. BSD License
composite_op.h Basic class data member introspection, cumbersome and often non-re-entrant, but sometimes useful.
cpp-mmf A C++98 library that encapsulates memory-mapped-files for POSIX or Windows
cxxomfort Backports of C++ features (C++11 to C++03 and C++1y proposals to C++11/C++03).
Dlib networking, threads, graphical interfaces, data structures, linear algebra, machine learning, XML and text parsing, numerical optimization, Bayesian nets, and numerous other tasks Boost License
fcppt Freundlich's C++ Toolkit (fcppt) is a collection of libraries focusing on improving general C++ code by providing better types and making use of functional programming.
Folly Facebook open-source library. Library of C++11 components designed with practicality and efficiency in mind.
GSL Guidelines Support library implementation, recommended by Bjarne Stroustrup, Herb Sutter and Co in C++ Core Guidelines
gsl-lite A single-file header-only version of ISO C++ Guideline Support Library (GSL) for C++98, C++11 and later MIT License
JUCE An extensive, mature, cross-platform C++ toolkit GPL License
Kangaru A dependency injection container for C++11 and C++14 MIT License
libsourcey Cross-platform C++11 library for high speed networking and media encoding. HTTP, WebSockets, TURN, STUN, Symple and more...
Loki design patterns
nonstd-lite Parent of *-lite repositories, a migration path to post-C++11 features for pre-C++11 environments Boost License
nytl Generic C++17 header-only utility template library. Boost License
OnPosix C++ library providing several abstractions (e.g., threading, networking, logging, IPC, etc.) on POSIX platforms.
Reason xml, xpath, regex, threads, sockets, http, sql, date-time, streams, encoding and decoding, filesystem, compression GPL License
SaferCPlusPlus SaferCPlusPlus - Safe compatible substitutes for unsafe C++ primitives, including pointers, int and std::vector. Boost License
Smart Enum "to_string", "from_string" and more for your enums. Boost License
Ultimate++ Cross-platform rapid application development framework
units A compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies MIT License
yaal algorithms, collections, arbitrary precision calculation, generic-DSL grammar driven parsers and more (CC BY-ND-NC 4.0)
Yato Modern C++(14/17) cross-platform STL-styled and STL-compatible library with implementing containers, ranges, iterators, type traits and other tools; actors system; type-safe config interface. Apache-2.0
yomm2 Open multi-methods for C++17 Boost License

GPS

Library Description License Configuration
gpsd

Graphic user interface

Library Description License Configuration
Dear ImGui A bloat-free graphical user interface library that is highly optimized.
FLTK
nana GUI programming in modern C++ style Boost License
nanogui Minimalistic cross-platform widget library for OpenGL 3.x or higher
OWLNext Modern update to OWL for writing GUI applications in standard C++ on Windows
tiny file dialogs a single C C++ cross-platform file (no init, no main loop, 6 modal function calls)
WxWidgets
CopperSpice
Library Description License Configuration
CopperSpice CopperSpice is a set of C++ libraries used to develop cross-platform software applications. It is released under the LGPL V2.1 license. It uses modern idiomatic C++ and integrates seamlessly with the STL. CopperSpice was derived from the Qt framework.
CsSignal Standalone C++ thread aware signal/slot library
CsString Standalone C++ unicode aware string library
libGuarded Standalone C++ multithreading library for managing access to shared data
GTK+
Library Description License Configuration
evince
flowcanvas
glibmm
goocanvasmm
gtkmm
libglademm
libgnomecanvasmm
webkitgtk
Qt
Library Description License Configuration
libdbusmenu-qt
Qt
QuickProperties C++/QML library for QObject/QtObject properties edition; project homepage: http://www.qanava.org
QuickQanava C++14 library for drawing directed graphs in a Qt/QML application; project homepage: http://www.qanava.org
qwt5 Qt Widgets for Technical Applications
qwtplot3d

Graphics

Library Description License Configuration
bgfx Powerful cross-platform graphics rendering library, support platforms include Windows Mac Linux iOS Android Web, rendering backend including DX, opengl, metal webgl and so on.
cairomm
dfpsr 2D, 3D and isometric software renderer with desktop GUI toolkit, minimalistic dependency, designed for long time maintenance and can run without any 3D accelerated drivers zlib license
gegl
nanovg 2D drawing library based on openGL/DX/metal.
nux
pangomm

Images

Library Description License Configuration
Adobe/boost GIL high-level generic library, focused on algorithms that operate on 2D images. Very limited I/O options.
Anti-Grain Evolution cross-platform 2D rasterization and rendering engine
GraphicsMagick Reading, writing, and manipulating images in over 88 major formats. Forked from ImageMagick in 2002
Skia Graphics Engine Google's core graphics library as of 2005, used in Chrome, Chrome OS, Android, and also in Firefox and Sublime Text enwiki:Skia_Graphics_Engine
stb
Plotting
Library Description License Configuration
plotutils
Formats
Library Description License Configuration
djvulibre
imagemagick
Kaitai Struct C++ runtime
libraw
openexr
poppler
qimageblitz
SVG++

Graphics (3D)

Library Description License Configuration
assimp 3D model loading
bgfx Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Diligent Engine A modern cross-platform low-level 3D graphics library.
Epoxy Modern successor to GLEW. Abstracts difference between some kinds of GL contexts, which makes it sometimes simpler to use than GLEW. Used by GTK+ project since 2015.
GLAD Customizable, lightweight library for loading OpenGL functions
GLEW OpenGL function loading
GLFW OpenGL window manager
GLM Header only C++ mathematics library for rendering
hlsl++ Header only C++ math library for rendering using hlsl syntax. Supports SSE and NEON
Horde3D
Irrlicht
klein C++11/14/17 SSE-optimized Projective Geometric Algebra library for graphics and animation
Magnum Lightweight and modular C++11/C++14 graphics middleware for games and data visualization
Ogre3D
Open CASCADE SDK for 3D CAD/CAM/CAE applications
OpenGL
OpenSceneGraph
Visionaray A C++ ray tracing template library
VTK
Vulkan

Image Processing

Library Description License Configuration
dlib
ITK
opencv
OTB

Internationalization

Library Description License Configuration
gettext
IBM ICU
spirit-po A small, header-only library which parses po-files and provides an interface similar to GNU libintl. Based on boost::spirit.

Logging

Library Description License Configuration
Backward Printing nice Python-styled stack traces with colors and source snippets, especially on crashes (MIT License).
Boost.Log
glog Google Logging Library
Log4cplus Logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration.
Log4cpp A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations (LGPL)
log4cxx Apache log4cxx is a logging framework for C++ patterned after Apache log4j
Pantheios Diagnostic Logging API library, offering a combination of type-safety, efficiency, genericity and extensibility
plog Portable and simple log for C++ in less than 1000 lines of code (MPL2)
Quill C++14 Asynchronous Low Latency Logging Library
spdlog Super fast, header only, C++ logging library

Math

Library Description License Configuration
alglib
ArrayFire High Performance Computation Library
BigNumber C++ class for creating and computing arbitrary-length integers
Boost.Math.Special Functions and Statistical Distributions
Boost.Multiprecision
Boost.Random
C++ Matrix High performance and accurate (e.g. edge cases) matrix math library with expression template arithmetic operators BSD-3-Clause CMake, Makefile
CasADi Symbolic framework for nonlinear optimization and algorithmic differentiation. Supports C++ code generation for symbolic expressions and dynamic connection of compiled generated code.
cpp-measures A header-only C++11 library to handle physical measures
G+Smo cross-platform library for isogeometric analysis
GNU MP bignum C++ interface
NTL - A Library for doing Number Theory
SEMT Compile time symbolic differentiation
stats++ Advanced, comprehensive statistical software: data collection and preprocessing, statistics, machine learning, and optimization, with open C++ source code.
StatsLib A templated, header-only library of statistical distribution functions.
Numeral Calculations
Library Description License Configuration
LibBF An arbitrary precision numerical calculation library developed by Bellard with a sample program that calculates pi to billions of bits
Linear algebra
Library Description License Configuration
Armadillo
Blaze
Blitz++
Boost.uBLAS
DecompLib A header-only C++11 library to decompose a vector into a set of positive definite weighted basis vectors.
Dlib - linear algebra tools
Eigen
ETL
IT++
PETSc A suite of data structures and routines for the parallel solution of scientific applications modeled by partial differential equations. It supports MPI, and GPUs through CUDA or OpenCL, as well as hybrid MPI-GPU.
xtensor xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions. (BSD)
Optimization
Library Description License Configuration
ceres-solver C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. (BSD)
OptimLib A C++11 library of numerical optimization methods for nonlinear functions.
Graph theory
Library Description License Configuration
Boost.Graph
GTpo C++14 generic graph topology library with Protocol Buffer serialization; project homepage: http://www.qanava.org
LEMON
NGraph - a simple (Network) Graph library in C++
OGDF - Open Graph Drawing Framework
Class Library for Numbers
Library Description License Configuration
cln
Universal A C++ template library for universal number arithmetic, replacing IEEE floating point (MIT License)
Machine Learning
Library Description License Configuration
Dlib machine learning tools
FANN Fast Artificial Neural Network Library
liblinear
MLPACK machine learning package
Shogun large scale machine learning toolbox
stats++
Computational geometry
Library Description License Configuration
CGAL Computational geometry algorithms library
PCL Point Cloud library
pmp-library Polygon Mesh Processing Library
Wykobi Computational geometry library
Automata theory
Library Description License Configuration
yasmine - C++11 UML state machine framework

Metaprogramming

Library Description License Configuration
Boost.CallableTraits
Boost.Hana New metaprogramming library for both types and values
Boost.Metaparse Compile-time parser library, producing types, values, and metafunctions from compile-time strings
Boost.Mp11
Boost.MPL Original metaprogramming library, targeted at C++03, slow
Boost.Proto A library for building expression template-backed EDSLs
Brigand Uses eager metafunctions, optimized for best performance
CoMeta Lightweight, header-only C++14 metaprogramming library
Meta Uses eager metafunctions, middle ground between metal and brigand wrt performance
Metal Uses eager metafunctions, 100% SFINAE-friendly
refl-cpp A modern compile-time reflection library for C++ with support for overloads, templates, attributes and proxies
visit_struct A miniature reflection library, providing structure visitors for C++11/14. Self-contained, 200-400 lines of code depending how you count.

PDF

Library Description License Configuration
HARU
JagPDF
PoDoFo

Physics and Simulations

Library Description License Configuration
Bullet Physics simulation for games, visual effects, robotics and reinforcement learning
ProjectCHRONO An Open Source Multi-physics Simulation Engine
ReactPhysics3D C++ physics engine library for 3D simulations and game

Serialization

Library Description License Configuration
Boost.Serialization
C++ XML objects
cereal (C++11 serialization)
cppcodec Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API (MIT License)
GPDS General purpose data serializer to serialize objects to and from XML. Uses TinyXML under the hood.
gSOAP accurate XML serialization
iguana (universal serialization engine)
jios (JSON serialization)
libs11n
protobuf
rpnx-serial A library that can (de)serialize types like std::map, std::vector, etc.
sweet_persist
ThorsSerializer (JSON/YAML Input Output Streams)
yaml-cpp
YAS (Yet Another Serialization)
Binary serialization
Library Description License Configuration
binn A binary serialization library designed to be compact, fast, and easy to use, itself an implementation of the same name format.
bson-cxx C++ implementation in BSON format.
fast_ber High-performance serialization using BER/DER encoding rules. Encoding layout is defined by ASN.1 schemas. Follows modern C++ practices, written in C++11.
UBjsonCpp High-performance UBJson read-write library based on C++14

Sorting

Library Description License Configuration
Indiesort Templated sort-wrapper function which allows use of std::sort (and other random-access sort methods) with non-random-access containers. It also increases the performance of sorting large types in random-access containers and arrays (zLib)
Timsort Templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. (MIT)

System

Library Description License Configuration
Infoware C++ Library for pulling system and hardware information, without hitting the command line. (Creative Commons Zero v1.0 Universal)

Terminal

Library Description License Configuration
cwidget
replxx A readline and libedit replacement that supports UTF-8, syntax highlighting & hints.

Testing

Library Description License Configuration
bandit Human-friendly unit testing for C++11
Boost.Test
Catch2
cppunit
doctest The lightest feature-rich C++ single-header testing framework for unit tests and TDD
ELFspy Testing in isolation with fakes and spies - Linux only
Google Test
lest A modern, C++11-native, single-file header-only, tiny framework for unit-tests, TDD and BDD (includes C++98 variant).
liblittletest Portable, one file header-only testing framework
xtd.tunit Modern c++17 unit testing library on Windows, macOS, Linux, iOS and android. Office site

Text

coding
Library Description License Configuration
uchardet The ability to guess string encoding is basically the same as the uchardet function in Python.
win-iconv The character set encoding conversion library for Linux and Mac The Windows implementation of iconv is based on the Win32 Character Set Conversion API.
format
Library Description License Configuration
fmt printf is not easy to use, ostream is not easy to use, format is easy to use
Parse
Library Description License Configuration
BNFlite A single file header only lightweight grammar parser library
PEGTL Parsing Expression Grammar Template Library
Search
Library Description License Configuration
clucene
Step Ukkonen's online algorithm for constructing suffix tree, Manber's algorithm for constructing suffix array.
xapian
Template Engine
Library Description License Configuration
inja A Template Engine for Modern C++
Jinja2C++ Modern C++ implementation of Jinja2 templates

Version Control

Library Description License Configuration
coo-semver The C++ operation library for semantic version numbers.
LibGit2 Version Control System Git's core library.

Video

Library Description License Configuration
crystalhd
gstreamermm
libmatroska
libVLC
mjpegtools

Web

Library Description License Configuration
Chromium Embedded
cpp-jwt
Drogon A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows.
libhttpserver
libkcddb
liblastfm
libmusicbrainz5
libnavajo
oatpp Light and powerful web-framework for IoT and high-performance web-services. Zero-dependency and easy-portable.
QtWebApp HTTP(s) Server in C++ inspired by Java Servlets
Tufão
Wt

See also