From 4aad277736857ae3fc678ae63c6619efede2ea94 Mon Sep 17 00:00:00 2001 From: data-man Date: Fri, 8 Nov 2019 18:19:58 +0500 Subject: [PATCH 001/374] Add CNL library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76cbc65bc..0c71eafa5 100644 --- a/README.md +++ b/README.md @@ -590,6 +590,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] From 7da5dc8c93d946d2d30508726ffb535552f6673f Mon Sep 17 00:00:00 2001 From: Jan Bielak Date: Wed, 10 Feb 2021 14:06:59 +0100 Subject: [PATCH 002/374] Add GLFWPP A modern C++ wrapper for GLFW --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d76ea2288..1e171c8e0 100644 --- a/README.md +++ b/README.md @@ -477,6 +477,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] +* [GLFWPP](https://github.com/janekb04/glfwpp) - A modern C++ wrapper for GLFW. [MIT] * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From 69fc633957f87857572c91c1ea583b5d2ae0c0a0 Mon Sep 17 00:00:00 2001 From: Jan Bielak Date: Wed, 10 Feb 2021 14:32:30 +0100 Subject: [PATCH 003/374] Add GLFWPP Copy description from project README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e171c8e0..d274f8e10 100644 --- a/README.md +++ b/README.md @@ -477,7 +477,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] -* [GLFWPP](https://github.com/janekb04/glfwpp) - A modern C++ wrapper for GLFW. [MIT] +* [GLFWPP](https://github.com/janekb04/glfwpp) - A thin modern C++17 header-only wrapper for GLFW. [MIT] * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From 7386117a481bf05567dcddd70bd976d48e93ca07 Mon Sep 17 00:00:00 2001 From: ZigRazor Date: Thu, 24 Jun 2021 10:01:32 +0200 Subject: [PATCH 004/374] Introduced CXXGraph Library Introduced CXXGraph header-only library, that provides utilities for representation and algorithms on graph. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfe9949d4..33281492f 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] From 015fed32f0b33c9ba1fad3685558e19640e5e73c Mon Sep 17 00:00:00 2001 From: Kevin Gliewe Date: Mon, 28 Jun 2021 23:32:56 +0200 Subject: [PATCH 005/374] Fix broken links --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 58ac6a3df..085693413 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] * [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] -* [MiLi](https://bitbucket.org/fudepan/mili/) - Minimal headers-only C++ Library. [Boost] +* [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 in C++. [MIT] [website](http://www.openframeworks.cc/) * [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] @@ -192,7 +192,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Chemistry, 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://gromacs.org) +* [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 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/) @@ -518,8 +518,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) -* [Magick++](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C++. [Apache2] -* [MagickWnd](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C. [Apache2] +* [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] +* [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] * [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] @@ -594,7 +594,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] -* [Easylogging++](https://github.com/easylogging/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] [website](https://muflihun.github.io/easyloggingpp) +* [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] * [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] * [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. @@ -664,7 +664,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] -* [xtensor](https://github.com/QuantStack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://quantstack.net/xtensor) +* [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) * [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] [website](http://www.stillwater-sc.com/assets/content/stillwater-universal-sw.html) ## Memory Allocation @@ -777,7 +777,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Reflection * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) -* [clReflect](https://bitbucket.org/dwilliamson/clreflect) - C++ Reflection using clang. [MIT] +* [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] @@ -943,7 +943,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] -* [libsigc++](http://libsigc.sourceforge.net/) - A typesafe callback system for standard C++. [LGPL] +* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] @@ -983,7 +983,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. -* [Microsoft Visual C++](https://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) - MSVC, developed by Microsoft. +* [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft. * [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] * [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] * [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] From e04f44b6d7dd29830138205d4813fe19b3ed6410 Mon Sep 17 00:00:00 2001 From: Owen Young <62473795+theowenyoung@users.noreply.github.com> Date: Thu, 8 Jul 2021 21:40:11 +0800 Subject: [PATCH 006/374] Add Track Awesome List Badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 085693413..71e7e767c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) +# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](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-cpp) From b24346130ee3021138a75713cca85d270ca1e616 Mon Sep 17 00:00:00 2001 From: Julien Combattelli Date: Wed, 14 Jul 2021 10:02:43 +0200 Subject: [PATCH 007/374] Add o3de to game engines section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71e7e767c..ea1947fff 100644 --- a/README.md +++ b/README.md @@ -435,6 +435,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) +* [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) * [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) From 04101b27dac295c1211c39792fa9d5de109315d2 Mon Sep 17 00:00:00 2001 From: netcan <1469709759@qq.com> Date: Sat, 17 Jul 2021 12:14:08 +0800 Subject: [PATCH 008/374] Add config-loader to Reflection --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ea1947fff..430429d80 100644 --- a/README.md +++ b/README.md @@ -777,6 +777,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Reflection +* [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) From d70176170141565492721e515a94df9969d8840c Mon Sep 17 00:00:00 2001 From: Alex Syrnikov Date: Sat, 24 Jul 2021 00:12:12 +0300 Subject: [PATCH 009/374] add build2 to build systems --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 430429d80..73f882ac9 100644 --- a/README.md +++ b/README.md @@ -1045,6 +1045,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] * [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] +* [build2](https://build2.org/) - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT] * [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) From 48e01d6446d87605ec73c2883d89fcbc0865e5f2 Mon Sep 17 00:00:00 2001 From: Amir Farukshin Date: Wed, 28 Jul 2021 13:15:40 +0300 Subject: [PATCH 010/374] #1125 add online compiler CodeChef --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73f882ac9..5e673a6b5 100644 --- a/README.md +++ b/README.md @@ -993,6 +993,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Online Compiler *List of online C or C++ compilers* +* [codechef](https://www.codechef.com/ide) - A simple online compiler CodeChef. * [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. * [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers. * [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. From 84c8432fae268836c946aaf576d8d673e6000ccf Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sat, 31 Jul 2021 22:24:17 -0300 Subject: [PATCH 011/374] Added DebugViewPP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5e673a6b5..c55fcebfe 100644 --- a/README.md +++ b/README.md @@ -394,6 +394,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] +* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] * [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] From 4dc9320b9167deec6adece11052b542cf575f7fd Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sun, 1 Aug 2021 21:09:57 -0300 Subject: [PATCH 012/374] Added Kratos framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c55fcebfe..186e381f9 100644 --- a/README.md +++ b/README.md @@ -769,6 +769,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] * [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] * [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] +* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) From d20ef30de0bc4eb044bfe6e3278f51e721eb1af7 Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sun, 1 Aug 2021 23:08:57 -0300 Subject: [PATCH 013/374] Added matplotplusplus and a new section for data visualization --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 186e381f9..69cbfefc4 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Cryptography](#cryptography) - [CSV](#csv) - [Database](#database) + - [Data visualization](#data-visualization) - [Debug](#debug) - [Font](#font) - [Game Engine](#game-engine) @@ -377,6 +378,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] +## Data visualization +*Data visiualization Libraries* +* [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) + ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* From e46285821239510fb4ea5d4b372a80b0d1dc7602 Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sun, 1 Aug 2021 23:09:58 -0300 Subject: [PATCH 014/374] Added matplotplusplus and a new section for data visualization --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69cbfefc4..6e2fdab2a 100644 --- a/README.md +++ b/README.md @@ -380,6 +380,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Data visualization *Data visiualization Libraries* + * [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) ## Debug From 9eb2fe79cc2e6ad2b653dfbf536282559bec105c Mon Sep 17 00:00:00 2001 From: badaix Date: Mon, 2 Aug 2021 14:55:03 +0200 Subject: [PATCH 015/374] Add badaix/popl to CLI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e2fdab2a..0cc2eb880 100644 --- a/README.md +++ b/README.md @@ -215,6 +215,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [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. [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] From 5b918b41dca0b720d5c99723d9a913d346f9dc78 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Mon, 2 Aug 2021 22:47:35 +0300 Subject: [PATCH 016/374] Add m2cgen for transpiling ML models into C code --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e2fdab2a..fa097dbdf 100644 --- a/README.md +++ b/README.md @@ -625,6 +625,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) * [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) +* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) From 1c3f2c7b5422e67f69657013197e7bf412391ecf Mon Sep 17 00:00:00 2001 From: Tzach Livyatan Date: Tue, 3 Aug 2021 22:01:22 +0300 Subject: [PATCH 017/374] Add Seastar framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f10a76237..5ea93d008 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] +* [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/) * [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/) From 0e473228caf83b6494603fddaa1a0befcf5943b2 Mon Sep 17 00:00:00 2001 From: Devesh Pal Date: Sat, 7 Aug 2021 10:08:30 +0530 Subject: [PATCH 018/374] Remove broken link/unaccessible --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5ea93d008..71c72fbca 100644 --- a/README.md +++ b/README.md @@ -1204,7 +1204,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) * [Kenny Kerr](https://kennykerr.ca/articles/) * [Sutter’s Mill](https://herbsutter.com/gotw/) -* [thoughts on cpp](https://thoughts-on-cpp.com/) * [Vorbrodt's C++ Blog](https://vorbrodt.blog/) * [foonathan::blog()](https://foonathan.net/index.html) From 64a4bb0b22edca9ac0b8bceb807b537fcb593bbf Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 14 Aug 2021 23:30:21 -0400 Subject: [PATCH 019/374] Add touca-cpp by @trytouca --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71c72fbca..3837d873d 100644 --- a/README.md +++ b/README.md @@ -393,7 +393,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch](https://github.com/philsquared/Catch) - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost] * [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] @@ -416,6 +415,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] +* [Touca](https://github.com/trytouca/touca-cpp) - Automated regression testing system for testing complex mission-critical workflows. [Apache2] [website](https://touca.io/) * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] From 3afa6b2aaa82e9e9e28b1cd2d33ad2293e56ca63 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 3 Sep 2021 21:33:37 +0800 Subject: [PATCH 020/374] Audio: Add dr_libs and update miniaudio links --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3837d873d..a2bc657e8 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Audio, Sound, Music, Digitized Voice Libraries* * [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [GPL3] +* [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/Commercial] * [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] @@ -160,7 +161,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] -* [miniaudio](https://github.com/dr-soft/miniaudio) - Single file audio playback and capture library. [Unlicense] +* [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, open-source, audio I/O library. [MIT] From c00b618b919fa1c85a07a244d3c79326ff7fcf1e Mon Sep 17 00:00:00 2001 From: Farook Al-Sammarraie Date: Fri, 10 Sep 2021 03:30:01 +0300 Subject: [PATCH 021/374] Update Crow entry to use up to date version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a2bc657e8..7ddb52b90 100644 --- a/README.md +++ b/README.md @@ -906,7 +906,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] -* [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] +* [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) * [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) * [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] * [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) From 01a9fdb1194963ba94467b1b91d9423f42d2b898 Mon Sep 17 00:00:00 2001 From: a4z Date: Thu, 16 Sep 2021 10:59:57 +0200 Subject: [PATCH 022/374] Update djinni project URL The original project has been retired and is only as a read only git repo available. Development of djinni happens nowadays via https://github.com/cross-language-cpp The submitted link points to the documentation site. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ddb52b90..868d1bc9d 100644 --- a/README.md +++ b/README.md @@ -843,7 +843,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) * [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] * [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) -* [djinni](https://github.com/dropbox/djinni) - A tool for generating cross-language type declarations and interface bindings. [Apache2] +* [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] * [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) * [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) From 39670b261779065b202dadc0291769ace8efc0da Mon Sep 17 00:00:00 2001 From: Gammasoft Date: Fri, 24 Sep 2021 12:03:17 +0200 Subject: [PATCH 023/374] Update README.md Add xtd framework to GUI section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 868d1bc9d..6ab35a3f8 100644 --- a/README.md +++ b/README.md @@ -482,6 +482,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] +* [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] ## Graphics From b38d3a6ce2cb41bc21fae07285c5a08c73790c99 Mon Sep 17 00:00:00 2001 From: Prasanthpadp <76952704+Prasanthpadp@users.noreply.github.com> Date: Thu, 30 Sep 2021 17:55:21 +0530 Subject: [PATCH 024/374] New Resource for online C++ compilers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ab35a3f8..d10ebee1c 100644 --- a/README.md +++ b/README.md @@ -1017,6 +1017,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. * [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. * [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. +* [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. ## Debugger *List of C or C++ debuggers* From 4593a1248bfe35b0d64d77f3353a9c78ef1719f7 Mon Sep 17 00:00:00 2001 From: Antonio Borondo Date: Thu, 30 Sep 2021 17:57:20 +0200 Subject: [PATCH 025/374] Add inifile-cpp library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ab35a3f8..a16e5003e 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## 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] * [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] From 39d2ce37af526933bd1b1c924f1d8678d363f28b Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Mon, 4 Oct 2021 13:28:54 +0200 Subject: [PATCH 026/374] Add preCICE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 843e32ab3..33c17b29f 100644 --- a/README.md +++ b/README.md @@ -832,6 +832,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] * [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] * [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] +* [preCICE](https://github.com/precice/precice) - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/) * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] * [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) From d4411b33cd5ce746eba455ff44aa8333012416a3 Mon Sep 17 00:00:00 2001 From: Markus Gans Date: Mon, 4 Oct 2021 19:00:27 +0200 Subject: [PATCH 027/374] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 843e32ab3..f1d75fe73 100644 --- a/README.md +++ b/README.md @@ -210,6 +210,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [jarro2783/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] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [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] From 30197127bff439b08911b5caeacb6b1dadb3afc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20G=C3=BCndling?= Date: Sat, 9 Oct 2021 17:34:02 +0200 Subject: [PATCH 028/374] serialization: add cista library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fa99850f..cab58d90f 100644 --- a/README.md +++ b/README.md @@ -871,6 +871,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] +* [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] From beea088d466d2f7c97300f3499ea583b52480e82 Mon Sep 17 00:00:00 2001 From: Yevgeniy Zakharov Date: Sat, 30 Oct 2021 09:40:19 +0300 Subject: [PATCH 029/374] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bb32f977..b4e7db026 100644 --- a/README.md +++ b/README.md @@ -377,7 +377,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational 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++. [BSD-3-Clause] +* [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] * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) From a801b33847fa03f80ddd76911024103598f58d88 Mon Sep 17 00:00:00 2001 From: wakeupneo Date: Tue, 9 Nov 2021 22:42:54 +0100 Subject: [PATCH 030/374] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b4e7db026..24ca69425 100644 --- a/README.md +++ b/README.md @@ -359,6 +359,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Database *Database Libraries, SQL Servers, ODBC Drivers, and Tools* +* [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] * [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. [BSD] * [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] From 2293d726660c9a2dbd11c396781919f139fcb704 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 23 Nov 2021 21:57:35 +0800 Subject: [PATCH 031/374] Memory Allocation: Add rpmalloc, snmalloc, TCMalloc --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 24ca69425..0ad2cb2e0 100644 --- a/README.md +++ b/README.md @@ -693,6 +693,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] * [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] * [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] +* [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] +* [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] +* [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) * [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] ## Multimedia From 76d3b13095a039989099ec568aef12ab7f029d13 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 23 Nov 2021 22:06:54 +0800 Subject: [PATCH 032/374] CLI: Add oof --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24ca69425..6d9d58791 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, 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. [BSD] From 10459d35aa4b997a6ec1b9eaadfb28fb80923f3e Mon Sep 17 00:00:00 2001 From: Chandan Mahto Date: Tue, 23 Nov 2021 22:14:56 +0530 Subject: [PATCH 033/374] Fixed "Free C Books" and "Free C++ Books" links. Free C Books and Free C++ Books used to point to 404 pages. They now point to correct page. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24ca69425..f35fb6e75 100644 --- a/README.md +++ b/README.md @@ -1142,8 +1142,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Fantastic C or C++ related books.* * [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) -* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md#c) - vhf/free-programming-books/C. -* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md#c-1) - vhf/free-programming-books/C++. +* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#c) - vhf/free-programming-books/C. +* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. * [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. ## Coding Style From 4943e845203225342e417a1a784924434fb8c97a Mon Sep 17 00:00:00 2001 From: Ivan Baidakou Date: Fri, 31 Dec 2021 13:24:24 +0300 Subject: [PATCH 034/374] Add rotor (basiliscos/cpp-rotor) into concurrency section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36032e9b9..15ac32e95 100644 --- a/README.md +++ b/README.md @@ -284,6 +284,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [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::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] From 1833c7ece9cebda618270f626f907a7b0ec75524 Mon Sep 17 00:00:00 2001 From: Rangsiman Ketkaew Date: Wed, 5 Jan 2022 20:55:29 +0100 Subject: [PATCH 035/374] Add quantum chemistry packages Add quantum chemistry packages --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 15ac32e95..d44879cb7 100644 --- a/README.md +++ b/README.md @@ -192,12 +192,16 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libutp](https://github.com/bittorrent/libutp) - uTorrent Transport Protocol library. [MIT] ## Chemistry -*Chemistry, Geochemistry, Biochemistry* +*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 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/) +* [ORCA](https://en.wikipedia.org/wiki/ORCA_(quantum_chemistry_program)) - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] [website](https://orcaforum.kofo.mpg.de/) +* [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* From 55256666316208b8c5322b980610d77f063a8144 Mon Sep 17 00:00:00 2001 From: Ofek Shilon Date: Fri, 7 Jan 2022 19:04:27 +0200 Subject: [PATCH 036/374] Fix VLD link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 020a8a5d2..10ed6996c 100644 --- a/README.md +++ b/README.md @@ -430,7 +430,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] * [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] -* [VLD](http://vld.codeplex.com/) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. +* [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. ## Font *Libraries for parsing and manipulating font files.* From 6dc4a92bc4d094ceceba0e1627f6e9ed9c760990 Mon Sep 17 00:00:00 2001 From: Alvin Date: Sun, 9 Jan 2022 18:25:52 +0800 Subject: [PATCH 037/374] rename co to cocoyaxi --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 10ed6996c..4d40f3a13 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] -* [CO](https://github.com/idealvin/co) - A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components. [MIT] +* [cocoyaxi](https://github.com/idealvin/cocoyaxi) - A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components. [MIT] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world 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] From 9bbcd63661933a0f4f27f53f8126c5d2df0b4432 Mon Sep 17 00:00:00 2001 From: Layerex Date: Mon, 14 Feb 2022 16:39:43 +0300 Subject: [PATCH 038/374] Update Skia website link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d40f3a13..43bfc4b87 100644 --- a/README.md +++ b/README.md @@ -519,7 +519,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] * [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] * [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] -* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [webpage](https://sites.google.com/site/skiadocs/home) +* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) * [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] * [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] * [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] From a792c27c2dbc0bfdf40d53274f3020ae52f79365 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 2 Mar 2022 12:39:23 +0100 Subject: [PATCH 039/374] Add Slint --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43bfc4b87..3f9b3b22f 100644 --- a/README.md +++ b/README.md @@ -490,6 +490,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From ac71ed14819d701f973e065f15de04b5ff78629c Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Thu, 7 Apr 2022 21:54:49 -0300 Subject: [PATCH 040/374] add Concord --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f9b3b22f..2468d6648 100644 --- a/README.md +++ b/README.md @@ -964,6 +964,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From 393c940e0cddaaad3290a4a072c45b7379b9cdfe Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Thu, 7 Apr 2022 21:56:49 -0300 Subject: [PATCH 041/374] add json-build --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2468d6648..02a490602 100644 --- a/README.md +++ b/README.md @@ -589,6 +589,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] +* [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] * [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] @@ -964,7 +965,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] -* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From a8b8553265e1960cc9c2990ed1a5368ef7c72086 Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Fri, 8 Apr 2022 10:44:15 -0300 Subject: [PATCH 042/374] add Concord --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02a490602..a590b774f 100644 --- a/README.md +++ b/README.md @@ -923,6 +923,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Web Application Framework * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) From 2a2c5b57a2136668728de7790b9ddef9a675aabc Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Fri, 8 Apr 2022 12:21:50 -0300 Subject: [PATCH 043/374] fix: move to Miscellaneous section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a590b774f..e76da5421 100644 --- a/README.md +++ b/README.md @@ -923,7 +923,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Web Application Framework * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] -* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) @@ -966,6 +965,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From 78389b87f66ae54c2b4d541c2845b93f992eca52 Mon Sep 17 00:00:00 2001 From: Mohammad Nejati Date: Mon, 18 Apr 2022 12:19:05 +0430 Subject: [PATCH 044/374] Add lazycsv lazycsv is a fast, lightweight and single-header csv parser written in modern C++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e76da5421..156bdffb8 100644 --- a/README.md +++ b/README.md @@ -360,6 +360,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] * [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] ## Database From a67ebd74cfc97580a496c1d0a37b0c3ebd169b10 Mon Sep 17 00:00:00 2001 From: Christian Eltzschig Date: Mon, 25 Apr 2022 11:00:25 +0200 Subject: [PATCH 045/374] iceoryx is a true zero copy ipc framework for safety critical systems like cars Signed-off-by: Christian Eltzschig --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 156bdffb8..b43fcbec2 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) * [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] +* [iceoryx](https://github.com/eclipse-iceoryx/iceoryx) - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] [website](https://iceoryx.io/) * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] * [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) * [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) From e47e1a87311be8dc197e4d6728aef9ca82baf6e1 Mon Sep 17 00:00:00 2001 From: Pranav Date: Thu, 28 Apr 2022 22:21:28 -0500 Subject: [PATCH 046/374] Added p-ranav/fccf to `Miscellaneous` section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b43fcbec2..ed79186f8 100644 --- a/README.md +++ b/README.md @@ -970,6 +970,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] From 27b6ff31163c67d9d74566793402f2a39e976ccd Mon Sep 17 00:00:00 2001 From: Nima Date: Fri, 6 May 2022 00:36:14 +0430 Subject: [PATCH 047/374] ONNX runtime added to Machine learning section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed79186f8..bfbfe2f6a 100644 --- a/README.md +++ b/README.md @@ -648,6 +648,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] +* [ONNX runtime](https://onnxruntime.ai/) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are based on. * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] From eba29710b154b8babaabc8fca62fb701812e898e Mon Sep 17 00:00:00 2001 From: Ofek Date: Tue, 10 May 2022 17:03:32 +0300 Subject: [PATCH 048/374] Update README.md Add OptView2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed79186f8..52863c159 100644 --- a/README.md +++ b/README.md @@ -1118,6 +1118,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. +* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations ## Coding Style Tools From 9abeca821294f951471246eb570b2a0753487a92 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 14 May 2022 12:47:35 -0400 Subject: [PATCH 049/374] Create FUNDING.yml --- .github/FUNDING.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..982098791 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: fffaraz +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From 74baf1349215d2b6cfb0a62f1e65405e6bc093f6 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 May 2022 21:17:32 +0800 Subject: [PATCH 050/374] Audio: Add rnnoise --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52863c159..03d5ed9b0 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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, 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] From e9794b5b14f9810c6eb67e0466a09affeee9b743 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 May 2022 21:21:07 +0800 Subject: [PATCH 051/374] Debug: Remove MemTrack --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 52863c159..b19df83ef 100644 --- a/README.md +++ b/README.md @@ -419,7 +419,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] -* [MemTrack](http://www.almostinfinite.com/memtrack.html) - Tracking memory allocations in C++. * [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] * [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] * [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. From 171cac09970d256dc05e9ee19694814444b7f63d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 May 2022 21:28:08 +0800 Subject: [PATCH 052/374] Debug: Add FakeIt --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52863c159..e83e170c9 100644 --- a/README.md +++ b/README.md @@ -414,6 +414,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] * [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] * [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. +* [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] From 568d181b71435fcb1afa02b07e225590560667d2 Mon Sep 17 00:00:00 2001 From: Nima Samadi Date: Wed, 25 May 2022 12:56:31 +0430 Subject: [PATCH 053/374] ONNX runtime license and website added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c773c0ae0..6517574fd 100644 --- a/README.md +++ b/README.md @@ -650,6 +650,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] * [ONNX runtime](https://onnxruntime.ai/) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are based on. +* [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] From 5689840003d086db596972eb0fec76396a37ad68 Mon Sep 17 00:00:00 2001 From: Nima Samadi Date: Wed, 25 May 2022 13:02:02 +0430 Subject: [PATCH 054/374] removing previous ONNX runtime --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6517574fd..8038233c0 100644 --- a/README.md +++ b/README.md @@ -649,7 +649,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] -* [ONNX runtime](https://onnxruntime.ai/) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are based on. * [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] From 36faf045faa75aa43cac1fc3812f317c1d901066 Mon Sep 17 00:00:00 2001 From: astrofra Date: Mon, 6 Jun 2022 09:39:43 +0200 Subject: [PATCH 055/374] Added a link to HARFANG 3D. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8038233c0..3e82bc901 100644 --- a/README.md +++ b/README.md @@ -508,6 +508,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From 8b4e40af249c6dc0cd0ff67863a735cf4b2e8429 Mon Sep 17 00:00:00 2001 From: astrofra Date: Mon, 6 Jun 2022 09:41:50 +0200 Subject: [PATCH 056/374] Added the URL to HARFANG website. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e82bc901..d3996e163 100644 --- a/README.md +++ b/README.md @@ -508,7 +508,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] -* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From cf0f219555bcdabf13ca9504bb38a3d3cc4ca292 Mon Sep 17 00:00:00 2001 From: Lexi <76599467+JumpingPistachio@users.noreply.github.com> Date: Thu, 9 Jun 2022 14:35:39 -0400 Subject: [PATCH 057/374] Fix Typo in CONTRIBUTING.md Changed 'LICENCE' to 'LICENSE' --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f059aba43..35cbfb279 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,7 +3,7 @@ Please ensure your pull request adheres to the following guidelines: * Please search previous suggestions before making a new one, as yours may be a duplicate. * Please make an individual pull request for each suggestion. -* Use the following format: \[RESOURCE\]\(REPO-LINK\) - DESCRIPTION. [LICENCE] \[website\]\(WEB-LINK\) +* Use the following format: \[RESOURCE\]\(REPO-LINK\) - DESCRIPTION. [LICENSE] \[website\]\(WEB-LINK\) * Keep descriptions short and simple. * End all descriptions with a full stop/period. * Make sure your text editor is set to remove trailing whitespace. From 2875bceb1389e5c938dc6164cca745385cbb8648 Mon Sep 17 00:00:00 2001 From: Pejman Ghorbanzade Date: Sun, 12 Jun 2022 21:10:56 -0700 Subject: [PATCH 058/374] Update GitHub link to Touca regression testing system --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3996e163..73591b3fa 100644 --- a/README.md +++ b/README.md @@ -427,7 +427,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] -* [Touca](https://github.com/trytouca/touca-cpp) - Automated regression testing system for testing complex mission-critical workflows. [Apache2] [website](https://touca.io/) +* [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] From 6e47b831f9569bb86aa1d9fc3ef1a8824b5d9472 Mon Sep 17 00:00:00 2001 From: Sandeep Mishra <87706790+sandeepmishratech@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:10:35 +0530 Subject: [PATCH 059/374] Added a new resource [Websites](https://github.com/fffaraz/awesome-cpp#websites) - Comprehensive C++ tutorial for beginners that will help them learn C++ step by step. [Free to use] [Scaler Topics](https://www.scaler.com/topics/cpp) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73591b3fa..111810400 100644 --- a/README.md +++ b/README.md @@ -1218,6 +1218,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. +* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. ## Weblogs *Useful C or C++ related weblogs.* From ad4fe598ef08b8f416454b2e223bfb60149f9d85 Mon Sep 17 00:00:00 2001 From: Craig Edwards Date: Mon, 1 Aug 2022 09:33:41 +0100 Subject: [PATCH 060/374] add DPP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 111810400..4a09ccf1f 100644 --- a/README.md +++ b/README.md @@ -972,6 +972,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From 2185af300d5517d025c5ce6aecee9f6041e8ce5c Mon Sep 17 00:00:00 2001 From: Abdullahil Baki <86188702+abdullahilbaki@users.noreply.github.com> Date: Sun, 7 Aug 2022 14:41:50 +0600 Subject: [PATCH 061/374] Update books.md --- books.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/books.md b/books.md index 74769add9..786ead46d 100644 --- a/books.md +++ b/books.md @@ -1,7 +1,7 @@ ## C -* [A Tutorial on Pointers and Arrays in C](http://home.netcom.com/~tjensen/ptr/pointers.htm) +* [A Tutorial on Pointers and Arrays in C](https://sites.cs.ucsb.edu/~mikec/cs16/misc/ptrtut12/pointers.htm) * [Advanced Linux Programming](http://www.advancedlinuxprogramming.com/) * [Beej's Guide to C Programming](http://beej.us/guide/bgc/) * [Beej's Guide to Network Programming](http://beej.us/guide/bgnet/) From 795be62e4e877d2acdbb795df05a776180b97c06 Mon Sep 17 00:00:00 2001 From: Abdullahil Baki <86188702+abdullahilbaki@users.noreply.github.com> Date: Sun, 7 Aug 2022 15:17:14 +0600 Subject: [PATCH 062/374] Update books.md --- books.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/books.md b/books.md index 74769add9..9acdf920f 100644 --- a/books.md +++ b/books.md @@ -25,7 +25,7 @@ * [C++ GUI Programming With Qt 3](http://www.computer-books.us/cpp_0010.php) * [C++ Succinctly, Syncfusion](http://www.syncfusion.com/resources/techportal/ebooks/cplusplus) (PDF, Kindle) *(Just fill the fields with any values)* * [CS106X Programming Abstractions in C++](http://www.stanford.edu/class/cs106x/) -* [Data Structures and Algorithms with Object-Oriented Design Patterns in C++](http://www.brpreiss.com/books/opus4/index.html) +* [Data Structures and Algorithms with Object-Oriented Design Patterns in C++](https://book.huihoo.com/data-structures-and-algorithms-with-object-oriented-design-patterns-in-c++/html/) * [Financial Numerical Recipes in C++](http://finance.bi.no/~bernt/gcc_prog/recipes/) - Bernt Arne Ødegaard * [Game Programming Patterns](http://gameprogrammingpatterns.com/) * [Google's C++ Style Guide](https://google.github.io/styleguide/cppguide.html) From 8fec6a27fa6c7f97bcd109ca776e29b17e4774e1 Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Wed, 17 Aug 2022 08:03:33 -0500 Subject: [PATCH 063/374] Add Trunk to Tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a09ccf1f..8b857f708 100644 --- a/README.md +++ b/README.md @@ -1123,6 +1123,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. * [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations +* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. ## Coding Style Tools From 30e2eed3317b41f520ff234d418c459f219869e4 Mon Sep 17 00:00:00 2001 From: Alvin Date: Fri, 2 Sep 2022 13:07:02 +0800 Subject: [PATCH 064/374] rename cocoyaxi to coost --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b857f708..1abd6627f 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] -* [cocoyaxi](https://github.com/idealvin/cocoyaxi) - A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components. [MIT] +* [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 to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world 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] From 6ff6b1af30507152c3d1f582e8908d428a7d78b9 Mon Sep 17 00:00:00 2001 From: Kamila Szewczyk <27734421+kspalaiologos@users.noreply.github.com> Date: Fri, 9 Sep 2022 14:26:57 +0200 Subject: [PATCH 065/374] add bzip3 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1abd6627f..80972c288 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2] * [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] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [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] * [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] From cb07ccff059e40d8f5b4c57ede3ab258070d63be Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 12 Sep 2022 07:52:48 +0300 Subject: [PATCH 066/374] Add nanobench microbenchmarking lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 80972c288..b634f79ef 100644 --- a/README.md +++ b/README.md @@ -425,6 +425,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] * [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] * [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. +* [nanobench](https://github.com/martinus/nanobench) - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] [website](https://nanobench.ankerl.com) * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] From 92b09cb0744277a5270e9cd86b7a2147fdded4a9 Mon Sep 17 00:00:00 2001 From: Brody Smith <70295347+brodysmith8@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:37:51 -0400 Subject: [PATCH 067/374] Add Boost.Interprocess --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b634f79ef..0101a3264 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] +* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) From e45f8dc993660cd2eaca8843fe19c0cb6a6fb3c0 Mon Sep 17 00:00:00 2001 From: PatriotRossii Date: Mon, 19 Sep 2022 21:56:34 +0300 Subject: [PATCH 068/374] Add links to coding standards documents --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 0101a3264..cf861db5e 100644 --- a/README.md +++ b/README.md @@ -1171,6 +1171,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. * [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. +## Coding Standards + +* [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) +* [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) +* [Autosar C++ 2014](https://www.autosar.org/fileadmin/user_upload/standards/adaptive/18-10/AUTOSAR_RS_CPP14Guidelines.pdf) + ## Coding Style * [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. From a7588f1753075da54fd792b1f11f8d80ca2c1a2d Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 7 Oct 2022 13:35:34 +0300 Subject: [PATCH 069/374] Add info on userver framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf861db5e..f3384f6c1 100644 --- a/README.md +++ b/README.md @@ -944,6 +944,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) +* [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) * [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] ## XML From cee59ddc8e2aaeae1295911d32df9e98e975dd2a Mon Sep 17 00:00:00 2001 From: Stephen Berry Date: Mon, 17 Oct 2022 21:42:40 -0500 Subject: [PATCH 070/374] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3384f6c1..86baf1adf 100644 --- a/README.md +++ b/README.md @@ -589,6 +589,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] +* [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] * [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] * [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] * [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] From d93c92372c623a1c364a0b1278b22a236a547a41 Mon Sep 17 00:00:00 2001 From: Maxim Voloshin Date: Fri, 28 Oct 2022 16:46:27 +0300 Subject: [PATCH 071/374] Add easy_reflection_cpp --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 86baf1adf..8de9736b7 100644 --- a/README.md +++ b/README.md @@ -570,7 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] -* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) +* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) @@ -820,6 +820,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] +* [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] * [magic_get](https://github.com/apolukhin/magic_get) - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] @@ -1128,7 +1129,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. * [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations -* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. +* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. ## Coding Style Tools @@ -1231,7 +1232,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. -* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. +* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. ## Weblogs *Useful C or C++ related weblogs.* From 8d281020ba59ca477523908ce08eab9c33902fca Mon Sep 17 00:00:00 2001 From: Chunel Date: Wed, 2 Nov 2022 00:09:40 +0800 Subject: [PATCH 072/374] add CGraph repo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8de9736b7..68f9c43d3 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] +* [CGraph](https://github.com/ChunelFeng/CGraph) - A 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. [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 to C++03 and later. [MIT] From 51ada215c757442f3e0a792f646295b9375bc29a Mon Sep 17 00:00:00 2001 From: DolphyWind Date: Sat, 12 Nov 2022 00:03:58 +0300 Subject: [PATCH 073/374] Add Embarcadero Dev-CPP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68f9c43d3..3e1b9131a 100644 --- a/README.md +++ b/README.md @@ -1074,6 +1074,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] * [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. * [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. +* [Embarcadero Dev-CPP](https://github.com/Embarcadero/Dev-Cpp) - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] [website](https://www.embarcadero.com/free-tools/dev-cpp) * [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] * [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. * [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. From 2f91cc3f5d8876484b96805668139f07dd944189 Mon Sep 17 00:00:00 2001 From: Rick <1450685+LinuxSuRen@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:00:54 +0800 Subject: [PATCH 074/374] Add a cryptography HEhub --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68f9c43d3..25eacc1c5 100644 --- a/README.md +++ b/README.md @@ -356,6 +356,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tink](https://github.com/google/tink) - A multi-language, 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] * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data 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] ## CSV *Libraries for parsing Comma Separated Value (CSV) files* From 4674da07644cf1fba3d7c705c3502e68f5e48d86 Mon Sep 17 00:00:00 2001 From: Soof Golan <83900570+soof-golan@users.noreply.github.com> Date: Wed, 16 Nov 2022 20:47:35 +0200 Subject: [PATCH 075/374] Silicon to Lithium serever http://siliconframework.org/ says: Upgrade to Lithium::http_backend --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 246d71fec..03a10cb21 100644 --- a/README.md +++ b/README.md @@ -761,6 +761,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] * [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] * [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) +* [Lithium](https://matt-42.github.io/lithium/) - Build high performance C++ HTTP servers without being a C++ expert. [MIT] * [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) @@ -775,7 +776,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] * [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] -* [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] From dafea64ae86deff196bf027b26e77c7ad8f08276 Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:22:24 -0600 Subject: [PATCH 076/374] Add libpqxx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03a10cb21..3552e08dd 100644 --- a/README.md +++ b/README.md @@ -374,6 +374,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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. [BSD] * [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] +* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. * [LMDB](http://symas.com/mdb/) - 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 library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] From 5ec9a3bd077a8fee29b3eaa896d365654cf3920e Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:40:01 -0600 Subject: [PATCH 077/374] Add license --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3552e08dd..d195c053b 100644 --- a/README.md +++ b/README.md @@ -374,7 +374,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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. [BSD] * [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] -* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. +* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] * [LMDB](http://symas.com/mdb/) - 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 library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] From a389f3cb6251bc7515dd192393ceb714f852851c Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:48:49 -0600 Subject: [PATCH 078/374] Add jwt-cpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03a10cb21..1b1bd4fe3 100644 --- a/README.md +++ b/README.md @@ -997,6 +997,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] +* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] From 1a7caf109195f563b32f254f9d8f411f8c335f91 Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:54:07 -0600 Subject: [PATCH 079/374] Reordered --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b1bd4fe3..b2e355a2f 100644 --- a/README.md +++ b/README.md @@ -990,6 +990,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. +* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] * [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) @@ -997,7 +998,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] -* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] From a18a4e777e13283432dd6073b40cb740ab9e58d8 Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Sun, 27 Nov 2022 15:36:36 -0600 Subject: [PATCH 080/374] Add Argon2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4914c8df..e23300928 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] +* [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) From 575d0706c46d3a31bdc5ba3cd86112459f5e3dfe Mon Sep 17 00:00:00 2001 From: wangguodong <499957739@qq.com> Date: Mon, 5 Dec 2022 01:37:11 +0800 Subject: [PATCH 081/374] Update README.md add a library named clipp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e23300928..f91d6f3ab 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] * [cli](https://github.com/daniele77/cli) - A 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] * [jarro2783/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] From 7fe84539717711270f46bd7c0b39adf654bfca5c Mon Sep 17 00:00:00 2001 From: jordanozang <38968035+jordanozang@users.noreply.github.com> Date: Thu, 8 Dec 2022 15:40:19 -0500 Subject: [PATCH 082/374] Change license of AudioFile from GPL to MIT The license for AudioFile was changed to MIT in this commit: https://github.com/adamstark/AudioFile/commit/c5fd7f1c34fac98349655b85cb065242d05ae3d2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f91d6f3ab..5743776e4 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* -* [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [GPL3] +* [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [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/Commercial] From 615114bdd4adc22d4a85ef4b7745c0255e14fd93 Mon Sep 17 00:00:00 2001 From: nirlivne Date: Thu, 15 Dec 2022 17:07:02 +0200 Subject: [PATCH 083/374] Add Rapid YAML --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5743776e4..67afd4ecb 100644 --- a/README.md +++ b/README.md @@ -972,6 +972,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] * [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] +* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* From 747feb39ccb5e7aa412bf64394d61e47c71ea1e8 Mon Sep 17 00:00:00 2001 From: Diamond Rivero Date: Wed, 28 Dec 2022 17:21:21 +0800 Subject: [PATCH 084/374] Add pspdev/pspsdk --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67afd4ecb..e1e498a35 100644 --- a/README.md +++ b/README.md @@ -1023,6 +1023,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] +* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] # Software *Software for creating a development environment.* From 2804a23a641319d9a3ded1e58e10562bba62614e Mon Sep 17 00:00:00 2001 From: WebSnke Date: Sun, 1 Jan 2023 17:22:10 +0100 Subject: [PATCH 085/374] Add Caleb Curry's C Programming Tutorials to Videos --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1e498a35..71ecf4043 100644 --- a/README.md +++ b/README.md @@ -1221,6 +1221,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ Programming Tutorials Playlist](https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83) - TheNewBoston Official Buckys C++ Programming Tutorials Playlist. * [C++ Programming Tutorials from thenewboston](https://www.youtube.com/playlist?list=PLF541C2C1F671AEF6) - These are all of thenewboston's C++ programming tutorials. * [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials. +* [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. * [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. * [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... From f278003b8af5883c79754efc96d99f662f9b2367 Mon Sep 17 00:00:00 2001 From: Ruslan Golovinskii <42336163+golxzn@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:41:19 +0300 Subject: [PATCH 086/374] Changed MyGUI web site to github page I'd noticed that their web page is died so IMHO It'll be better to use github link, because even if the project will die, this link will work as an archive (in the case if the author don't delete it) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71ecf4043..a41547166 100644 --- a/README.md +++ b/README.md @@ -489,7 +489,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [implot](https://github.com/epezent/implot) - Immediate Mode Plotting widgets for imgui. [MIT] * [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] -* [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] +* [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] * [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] * [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] From 3d92bb051e2e72fc2d275081ad2451527ca29754 Mon Sep 17 00:00:00 2001 From: Ruslan Golovinskii <42336163+golxzn@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:48:33 +0300 Subject: [PATCH 087/374] Add zpp::bits serialization library to the list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For more information take a look at this cool video: https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon I propose, this library has honor to be in this list at least as the fastest serialization library which is written on C++20 🚀 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71ecf4043..d3dd26163 100644 --- a/README.md +++ b/README.md @@ -911,6 +911,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] * [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] * [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] +* [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). ## Sorting From 77ee63cfdbfbefeee4e8615ffb3ceb3fa01b3460 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 12 Jan 2023 00:23:20 -0500 Subject: [PATCH 088/374] Update README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index cb1fe7027..29a351875 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Videos](#videos) - [Websites](#websites) - [Other Awesome Lists](#other-awesome-lists) +- [Jobs](#jobs) +- [Sponsors](#sponsors) - [Contributing](#contributing) ## Standard Libraries @@ -1292,6 +1294,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. * [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. +# Jobs + +* This list is currently empty, but you can add to it by opening a merge request. + +# Sponsors + +* Please reach out if you are interested in sponsoring this repo. Your company's name and logo will be prominently displayed here. + # Contributing Please take a quick gander at the [contribution guidelines](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. Thanks to all [contributors](https://github.com/fffaraz/awesome-cpp/graphs/contributors); you rock! From 8acd2ecf5c806fcd8ed6ccd7f241c73bbb2d0faf Mon Sep 17 00:00:00 2001 From: Alexandr Nikitin Date: Sat, 28 Jan 2023 22:38:46 -0800 Subject: [PATCH 089/374] Remove empty project --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 29a351875..bfec60b71 100644 --- a/README.md +++ b/README.md @@ -1269,7 +1269,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. * [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. -* [C++ Awesome Pack](https://github.com/juniandotnet/cpp-awesome-pack) - Contains some awesome c++ codes, packed in one. * [30 Seconds of C++](https://github.com/Bhupesh-V/30-seconds-of-cpp) # Other Awesome Lists From 4e03f4c53d93f653cefbaa5d97857fa1d94882de Mon Sep 17 00:00:00 2001 From: hulk Date: Sun, 29 Jan 2023 18:36:27 +0800 Subject: [PATCH 090/374] Add the Kvrocks to the database category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 29a351875..4be20f999 100644 --- a/README.md +++ b/README.md @@ -376,6 +376,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] * [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. [BSD] +* [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [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] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] * [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] From b1792af1330933fa6c3933744fadb378f0055279 Mon Sep 17 00:00:00 2001 From: Sun Dro Date: Tue, 31 Jan 2023 14:13:27 +0400 Subject: [PATCH 091/374] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9df1b020f..9f1ca5dc5 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video 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 C library providing data structures, 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 in C++. [MIT] [website](http://www.openframeworks.cc/) From c9afc5de4aaa6355749c6c266cd8ed8427934d6c Mon Sep 17 00:00:00 2001 From: ChrizNuh <23082707+ChrizNuh@users.noreply.github.com> Date: Thu, 2 Feb 2023 00:09:20 +0000 Subject: [PATCH 092/374] Update README.md Updated the hyperlink to latest version for JSON - Boost.PropertyTree Line 597 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f1ca5dc5..ec17daa9c 100644 --- a/README.md +++ b/README.md @@ -594,7 +594,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## JSON -* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] * [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] From 30b334deeb184206ecfa8f0fcb083abeac4fe929 Mon Sep 17 00:00:00 2001 From: Cliff Burdick <30670611+cliffburdick@users.noreply.github.com> Date: Wed, 1 Feb 2023 16:56:01 -0800 Subject: [PATCH 093/374] Adding MatX --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f1ca5dc5..1d29c767c 100644 --- a/README.md +++ b/README.md @@ -692,6 +692,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] +* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] From f6e579c0dc60a548278c4d66de640c06976b4f78 Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 2 Feb 2023 09:07:20 +0300 Subject: [PATCH 094/374] Fix broken links --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 16441c845..c51f27db8 100644 --- a/README.md +++ b/README.md @@ -380,7 +380,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [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] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] -* [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] +* [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 library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] * [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for MongoDB. [Apache2] @@ -474,8 +474,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) * [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) * [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) -* [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) -* [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) +* [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) +* [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) * [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] @@ -695,7 +695,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] -* [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] +* [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] * [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) @@ -709,7 +709,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] * [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) -* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] [website](http://www.stillwater-sc.com/assets/content/stillwater-universal-sw.html) +* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] ## Memory Allocation @@ -752,7 +752,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] * [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] -* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) +* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] @@ -1061,7 +1061,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. -* [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. +* [Wandbox](https://wandbox.org) - An online Clang/GCC compiler with Boost available. * [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. * [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. @@ -1125,7 +1125,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. * [Vcpkg](https://github.com/microsoft/vcpkg) - C++ library manager for Windows, Linux, and MacOS. [MIT] -* [waf](https://github.com/waf-project/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) +* [waf](https://gitlab.com/ita1024/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) * [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] ## Static Code Analysis @@ -1193,7 +1193,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) * [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) -* [Autosar C++ 2014](https://www.autosar.org/fileadmin/user_upload/standards/adaptive/18-10/AUTOSAR_RS_CPP14Guidelines.pdf) +* [Autosar C++ 2014](https://www.autosar.org/fileadmin/standards/adaptive/21-11/AUTOSAR_RS_CPP14Guidelines.pdf) ## Coding Style From d29de2ba55ef03d028bd6fc408632437829f2cac Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 2 Feb 2023 09:20:36 +0300 Subject: [PATCH 095/374] Add snitch testing lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 16441c845..b4ef0cf85 100644 --- a/README.md +++ b/README.md @@ -437,6 +437,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] +* [snitch](https://github.com/cschreib/snitch) - Lightweight C++20 testing framework. [Boost] * [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] From ebd291d13df02f5dab2e024cad2fd5b92f71b7f3 Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 2 Feb 2023 09:45:52 +0300 Subject: [PATCH 096/374] Fix inconsistencies in Boost license naming Stick with the "Boost" option as it's far more common now. --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 16441c845..bfc32fc6e 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] - * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] + * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [cli](https://github.com/daniele77/cli) - A 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] @@ -391,7 +391,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [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 abstraction layer for C++. [BSL-1.0] +* [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [Boost] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational 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] @@ -414,7 +414,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] @@ -422,7 +422,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] -* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] +* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [Boost] * [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. * [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] @@ -742,7 +742,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](https://www.boost.org/libs/beast) +* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] [website](https://www.boost.org/libs/beast) * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] @@ -750,7 +750,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] * [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS server library. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] -* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] +* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost] * [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] @@ -836,7 +836,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) -* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] +* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [Boost] * [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] ## Regular Expression From 66a57bfe07f0427089ecd7bcb58036808a82526d Mon Sep 17 00:00:00 2001 From: Bader-eddine Ouaich <49657842+baderouaich@users.noreply.github.com> Date: Fri, 3 Feb 2023 12:01:58 +0100 Subject: [PATCH 097/374] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c11f7eaa2..35022922e 100644 --- a/README.md +++ b/README.md @@ -542,6 +542,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Image Processing * [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. +* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) From 5ceb8cc593db776e4ae3eadff4c4788fa2791c30 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Neto Date: Fri, 3 Feb 2023 08:14:20 -0400 Subject: [PATCH 098/374] Added harfbuzz text shaping library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c11f7eaa2..8db683a7c 100644 --- a/README.md +++ b/README.md @@ -451,6 +451,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) * [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] * [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] +* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] ## Game Engine From 93715dc85e8bf61c6a96c16e2e5bac1e1d6cb6f1 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Neto Date: Fri, 3 Feb 2023 09:53:07 -0400 Subject: [PATCH 099/374] Added CppCon conference. --- videos.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/videos.md b/videos.md index f48cf8273..d775b0f67 100644 --- a/videos.md +++ b/videos.md @@ -1,4 +1,4 @@ * [Modern C++: What You Need to Know](https://www.youtube.com/watch?v=TJHgp1ugKGM) - This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry. This is a great introduction to the current state of the language, including a glimpse into the future of general purpose, performance-intensive, power-friendly, powerful native programming. [Apr 7, 2014] * [Bjarne Stroustrup - The Essence of C++](https://www.youtube.com/watch?v=86xWVb4XIyE) - Bjarne Stroustrup, creator and developer of C++, delivers his talk entitled, The Essence of C++. Stroustrup has held distinguished posts at Texas A&M University and spent significant time in the Computer Science Departments of Cambridge, Columbia and Princeton. [May 6, 2014] - +* [CppCon - The C++ Conference](https://www.youtube.com/user/CppCon/) - An international conference about C++ and its aplications on modern software engineering. From fb23f168424fccc83ffdecb97053404986cb6d41 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Neto Date: Fri, 3 Feb 2023 10:20:52 -0400 Subject: [PATCH 100/374] Added C++Now conference --- videos.md | 1 + 1 file changed, 1 insertion(+) diff --git a/videos.md b/videos.md index d775b0f67..740879688 100644 --- a/videos.md +++ b/videos.md @@ -2,3 +2,4 @@ * [Modern C++: What You Need to Know](https://www.youtube.com/watch?v=TJHgp1ugKGM) - This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry. This is a great introduction to the current state of the language, including a glimpse into the future of general purpose, performance-intensive, power-friendly, powerful native programming. [Apr 7, 2014] * [Bjarne Stroustrup - The Essence of C++](https://www.youtube.com/watch?v=86xWVb4XIyE) - Bjarne Stroustrup, creator and developer of C++, delivers his talk entitled, The Essence of C++. Stroustrup has held distinguished posts at Texas A&M University and spent significant time in the Computer Science Departments of Cambridge, Columbia and Princeton. [May 6, 2014] * [CppCon - The C++ Conference](https://www.youtube.com/user/CppCon/) - An international conference about C++ and its aplications on modern software engineering. +* [C++Now - The C++ Conference](https://www.youtube.com/@BoostCon) - An international conference about C++ and its aplications on modern software engineering. From 8a07055dc1ae816e4c89e70438eb50085a3790a3 Mon Sep 17 00:00:00 2001 From: Bader Date: Sun, 5 Feb 2023 15:07:19 +0100 Subject: [PATCH 101/374] Added missing License --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 800722680..e7b8db84f 100644 --- a/README.md +++ b/README.md @@ -543,7 +543,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Image Processing * [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. -* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. +* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) From 0d8a94b5f9c7d98de796a6207c01ebd8f2027b55 Mon Sep 17 00:00:00 2001 From: van Date: Mon, 13 Feb 2023 13:54:04 +0800 Subject: [PATCH 102/374] Update README.md 1. for "Audio", add "audioFlux - A C library for audio and music analysis, feature extraction. [MIT]" 2. for "JSON", add "jsonParse - A simple JSON parser in ANSI C. [MIT]" --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e7b8db84f..5df3edf07 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Audio, Sound, Music, Digitized Voice Libraries* * [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 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/Commercial] @@ -612,6 +613,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] * [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] +* [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] * [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] From e275a869c7f1f2facad92c771e2ea9577b4a0dd3 Mon Sep 17 00:00:00 2001 From: Christian Veenhuis <124370897+ChVeen@users.noreply.github.com> Date: Sat, 18 Feb 2023 16:39:51 +0100 Subject: [PATCH 103/374] Add programiz.com to section Online Compiler Added the programiz.com online compiler to the section Online Compiler. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5df3edf07..bddfb9381 100644 --- a/README.md +++ b/README.md @@ -1063,6 +1063,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. * [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. * [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. +* [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers. * [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. From 69f252da5840a22feed001c8b9c3c67f5de2c487 Mon Sep 17 00:00:00 2001 From: Arash Partow Date: Tue, 21 Feb 2023 15:18:15 +1100 Subject: [PATCH 104/374] Update urls for ExprTk/StrTk/Wykobi to https --- README.md | 6 +- README.md.bak | 1317 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1320 insertions(+), 3 deletions(-) create mode 100644 README.md.bak diff --git a/README.md b/README.md index bddfb9381..7bb0ef01e 100644 --- a/README.md +++ b/README.md @@ -690,7 +690,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] -* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] +* [ExprTk](https://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] * [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] @@ -712,7 +712,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). -* [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] +* [Wykobi](https://www.wykobi.com) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] * [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) * [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] @@ -1026,7 +1026,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] -* [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] +* [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] diff --git a/README.md.bak b/README.md.bak new file mode 100644 index 000000000..bddfb9381 --- /dev/null +++ b/README.md.bak @@ -0,0 +1,1317 @@ +# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](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-cpp) + - [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) + - [Font](#font) + - [Game Engine](#game-engine) + - [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) + - [PDF](#pdf) + - [Physics](#physics) + - [Reflection](#reflection) + - [Regular Expression](#regular-expression) + - [Robotics](#robotics) + - [Scientific Computing](#scientific-computing) + - [Scripting](#scripting) + - [Serialization](#serialization) + - [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 Style](#coding-style) + - [Podcasts](#podcasts) + - [Talks](#talks) + - [Videos](#videos) + - [Websites](#websites) +- [Other Awesome Lists](#other-awesome-lists) +- [Jobs](#jobs) +- [Sponsors](#sponsors) +- [Contributing](#contributing) + +## 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 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 Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ 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, containers, iterators, and other fundamental components. [retired] [Apache2] +* [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] +* [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] +* [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) +* [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] +* [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] +* [CGraph](https://github.com/ChunelFeng/CGraph) - A 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. [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 to C++03 and later. [MIT] +* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world 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 Library for C++. Write concise and readable C++ code. [MIT] +* [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] +* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [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 systems in C. [Apache2] +* [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video 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 C library providing data structures, 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 in C++. [MIT] [website](http://www.openframeworks.cc/) +* [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] +* [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] +* [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] +* [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/) +* [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 rapid application development framework. [BSD] +* [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] +* [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] +* [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 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 with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) +* [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) +* [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible 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] +* [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) +* [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] +* [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] +* [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid 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 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](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [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 event loop library. [BSD] +* [libuv](https://github.com/libuv/libuv) - 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] + +## Audio +*Audio, Sound, Music, Digitized Voice Libraries* + +* [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 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/Commercial] +* [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 real-time audio input and output. [MIT] [website](http://libsound.io/) +* [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] +* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] +* [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, 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 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 library for maximum efficiency [BSD] + +## Biology +*Bioinformatics, Genomics, Biotech* + +* [BioC++](http://biocpp.sourceforge.net/) - C++ Computational Libraries for 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.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] +* [SeqAn](http://www.seqan.de/) - 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] + +## 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 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/) +* [ORCA](https://en.wikipedia.org/wiki/ORCA_(quantum_chemistry_program)) - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] [website](https://orcaforum.kofo.mpg.de/) +* [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] + * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] + * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] + * [cli](https://github.com/daniele77/cli) - A 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] + * [jarro2783/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] + * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] + * [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, 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. [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] + * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] + * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] + * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface [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 DLLs. [GPLv2] +* [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] +* [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. +* [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] +* [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](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] +* [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] +* [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] +* [Snappy](https://google.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/Dead2/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] +* [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] + +## 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] +* [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] +* [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] +* [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] +* [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] +* [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.io/swift-corelibs-libdispatch/) +* [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 task scheduler written in C++ 11. [Apache-2.0] +* [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a 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] +* [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::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). +* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, 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] +* [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] +* [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. + +## 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] +* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] +* [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) +* [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] +* [simpleini](https://github.com/brofield/simpleini) - 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.io/tomlplusplus/) + +## Containers + +* [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] +* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std 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) +* [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] +* [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] +* [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] +* [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] +* [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] +* [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 space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) +* [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] + +## 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 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 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. +* [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] +* [Tink](https://github.com/google/tink) - A multi-language, 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] +* [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data 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] + +## CSV +*Libraries for parsing Comma Separated Value (CSV) files* + +* [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] +* [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] +* [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] + +## Database +*Database Libraries, SQL Servers, ODBC Drivers, and Tools* + +* [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] +* [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. [BSD] +* [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] +* [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] +* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for 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 library. [PublicDomain] +* [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] +* [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for 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'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, and cross-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] +* [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 abstraction layer for C++. [BSL-1.0] +* [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational 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] +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) +* [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) +* [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] + +## Data visualization +*Data visiualization Libraries* + +* [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) + +## Debug +*Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* + +* [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] +* [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] +* [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] +* [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) +* [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] +* [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] +* [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] +* [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] +* [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] +* [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] +* [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] +* [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] +* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] +* [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. +* [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] +* [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] +* [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] +* [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] +* [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] +* [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] +* [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] +* [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] +* [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. +* [nanobench](https://github.com/martinus/nanobench) - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] [website](https://nanobench.ankerl.com) +* [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) +* [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] +* [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] +* [snitch](https://github.com/cschreib/snitch) - Lightweight C++20 testing framework. [Boost] +* [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) +* [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] +* [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] +* [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] +* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] +* [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. + +## Font +*Libraries for parsing and manipulating font files.* + +* [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) +* [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] +* [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] +* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] + +## Game Engine + +* [Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT] +* [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] +* [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] +* [Corange](https://github.com/orangeduck/Corange) - A game engine written in pure C, SDL and OpenGL. [BSD] +* [crown](https://github.com/dbartolini/crown) - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT] +* [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] +* [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] +* [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] +* [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] +* [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] +* [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] +* [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) +* [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) +* [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) +* [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] +* [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] +* [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) +* [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] +* [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) +* [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) +* [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) +* [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) +* [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) +* [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. +* [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] + +## GUI +*Graphic User Interface* + +* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) +* [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. +* [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] +* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] +* [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] +* [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] +* [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] +* [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] +* [implot](https://github.com/epezent/implot) - Immediate Mode Plotting widgets for imgui. [MIT] +* [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] +* [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] +* [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] +* [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] +* [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] +* [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] +* [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] +* [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] +* [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] +* [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] +* [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) +* [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] +* [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] +* [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] + +## Graphics + +* [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) +* [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] +* [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) +* [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] +* [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] +* [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] +* [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] +* [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] +* [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) +* [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) +* [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] +* [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) +* [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] +* [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] +* [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] +* [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) +* [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] +* [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] +* [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] +* [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] +* [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] +* [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] +* [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] +* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) +* [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] +* [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] +* [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] + +## Image Processing + +* [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. +* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] +* [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] +* [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] +* [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) +* [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. +* [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. +* [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] +* [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) +* [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] +* [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) +* [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) +* [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] +* [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] +* [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] +* [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] +* [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] +* [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] +* [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] +* [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] +* [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] +* [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] +* [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] +* [VIGRA](https://github.com/ukoethe/vigra) - A generic C++ computer vision library for image analysis. [MIT X11] +* [VTK](http://www.vtk.org/) - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD] + +## Internationalization + +* [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] +* [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] +* [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] +* [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] +* [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] + +## Inter-process communication + +* [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] +* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) +* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) +* [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) +* [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) +* [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] +* [iceoryx](https://github.com/eclipse-iceoryx/iceoryx) - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] [website](https://iceoryx.io/) +* [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] +* [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) +* [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) +* [rpclib](https://github.com/rpclib/rpclib) - A modern C++ msgpack-RPC server and client library. [MIT] +* [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] +* [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) +* [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] + +## JSON + +* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] +* [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] +* [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] +* [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] +* [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] +* [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] +* [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] +* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] +* [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] +* [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] +* [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] +* [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] +* [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] +* [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] +* [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] +* [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] +* [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] +* [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] +* [json-voorhees](https://github.com/tgockel/json-voorhees) - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2] +* [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] +* [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] +* [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] +* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] +* [parson](https://github.com/kgabis/parson) - Parson is a lighweight json library written in C. [MIT] +* [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] +* [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] +* [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] +* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] +* [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] +* [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] +* [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] +* [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] +* [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] +* [yyjson](https://github.com/ibireme/yyjson) - A high performance JSON library written in ANSI C. [MIT] + +## Logging + +* [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] +* [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] +* [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] +* [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] +* [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] +* [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. +* [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] +* [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] +* [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] +* [plog](https://github.com/SergiusTheBest/plog) - Portable and simple log for C++ in less than 1000 lines of code. [MPL2] +* [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] +* [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. +* [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] +* [P7Baical](http://baical.net/p7.html) - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL] +* [Quill](https://github.com/odygrd/quill) - Asynchronous cross platform low latency logging library. [MIT] + +## Machine Learning + +* [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] +* [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] +* [darknet](https://github.com/pjreddie/darknet) - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/) +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) +* [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) +* [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) +* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] +* [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) +* [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] +* [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) +* [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) +* [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] +* [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) +* [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] +* [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] +* [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] +* [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] +* [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) +* [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] +* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] + +## Math + +* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] +* [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) +* [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) +* [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] +* [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] +* [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] +* [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) +* [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] +* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] +* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] +* [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) +* [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) +* [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] +* [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] +* [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) +* [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] +* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] +* [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] +* [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] +* [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] +* [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) +* [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] +* [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) +* [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) +* [PCG-rand](https://www.pcg-random.org/) - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache] +* [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) +* [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) +* [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] +* [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] +* [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] +* [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). +* [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] +* [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) +* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] + +## Memory Allocation + +* [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) +* [C Smart Pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] +* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) +* [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) +* [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] +* [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] +* [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] +* [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] +* [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] +* [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) +* [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] + +## Multimedia + +* [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] +* [libass](https://github.com/libass/libass) - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] +* [libav](https://github.com/libav/libav) - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/) +* [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] +* [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] +* [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] +* [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) +* [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] +* [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) +* [TagLib](https://github.com/taglib/taglib) - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/) + +## Networking + +* [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] +* [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](https://www.boost.org/libs/beast) +* [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] +* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] +* [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] +* [Restinio](https://github.com/Stiffstream/restinio) - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD] +* [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] +* [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS server library. [MIT] +* [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] +* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] +* [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] +* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org) +* [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] +* [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) +* [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] +* [ENet](https://github.com/lsalzman/enet) - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/) +* [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] +* [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] +* [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] +* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT] +* [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] +* [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] +* [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] +* [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) +* [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] +* [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] +* [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) +* [Lithium](https://matt-42.github.io/lithium/) - Build high performance C++ HTTP servers without being a C++ expert. [MIT] +* [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] +* [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] +* [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) +* [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] +* [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] +* [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) +* [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] +* [PF_RING™](https://github.com/ntop/PF_RING) - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/) +* [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] +* [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) +* [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] +* [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] +* [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] +* [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] +* [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] +* [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] +* [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] +* [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] +* [WAFer](https://github.com/riolet/WAFer) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] +* [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] +* [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] +* [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] +* [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] +* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL] [website](http://zeromq.org/) + +## PDF +*Libraries for parsing and manipulating PDF documents.* + +* [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] +* [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] +* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] +* [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] +* [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] +* [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] + +## Physics +*Dynamics simulation engines* + +* [Box2D](https://github.com/erincatto/Box2D) - A 2D physics engine for games. [BSD-like] +* [Bullet](https://github.com/bulletphysics/bullet3) - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org) +* [Chipmunk](https://github.com/slembcke/Chipmunk2D) - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/) +* [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] +* [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] +* [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] +* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) +* [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] +* [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] +* [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) +* [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] +* [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] +* [SOFA](https://github.com/sofa-framework/sofa) - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] [website](https://www.sofa-framework.org) + +## Reflection + +* [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] +* [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) +* [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] +* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) +* [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] +* [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] +* [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] +* [magic_get](https://github.com/apolukhin/magic_get) - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] +* [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] +* [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] +* [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] +* [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) +* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] +* [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] + +## Regular Expression + +* [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] +* [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] +* [Hyperscan](https://github.com/intel/hyperscan) - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD] +* [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] +* [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] +* [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] +* [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] +* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] +* [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] + +## Robotics + +* [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles. +* [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] +* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) +* [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] +* [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) +* [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] +* [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) + +## Scientific Computing + +* [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] +* [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] +* [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] +* [preCICE](https://github.com/precice/precice) - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/) +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) +* [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] +* [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) + +## Scripting + +* [AngelScript](https://www.angelcode.com/angelscript/) - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] +* [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] +* [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] +* [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] +* [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) +* [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] +* [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) +* [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] +* [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) +* [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] +* [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) +* [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] +* [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] +* [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] +* [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] +* [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) +* [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] +* [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] +* [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] +* [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) +* [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] +* [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] +* [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] + +## Serialization + +* [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] +* [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] +* [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] +* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) +* [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] +* [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] +* [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] +* [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] +* [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] +* [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) +* [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) +* [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] +* [protobuf](https://github.com/protocolbuffers/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] +* [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] +* [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] +* [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] +* [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] +* [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). + +## Sorting + +* [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] +* [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] +* [Indiesort](https://github.com/mattreecebentley/plf_indiesort) - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm) + +## Video + +* [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD] +* [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2] +* [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) +* [x265](https://bitbucket.org/multicoreware/x265_git/src) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) +* [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) +* [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] +* [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] + +## Virtual Machines + +* [CarpVM](https://github.com/tekknolagi/carp) - "interesting" VM in C. Let's see how this goes. [GPLv3] +* [MicroPython](https://github.com/micropython/micropython) - Aims to put an implementation of Python 3.x on a microcontroller. [MIT] +* [TinyVM](https://github.com/jakogut/tinyvm) - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT] + +## Web Application Framework + +* [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] +* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] +* [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] +* [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) +* [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) +* [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] +* [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) +* [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] +* [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] +* [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] +* [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) +* [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] +* [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] +* [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) +* [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) +* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] + +## XML +*XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* + +* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT] +* [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT] +* [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPL2] +* [Mini-XML](https://github.com/michaelrsweet/mxml) - A small XML parsing library written in ANSI C. [LGPL2 with exceptions] +* [PugiXML](http://pugixml.org/) - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT] +* [RapidXml](http://rapidxml.sourceforge.net/) - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost] +* [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] +* [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] +* [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] +* [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] + +## Yaml + +* [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] +* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] +* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] + +## Miscellaneous +*Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* + +* [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] +* [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] +* [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] +* [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] +* [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) +* [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) +* [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] +* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] +* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] +* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] +* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] +* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] +* [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] +* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. +* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] +* [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] +* [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] +* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) +* [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] +* [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] +* [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] +* [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] +* [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] +* [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] +* [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] +* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] +* [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] +* [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] +* [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] +* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] +* [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] +* [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] +* [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] +* [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] +* [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] +* [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] +* [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] +* [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. +* [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] +* [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] +* [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] +* [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] +* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] +* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] + +# Software +*Software for creating a development environment.* + +## Compiler +*List of C or C++ compilers* + +* [8cc](https://github.com/rui314/8cc) - A Small C Compiler. +* [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] +* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA] +* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3] +* [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. +* [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. +* [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. +* [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft. +* [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] +* [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] +* [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] + +## Online Compiler +*List of online C or C++ compilers* + +* [codechef](https://www.codechef.com/ide) - A simple online compiler CodeChef. +* [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. +* [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers. +* [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. +* [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. +* [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. +* [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers. +* [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. +* [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. +* [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. +* [Wandbox](https://wandbox.org) - An online Clang/GCC compiler with Boost available. +* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. +* [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. + +## Debugger +*List of C or C++ debuggers* + +* [Comparison of debuggers](https://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. +* [GDB](https://www.gnu.org/software/gdb/) - GNU Debugger. +* [LLDB](http://lldb.llvm.org/) - The LLDB Debugger. +* [Metashell](https://metashell.readthedocs.org) - An interactive template metaprogramming shell which includes the MDB metadebugger. +* [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling. +* [x64dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. + +## Integrated Development Environment +*List of C or C++ nominal IDEs.* + +* [Anjuta DevStudio](http://anjuta.org/) - The GNOME IDE. [GPL3] +* [AppCode](http://www.jetbrains.com/objc/) - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform. +* [Cevelop](https://www.cevelop.com) - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins. +* [CLion](http://www.jetbrains.com/clion/) - Cross-platform C and C++ IDE from JetBrains. +* [Code::Blocks](http://www.codeblocks.org/) - A free C, C++ and Fortran IDE. +* [CodeLite](http://codelite.org/) - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins] +* [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] +* [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. +* [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. +* [Embarcadero Dev-CPP](https://github.com/Embarcadero/Dev-Cpp) - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] [website](https://www.embarcadero.com/free-tools/dev-cpp) +* [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] +* [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. +* [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. +* [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] +* [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. +* [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. +* [Microsoft Visual Studio Code](https://code.visualstudio.com/) :zap: - An open-source IDE from Microsoft. [MIT] +* [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. +* [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. +* [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. +* [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. +* [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. +* [cquery](https://github.com/cquery-project/cquery/) - A C++ code completion engine for vscode, emacs, vim, etc. + +## Build Systems + +* [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] +* [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] +* [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] +* [build2](https://build2.org/) - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT] +* [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] +* [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] +* [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) +* [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] +* [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. +* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. +* [Hunter](https://www.github.com/ruslo/hunter) - CMake driven cross-platform package manager for C++. [BSD-2] +* [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. +* [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. +* [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. +* [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. +* [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] +* [SW](https://software-network.org/) - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3] +* [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. +* [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. +* [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. +* [Vcpkg](https://github.com/microsoft/vcpkg) - C++ library manager for Windows, Linux, and MacOS. [MIT] +* [waf](https://gitlab.com/ita1024/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) +* [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] + +## Static Code Analysis +*List of tools for improving quality and reducing defects by code analysis* + +* [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) +* [CppDepend](https://www.cppdepend.com/) - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code. +* [cpplint](https://github.com/cpplint/cpplint) - A C++ style checker following Google's C++ style guide. +* [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. +* [cpp-dependencies](https://github.com/tomtom-international/cpp-dependencies) - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] +* [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) +* [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] +* [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) +* [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. +* [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. +* [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] +* [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. +* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations +* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. + +## Coding Style Tools + +* [Artistic Style](http://astyle.sourceforge.net/) - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle. +* [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. +* [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. +* [EditorConfig](https://editorconfig.org/) - EditorConfig helps maintain consistent coding styles across different editors and IDEs. +* [Uncrustify](https://github.com/uncrustify/uncrustify) - Code beautifier. + +# Resources +*Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.* + +## API Design + +* [Beautiful Native Libraries](http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/) +* [Designing Qt-Style C++ APIs](https://doc.qt.io/archives/qq/qq13-apis.html) + +## Articles +*Fantastic C++ related articles.* + +* [CppCon 2020 Presentation Materials](https://github.com/CppCon/CppCon2020) - CppCon 2020 Presentation Materials. +* [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. +* [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. +* [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. +* [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. +* [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. +* [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. +* [C++Now 2019 Presentations](https://github.com/boostcon/cppnow_presentations_2019) - Presentation materials presented at C++Now 2019. +* [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. +* [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. +* [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. +* [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. +* [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. +* [C++Now 2013 Presentations](https://github.com/boostcon/cppnow_presentations_2013) - Presentation materials presented at C++Now 2013. +* [C++Now 2012 Presentations](https://github.com/boostcon/cppnow_presentations_2012) - Presentation materials presented at C++Now 2012. + +## Books +*Fantastic C or C++ related books.* + +* [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) +* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#c) - vhf/free-programming-books/C. +* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. +* [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. + +## Coding Standards + +* [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) +* [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) +* [Autosar C++ 2014](https://www.autosar.org/fileadmin/standards/adaptive/21-11/AUTOSAR_RS_CPP14Guidelines.pdf) + +## Coding Style + +* [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. +* [C++ Dos and Don'ts](http://www.chromium.org/developers/coding-style/cpp-dos-and-donts) - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts. +* [google-styleguide](https://github.com/google/styleguide) - Style guides for Google-originated open-source projects. +* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) +* [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html) +* [Linux kernel coding style](https://www.kernel.org/doc/Documentation/process/coding-style.rst) +* [LLVM Coding Standards](http://llvm.org/docs/CodingStandards.html) + +## Podcasts + +* [CppCast](http://cppcast.com) - The first podcast by C++ developers for C++ developers. +* [CppChat](http://cpp.chat) - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community. + +## Talks + +* [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. +* [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo. +* [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) +* [Meeting Cpp](https://www.youtube.com/user/MeetingCPP/videos) - Meeting C++ Youtube Channel + +## Videos +*Fantastic C or C++ related videos.* + +* [List of C or C++ YouTube Videos](https://github.com/fffaraz/awesome-cpp/blob/master/videos.md) +* [Awesome C Programming Tutorials in Hi Def [HD]](https://www.youtube.com/playlist?list=PLCB9F975ECF01953C) - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers. +* [C++](https://www.youtube.com/playlist?list=PL2F919ADECA5E39A6) - by VoidRealms. +* [C++ Qt Programming](https://www.youtube.com/playlist?list=PL2D1942A4688E9D63) - by VoidRealms. +* [C++ Programming Tutorials Playlist](https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83) - TheNewBoston Official Buckys C++ Programming Tutorials Playlist. +* [C++ Programming Tutorials from thenewboston](https://www.youtube.com/playlist?list=PLF541C2C1F671AEF6) - These are all of thenewboston's C++ programming tutorials. +* [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials. +* [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. +* [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. +* [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... + +## Websites +*Useful C or C++ related websites.* + +* [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. +* [CppCon](http://cppcon.org/) - The C++ Conference. +* [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. +* [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. +* [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. +* [C FAQ](http://c-faq.com/) - C frequently asked questions. +* [C++ FAQ](http://www.parashift.com/c++-faq/) - C++ frequently asked questions. +* [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. +* [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. +* [Meeting C++](http://meetingcpp.com/) +* [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. +* [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) +* [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. +* [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. +* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. + +## Weblogs +*Useful C or C++ related weblogs.* + +* [Coding For Speed](https://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time. +* [Eric Niebler](http://ericniebler.com/) +* [Sticky Bits](https://blog.feabhas.com/) +* [Paul Fultz II's Blog](http://pfultz2.com/blog/) +* [ridiculousfish](http://ridiculousfish.com/blog/posts/will-it-optimize.html) - Will It Optimize? +* [Embedded in Academia](http://blog.regehr.org/) +* [Simplify C++](https://arne-mertz.de/) +* [Fluent C++](https://www.fluentcpp.com/) +* [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) +* [Kenny Kerr](https://kennykerr.ca/articles/) +* [Sutter’s Mill](https://herbsutter.com/gotw/) +* [Vorbrodt's C++ Blog](https://vorbrodt.blog/) +* [foonathan::blog()](https://foonathan.net/index.html) + +## Other Awesome Projects +*Collection of useful codes, snippets, ...* + +* [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. +* [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. +* [30 Seconds of C++](https://github.com/Bhupesh-V/30-seconds-of-cpp) + +# Other Awesome Lists +*Other amazingly awesome lists* + +* [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. +* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. +* [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. +* [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. +* [Awesome C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. +* [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. +* [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 +* [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 +* [Awesome Modern C++](https://github.com/rigtorp/awesome-modern-cpp) - A collection of resources on modern C++. +* [AwesomePerfCpp](https://github.com/fenbf/AwesomePerfCpp) - A curated list of awesome C/C++ performance optimization resources. +* [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. +* [Inqlude](http://inqlude.org/) - The Qt library archive. +* [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. +* [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. +* [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. +* [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. +* [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. +* [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. + +# Jobs + +* This list is currently empty, but you can add to it by opening a merge request. + +# Sponsors + +* Please reach out if you are interested in sponsoring this repo. Your company's name and logo will be prominently displayed here. + +# Contributing +Please take a quick gander at the [contribution guidelines](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. +Thanks to all [contributors](https://github.com/fffaraz/awesome-cpp/graphs/contributors); you rock! + +#### *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!* From 44a6e6887b77789e3c5c9fd87c91e0236bd8da07 Mon Sep 17 00:00:00 2001 From: Sebastian Lipponer Date: Thu, 23 Feb 2023 12:13:04 +0100 Subject: [PATCH 105/374] Add cppexpert.online --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7bb0ef01e..3ead81fa2 100644 --- a/README.md +++ b/README.md @@ -1255,6 +1255,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. * [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. +* [cppexpert.online](https://cppexpert.online) - Learn the best C++ practices by improving code snippets with some problems or with bad practices. ## Weblogs *Useful C or C++ related weblogs.* From c232e9bee1ccb75c0060262468183a6b01e7e3f9 Mon Sep 17 00:00:00 2001 From: realvineeths Date: Sat, 25 Feb 2023 22:55:56 +0530 Subject: [PATCH 106/374] inipp added to readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ead81fa2..73517d617 100644 --- a/README.md +++ b/README.md @@ -314,7 +314,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] -* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] +* [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.io/libconfig/) * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] From ea7d1cbe94bfae8cc18bf81107db5a244f80244a Mon Sep 17 00:00:00 2001 From: Christian Veenhuis Date: Tue, 28 Feb 2023 21:00:52 +0000 Subject: [PATCH 107/374] Add cheat sheets of hackingcpp to Misc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73517d617..fcaffb873 100644 --- a/README.md +++ b/README.md @@ -994,6 +994,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) From 2c0519cbd541b2ac32f71dcc68f546e3a6c8c72e Mon Sep 17 00:00:00 2001 From: tocic Date: Sat, 4 Mar 2023 08:15:51 +0300 Subject: [PATCH 108/374] Add uni-algo i18n lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fcaffb873..2e40cbfce 100644 --- a/README.md +++ b/README.md @@ -577,6 +577,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] * [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] +* [uni-algo](https://github.com/uni-algo/uni-algo) - Unicode Algorithms Implementation for C/C++. [Unlicense or MIT] * [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] * [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] From 2a6a044a45e4f2a764d6d798b615bc160cb5976a Mon Sep 17 00:00:00 2001 From: Berscheid <1885260+pantor@users.noreply.github.com> Date: Wed, 8 Mar 2023 21:58:24 +0100 Subject: [PATCH 109/374] Add Ruckig --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e40cbfce..6c8911fad 100644 --- a/README.md +++ b/README.md @@ -866,6 +866,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] * [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] +* [Ruckig](https://github.com/pantor/ruckig) - Real-time motion generation for robots and machines. [MIT] [website](https://ruckig.com) * [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) ## Scientific Computing From b3df0ab7d1d93e28b7f73843bcebc2537a95e779 Mon Sep 17 00:00:00 2001 From: tocic Date: Tue, 14 Mar 2023 11:11:06 +0300 Subject: [PATCH 110/374] Add awesome-hpp list Closes https://github.com/fffaraz/awesome-cpp/issues/1053. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ca02d65ad..8fdd7facf 100644 --- a/README.md +++ b/README.md @@ -1302,6 +1302,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Inqlude](http://inqlude.org/) - The Qt library archive. * [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. * [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. +* [awesome-hpp](https://github.com/p-ranav/awesome-hpp) - A curated list of awesome header-only C++ libraries. * [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. * [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. * [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. From ab8a8c350cf29ae6261056643bb5332565267dee Mon Sep 17 00:00:00 2001 From: ehsanghaffarii Date: Wed, 15 Mar 2023 19:17:03 +0330 Subject: [PATCH 111/374] Added Aubio library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8fdd7facf..0a14e6e08 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* +* [Aubio](https://github.com/aubio/aubio) - A library for audio and music analysis.[GPL-3.0] * [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 analysis, feature extraction. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] From 77b8d8ba07b6ed4e6632b502a22880f1f62e1e92 Mon Sep 17 00:00:00 2001 From: ehsanghaffarii Date: Wed, 15 Mar 2023 19:19:28 +0330 Subject: [PATCH 112/374] Added Aubio library --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a14e6e08..803250d55 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* -* [Aubio](https://github.com/aubio/aubio) - A library for audio and music analysis.[GPL-3.0] +* [Aubio](https://github.com/aubio/aubio) - A library for audio and 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 analysis, feature extraction. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] From 16db80a2b25725be6e563502681fc2777f76496e Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Wed, 15 Mar 2023 13:19:10 -0400 Subject: [PATCH 113/374] Added DirectXMath library from Microsoft --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 803250d55..9ec5d3e3c 100644 --- a/README.md +++ b/README.md @@ -691,6 +691,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] * [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] +* [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTk](https://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] From 21554d5b050646076fd855f39ec336e07f7dae55 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Wed, 15 Mar 2023 13:21:55 -0400 Subject: [PATCH 114/374] Added Build Bench benchmark utility --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ec5d3e3c..f208a8ded 100644 --- a/README.md +++ b/README.md @@ -1247,6 +1247,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Useful C or C++ related websites.* * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. +* [Build Bench](https://build-bench.com/) - Compare C++ Builds * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. From 465412fba7ab74e22aa7e76227814b70223672ca Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Wed, 15 Mar 2023 13:22:46 -0400 Subject: [PATCH 115/374] Added Quick Bench benchmark utility --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f208a8ded..63ba89fc1 100644 --- a/README.md +++ b/README.md @@ -1248,6 +1248,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. * [Build Bench](https://build-bench.com/) - Compare C++ Builds +* [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. From e218b94e4fa688f047b20898ada20b88f963f356 Mon Sep 17 00:00:00 2001 From: Fabian Jung Date: Thu, 16 Mar 2023 18:53:55 +0100 Subject: [PATCH 116/374] Added tsmp library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 803250d55..021742daa 100644 --- a/README.md +++ b/README.md @@ -844,6 +844,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) +* [TSMP](https://github.com/fabian-jung/tsmp) - An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT] * [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [Boost] * [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] From 6568f7e3f4816b816e083d64f305626020ad66a4 Mon Sep 17 00:00:00 2001 From: tocic Date: Fri, 17 Mar 2023 09:09:17 +0300 Subject: [PATCH 117/374] Remove dead links --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index e1b753803..a8ce039f7 100644 --- a/README.md +++ b/README.md @@ -327,7 +327,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std 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) * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] -* [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] @@ -836,7 +835,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] -* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) +* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] * [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] @@ -1297,7 +1296,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. * [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. * [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. -* [Awesome C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. * [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. * [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 * [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 From 997a674779e009eed749e48015d3204381a83d22 Mon Sep 17 00:00:00 2001 From: tocic Date: Fri, 17 Mar 2023 09:52:51 +0300 Subject: [PATCH 118/374] Update Boost libraries * use the same format specified in CONTRIBUTING.md * use links to latest versions instead of fixed versions * switch from http to https * add the missing Boost license to Boost.GIL * use different links for Asio and Boost.Asio * update Signals to Signals2 --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index e1b753803..c78172320 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apache C++ Standard Library](http://stdcxx.apache.org/) - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2] * [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] -* [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) +* [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) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] @@ -143,7 +143,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Asynchronous Event Loop * [Asio](https://github.com/chriskohlhoff/asio/) - A 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](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Boost.Asio](https://github.com/boostorg/asio) - A 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] @@ -215,7 +215,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] - * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [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) * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [cli](https://github.com/daniele77/cli) - A 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] @@ -271,7 +271,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [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] * [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] @@ -299,7 +299,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). +* [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/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] @@ -414,7 +414,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] * [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] -* [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] +* [Boost.Test](https://github.com/boostorg/test) - Boost Test Library. [Boost] [website](https://boost.org/libs/test) * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] * [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [Boost] @@ -545,7 +545,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Image Processing -* [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. +* [Boost.GIL](https://github.com/boostorg/gil) - Generic Image Library. [Boost] [website](https://boost.org/libs/gil) * [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] @@ -585,7 +585,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] -* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) +* [Boost.Interprocess](https://github.com/boostorg/interprocess) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://boost.org/libs/interprocess) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) @@ -601,7 +601,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## JSON -* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Boost.PropertyTree](https://github.com/boostorg/property_tree) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] [website](https://boost.org/libs/property_tree) * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] * [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] @@ -640,7 +640,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Logging * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] -* [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] +* [Boost.Log](https://github.com/boostorg/log) - Designed to be very modular and extensible. [Boost] [website](https://boost.org/libs/log) * [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] * [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] @@ -685,7 +685,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) * [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] -* [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] +* [Boost.Multiprecision](https://github.com/boostorg/multiprecision) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] [website](https://boost.org/libs/multiprecision) * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] @@ -750,7 +750,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Networking * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] -* [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Boost.Asio](https://github.com/boostorg/asio) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] [website](https://boost.org/libs/asio) * [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] [website](https://www.boost.org/libs/beast) * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] @@ -885,7 +885,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Scripting * [AngelScript](https://www.angelcode.com/angelscript/) - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] -* [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] +* [Boost.Python](https://github.com/boostorg/python) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] [website](https://boost.org/libs/python) * [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] * [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) @@ -912,7 +912,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] * [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] -* [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] +* [Boost.Serialization](https://github.com/boostorg/serialization) - Boost Serialization Library. [Boost] [website](https://boost.org/libs/serialization) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] @@ -973,7 +973,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## XML *XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* -* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Boost.PropertyTree](https://github.com/boostorg/property_tree) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] [website](https://boost.org/libs/property_tree) * [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT] * [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT] * [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPL2] @@ -998,7 +998,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] -* [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] From da283f7d57fbc1f512097d4c289d43c0ea625271 Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 22 Mar 2023 12:08:50 +0300 Subject: [PATCH 119/374] Add documentation section with basic examples Closes https://github.com/fffaraz/awesome-cpp/issues/327. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index c81b13388..5a8312b53 100644 --- a/README.md +++ b/README.md @@ -447,6 +447,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] * [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. +## Documentation + +* [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) + ## Font *Libraries for parsing and manipulating font files.* From 4cdc9cd54f7a0fc049b0505dd7676864295e0ea6 Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 10:58:20 +0300 Subject: [PATCH 120/374] Add missing TOC entries --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 5a8312b53..fd4ebf891 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Database](#database) - [Data visualization](#data-visualization) - [Debug](#debug) + - [Documentation](#documentation) - [Font](#font) - [Game Engine](#game-engine) - [GUI](#gui) @@ -61,11 +62,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [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 Projects](#other-awesome-projects) - [Other Awesome Lists](#other-awesome-lists) - [Jobs](#jobs) - [Sponsors](#sponsors) From f407d77e148fc7447af83ead2b4577dba708e1a2 Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 13:02:10 +0300 Subject: [PATCH 121/374] Add hdoc documentation tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a8312b53..4ef53ce53 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Commercial] [website](https://hdoc.io) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## Font From eb604d9d7ab99a5aae7bb6833bcf2056979f7f2a Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 13:10:53 +0300 Subject: [PATCH 122/374] Add Natural Docs documentation generator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a8312b53..320f1df74 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Commercial] [website](https://www.naturaldocs.org) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## Font From 2248337af526d2df4aa1393c96813c16c42c12c8 Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 13:17:57 +0300 Subject: [PATCH 123/374] Add doxyrest documentation converter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a8312b53..c109611df 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [doxyrest](https://github.com/vovkos/doxyrest) - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT] * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## Font From 4eb2fc375e8637b4e6ad65384ebee24d88fc6d20 Mon Sep 17 00:00:00 2001 From: holmes1412 Date: Wed, 29 Mar 2023 18:00:35 +0800 Subject: [PATCH 124/374] Add a lightening icon to C++ Workflow --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..0961472fc 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] * [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) - C++ Parallel Computing and Asynchronous Networking Engine. [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 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. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] From a3fec7c9379d4a78f0e7941535c83738d877ea6b Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 14:17:57 +0300 Subject: [PATCH 125/374] Update outdated stdman entry Closes https://github.com/fffaraz/awesome-cpp/issues/888. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..c0071d694 100644 --- a/README.md +++ b/README.md @@ -1042,7 +1042,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] -* [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] +* [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] From 03a50f1cc53e79f7efe632d47ce93686edc2ff96 Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 13:46:10 +0300 Subject: [PATCH 126/374] Update outdated cppreference entry It's harder to become outdated now. Taken from https://en.cppreference.com/w/Cppreference:FAQ. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..338f54af9 100644 --- a/README.md +++ b/README.md @@ -1262,7 +1262,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Build Bench](https://build-bench.com/) - Compare C++ Builds * [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks * [CppCon](http://cppcon.org/) - The C++ Conference. -* [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. +* [C++ reference](https://cppreference.com) - A complete online reference for the C and C++ languages and standard libraries. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. * [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. * [C FAQ](http://c-faq.com/) - C frequently asked questions. From 9dba9c475fbbecacb1a0efb8aceb5db56813bfb6 Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 14:36:44 +0300 Subject: [PATCH 127/374] =?UTF-8?q?Rename=20PVS-Studio=E2=80=99s=20quiz=20?= =?UTF-8?q?to=20disambiguate=20it=20with=20C++=20Quiz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I believe that Knatten's C++ Quiz deserves the name more, because it's one of the top search results for "c++ quiz". --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..e96f6d12d 100644 --- a/README.md +++ b/README.md @@ -1270,7 +1270,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. * [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. * [Meeting C++](http://meetingcpp.com/) -* [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. +* [PVS-Studio’s challenge](https://quiz.pvs-studio.com) - PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects. * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. From 5a3e357a123e755a309774f7a38a0a667c480c5b Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 14:44:43 +0300 Subject: [PATCH 128/374] Add cppquiz.org to the Websites section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e96f6d12d..aab8b18e6 100644 --- a/README.md +++ b/README.md @@ -1268,6 +1268,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C FAQ](http://c-faq.com/) - C frequently asked questions. * [C++ FAQ](http://www.parashift.com/c++-faq/) - C++ frequently asked questions. * [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. +* [C++ Quiz](https://cppquiz.org) - A simple online quiz that you can use to test your knowledge of the C++ programming language. * [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. * [Meeting C++](http://meetingcpp.com/) * [PVS-Studio’s challenge](https://quiz.pvs-studio.com) - PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects. From dc0156e8e0e7d9c1a3b29a3863ecca6be0667ba2 Mon Sep 17 00:00:00 2001 From: Christian Veenhuis Date: Tue, 4 Apr 2023 18:31:25 +0000 Subject: [PATCH 129/374] Add Kaitai Struct to serialization section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a12ff4ae0..6ee71967c 100644 --- a/README.md +++ b/README.md @@ -930,6 +930,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] +* [Kaitai Struct](http://kaitai.io) - A declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) * [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) * [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] From 4f75176f649184fca475fcaea605cc13df1d0c4c Mon Sep 17 00:00:00 2001 From: SSARCandy Date: Wed, 12 Apr 2023 13:48:01 +0000 Subject: [PATCH 130/374] Add ini-cpp to the Configuration section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ee71967c..215f812ad 100644 --- a/README.md +++ b/README.md @@ -319,6 +319,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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.io/libconfig/) From d03e3b0a5121fc3fd1f6b8a2f9ede19977762efb Mon Sep 17 00:00:00 2001 From: Paul Ewing Date: Tue, 25 Apr 2023 10:49:38 -0600 Subject: [PATCH 131/374] Remove header-only from Catch2 description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 215f812ad..aeba03621 100644 --- a/README.md +++ b/README.md @@ -421,7 +421,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](https://github.com/boostorg/test) - Boost Test Library. [Boost] [website](https://boost.org/libs/test) * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [Boost] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native test framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] From a09d662f7cbcd68abc6bf9eb44d88a557d442b2c Mon Sep 17 00:00:00 2001 From: Paul Ewing Date: Wed, 26 Apr 2023 07:40:21 -0600 Subject: [PATCH 132/374] Add comma --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aeba03621..33d5839d2 100644 --- a/README.md +++ b/README.md @@ -421,7 +421,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](https://github.com/boostorg/test) - Boost Test Library. [Boost] [website](https://boost.org/libs/test) * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native test framework for unit-tests, TDD and BDD. [Boost] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] From d648807f03d352785f0eecfb8ec4b97ee9e48b5c Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 11 May 2023 09:08:05 +0300 Subject: [PATCH 133/374] Reformat & update zapped library entries --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 871032dd5..96068a27e 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality 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 to C++03 and later. [MIT] -* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) +* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world 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] @@ -114,7 +114,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] +* [Qt](https://github.com/qt) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] [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, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] * [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/) @@ -258,7 +258,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] +* [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] @@ -545,7 +545,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] -* [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] +* [Ogre 3D](https://github.com/OGRECave) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] [website](https://www.ogre3d.org) * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] * [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] * [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] @@ -574,7 +574,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] * [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] -* [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] +* [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] * [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] @@ -622,7 +622,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] * [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] * [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] -* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] +* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] [website](https://json.nlohmann.me) * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] * [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] @@ -637,12 +637,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] * [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] * [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] -* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] +* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser. [BSD-2-Clause] * [parson](https://github.com/kgabis/parson) - Parson is a lighweight json library written in C. [MIT] * [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] * [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] * [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] -* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] +* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] [website](https://rapidjson.org) * [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] * [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] @@ -756,7 +756,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] * [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] * [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) -* [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] +* [SDL](https://github.com/libsdl-org/SDL) :zap: - Simple DirectMedia Layer. [zlib] [website](https://libsdl.org) * [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) * [TagLib](https://github.com/taglib/taglib) - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/) @@ -1019,7 +1019,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] -* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] +* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] @@ -1121,9 +1121,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] * [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. * [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. -* [Microsoft Visual Studio Code](https://code.visualstudio.com/) :zap: - An open-source IDE from Microsoft. [MIT] +* [Microsoft Visual Studio Code](https://github.com/microsoft/vscode) :zap: - An open-source IDE from Microsoft. [MIT] [website](https://code.visualstudio.com) * [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. -* [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. +* [Qt Creator](https://github.com/qt-creator/qt-creator) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions] [website](https://www.qt.io/product/development-tools) * [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. * [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. * [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. From b6c9618b588f76737437f532afc22507cafec8f2 Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 11 May 2023 10:06:34 +0300 Subject: [PATCH 134/374] Add missing periods after descriptions --- README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 871032dd5..3910fe18a 100644 --- a/README.md +++ b/README.md @@ -133,11 +133,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization 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 with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) +* [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more. [website](https://mxnet.apache.org) * [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) * [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible 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] +* [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs. [Apache] * [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] @@ -183,7 +183,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 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 library for maximum efficiency [BSD] +* [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 library for maximum efficiency. [BSD] ## Biology *Bioinformatics, Genomics, Biotech* @@ -237,12 +237,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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. [BSD] - * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT] + * [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] * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] - * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface [MIT] + * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface. [MIT] ## Compression *Compression and Archiving Libraries* @@ -304,7 +304,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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/dataflow concurrency via C++ iostream-like operators [Apache2] +* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, 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] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] @@ -397,7 +397,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ODB](https://www.codesynthesis.com/products/odb/) - An open-source, cross-platform, and cross-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] * [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] +* [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 abstraction layer for C++. [Boost] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational 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] @@ -449,7 +449,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] -* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] +* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework. [Boost] * [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. ## Documentation @@ -466,7 +466,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) * [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] * [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] -* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] +* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine. [Old MIT] ## Game Engine @@ -694,7 +694,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Math -* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] +* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing. [GPL2] * [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) * [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] @@ -704,7 +704,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] * [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] -* [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps +* [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps. * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTk](https://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] @@ -714,7 +714,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] -* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] +* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] * [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] @@ -878,7 +878,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles. * [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] -* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) +* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing. [BSD] [website](http://www.pointclouds.org/) * [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] * [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] @@ -1002,8 +1002,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Yaml * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] -* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] -* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] +* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++. [MIT] +* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML. [MIT] ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* @@ -1020,7 +1020,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] -* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] +* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] @@ -1170,7 +1170,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. -* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations +* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations. * [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. ## Coding Style Tools @@ -1262,8 +1262,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Useful C or C++ related websites.* * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. -* [Build Bench](https://build-bench.com/) - Compare C++ Builds -* [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks +* [Build Bench](https://build-bench.com/) - Compare C++ Builds. +* [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks. * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](https://cppreference.com) - A complete online reference for the C and C++ languages and standard libraries. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. From 30ea484a01a486d2034a5b060d7ab1ac570fe57b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 17 May 2023 21:32:10 +0800 Subject: [PATCH 135/374] JSON: Add UltraJSON --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 871032dd5..c0fb54676 100644 --- a/README.md +++ b/README.md @@ -647,6 +647,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] +* [UltraJSON](https://github.com/ultrajson/ultrajson) - Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause] * [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] * [yyjson](https://github.com/ibireme/yyjson) - A high performance JSON library written in ANSI C. [MIT] From 8d7df6078114263d1a12eca3d3d3064d89b56e45 Mon Sep 17 00:00:00 2001 From: BLUELOVETH Date: Tue, 6 Jun 2023 06:29:18 +0800 Subject: [PATCH 136/374] Add pocketpy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0c6fe9612..1fef4f0bb 100644 --- a/README.md +++ b/README.md @@ -914,6 +914,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) +* [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] From 51f364cb38b5abb9eef1e5d281ead824db3bf186 Mon Sep 17 00:00:00 2001 From: Lawrence Murray Date: Sat, 10 Jun 2023 15:57:33 -0700 Subject: [PATCH 137/374] Add Doxide. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fef4f0bb..3e3d73581 100644 --- a/README.md +++ b/README.md @@ -454,6 +454,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation +* [Doxide](https://github.com/lawmurray/doxide) - Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] [website](https://doxide.org) * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) * [doxyrest](https://github.com/vovkos/doxyrest) - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT] * [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Commercial] [website](https://hdoc.io) From c07575c7ea45df77ded79ae3c6926af5a0c446cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matheus=20C=2E=20Fran=C3=A7a?= Date: Wed, 14 Jun 2023 08:56:39 -0300 Subject: [PATCH 138/374] tigerbeetle c++ client --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e3d73581..c355f5116 100644 --- a/README.md +++ b/README.md @@ -407,6 +407,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [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 designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] ## Data visualization *Data visiualization Libraries* From 9f3a85840a3066bc2ae9079a540abd98b1def188 Mon Sep 17 00:00:00 2001 From: bosmatt <107058910+bosmatt@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:43:02 +0300 Subject: [PATCH 139/374] Add Speedb Add Speedb to the databases section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e3d73581..8e291dad2 100644 --- a/README.md +++ b/README.md @@ -399,6 +399,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 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] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational 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] From 88f71e5c08594d4f4b01fb011c97021cd513ca26 Mon Sep 17 00:00:00 2001 From: PatriotRossii Date: Mon, 26 Jun 2023 21:04:06 +0300 Subject: [PATCH 140/374] Add eoan-ermine/cpp-conferences repository --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e291dad2..263ae8c4b 100644 --- a/README.md +++ b/README.md @@ -1243,6 +1243,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Talks +* [C++ Conferences](https://github.com/eoan-ermine/cpp-conferences) - Catalog of C++ conferences * [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. * [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo. * [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) From facfdf3fc22d13931d87e537d80c664ac20cdee4 Mon Sep 17 00:00:00 2001 From: Xie Han <63350856@qq.com> Date: Sun, 2 Jul 2023 19:58:07 +0800 Subject: [PATCH 141/374] Add SRPC --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 263ae8c4b..57551c41d 100644 --- a/README.md +++ b/README.md @@ -611,6 +611,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) * [rpclib](https://github.com/rpclib/rpclib) - A modern C++ msgpack-RPC server and client library. [MIT] * [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] +* [SRPC](https://github.com/sogou/srpc) - A lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2] * [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) * [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] From ce12a62929f778db2e1aadc5a1dd906f9a7745b9 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 6 Jul 2023 22:59:16 +0800 Subject: [PATCH 142/374] Add DSP libraries --- README.md | 11 +++++++++++ todo.txt | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 57551c41d..13e2975f2 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Data visualization](#data-visualization) - [Debug](#debug) - [Documentation](#documentation) + - [DSP](#dsp) - [Font](#font) - [Game Engine](#game-engine) - [GUI](#gui) @@ -462,6 +463,16 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Commercial] [website](https://www.naturaldocs.org) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) +## DSP +*Digital signal processing.* + +* [DSPFilters](https://github.com/vinniefalco/DSPFilters) - A collection of useful C++ classes for digital signal processing. [MIT] +* [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] +* [iir1](https://github.com/berndporr/iir1) - IIR Realtime C++ filter library. [MIT] +* [kissfft](https://github.com/mborgerding/kissfft) - A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause] +* [pocketfft](https://github.com/mreineck/pocketfft) - FFT implementation based on FFTPack, but with several improvements. [BSD-3-Clause] +* [wavelib](https://github.com/rafat/wavelib) - C implementation of 1D and 2D wavelet transforms. [BSD-3-Clause] + ## Font *Libraries for parsing and manipulating font files.* diff --git a/todo.txt b/todo.txt index c2ae55c89..3049bd2d8 100644 --- a/todo.txt +++ b/todo.txt @@ -117,7 +117,6 @@ https://github.com/mozilla/mozjpeg https://github.com/tinfoilboy/Explodable https://github.com/shaih/HElib https://github.com/jlnr/gosu -https://github.com/vinniefalco/DSPFilters https://github.com/m-ou-se/moggle https://github.com/Hawstein/cracking-the-coding-interview From f6b8103c4477c9984479bd7f48760a4c89eebffc Mon Sep 17 00:00:00 2001 From: Chanchan Date: Mon, 10 Jul 2023 21:46:31 +0800 Subject: [PATCH 143/374] Add c++ wfrest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 13e2975f2..d26d5440b 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [C++ wfrest](https://github.com/wfrest/wfrest) :zap: - C++ Web Framework REST API. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A 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. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] From 12cee03c4cd005aa93405fe369f83525c6e2008a Mon Sep 17 00:00:00 2001 From: Chanchan Date: Thu, 13 Jul 2023 09:56:39 +0800 Subject: [PATCH 144/374] Add wfrest --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d26d5440b..4b58df32e 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] -* [C++ wfrest](https://github.com/wfrest/wfrest) :zap: - C++ Web Framework REST API. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A 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. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] @@ -990,6 +989,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) * [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) * [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] +* [C++ wfrest](https://github.com/wfrest/wfrest) - C++ Web Framework REST API. [Apache2] * [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] From d208a71ad4f1b313cc7cb9fa1135d82a8c549fdb Mon Sep 17 00:00:00 2001 From: yahya-mohammed07 Date: Fri, 4 Aug 2023 09:43:58 +0300 Subject: [PATCH 145/374] add ezEengine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b58df32e..ed657cedd 100644 --- a/README.md +++ b/README.md @@ -508,6 +508,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) * [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] +* [ezEngine](https://github.com/ezEngine/ezEngine) - Is a free, open-source game engine written in C++. Its philosophy is to be modular and flexible, such that it can be adapted to many different use cases. [MIT] [website](https://ezengine.net/) ## GUI *Graphic User Interface* From fa472778c5683823d141218eb599cd0667a1fd34 Mon Sep 17 00:00:00 2001 From: Brad Bramble Date: Sun, 6 Aug 2023 09:06:59 -0400 Subject: [PATCH 146/374] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b58df32e..f52fd21f3 100644 --- a/README.md +++ b/README.md @@ -502,6 +502,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) +* [quakeforge](https://github.com/quakeforge/quakeforge) - Actively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0] * [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) * [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) * [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) From 608685ce4cd47e379b1be1b56497d47f2c069c13 Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sun, 6 Aug 2023 19:18:19 +0200 Subject: [PATCH 147/374] add Graaf library to Math section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b58df32e..383c0ff03 100644 --- a/README.md +++ b/README.md @@ -727,6 +727,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] +* [Graaf](https://github.com/bobluppes/graaf) - A general-purpose lightweight C++20 graph library with support for directed/undirected graph structures and algorithms. [MIT] [website](https://bobluppes.github.io/graaf/) * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] * [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] From 535c849a5fa778dfe8d3ca908874a604d847e19c Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sun, 6 Aug 2023 19:23:54 +0200 Subject: [PATCH 148/374] created new Graph section --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 383c0ff03..49b9edf1a 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [DSP](#dsp) - [Font](#font) - [Game Engine](#game-engine) + - [Graph](#graph) - [GUI](#gui) - [Graphics](#graphics) - [Image Processing](#image-processing) @@ -509,6 +510,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] +## Graph + +* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] +* [Graaf](https://github.com/bobluppes/graaf) - A general-purpose lightweight C++20 graph library. [MIT] [website](https://bobluppes.github.io/graaf/) + ## GUI *Graphic User Interface* @@ -718,7 +724,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] -* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] * [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps. * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] @@ -727,7 +732,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] -* [Graaf](https://github.com/bobluppes/graaf) - A general-purpose lightweight C++20 graph library with support for directed/undirected graph structures and algorithms. [MIT] [website](https://bobluppes.github.io/graaf/) * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] * [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] From 87b719feea8233579377a36b8f7146b55f857a00 Mon Sep 17 00:00:00 2001 From: germinolegrand Date: Sun, 20 Aug 2023 18:55:08 +0200 Subject: [PATCH 149/374] Data visualization typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5988c8b0..fb4a82b9f 100644 --- a/README.md +++ b/README.md @@ -412,7 +412,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] ## Data visualization -*Data visiualization Libraries* +*Data visualization Libraries* * [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) From 9d247bd850d43646a0255640d56e34ebe4184c69 Mon Sep 17 00:00:00 2001 From: Tomer Shalev Date: Mon, 21 Aug 2023 12:38:45 -0700 Subject: [PATCH 150/374] Add https://micro-gl.github.io/docs/microgl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f5988c8b0..d05930556 100644 --- a/README.md +++ b/README.md @@ -565,6 +565,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) +* [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] * [Ogre 3D](https://github.com/OGRECave) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] [website](https://www.ogre3d.org) * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] From 9128749704cf6aed9d2bd3c868e5d5247e4455e0 Mon Sep 17 00:00:00 2001 From: Sheena Artrip Date: Thu, 14 Sep 2023 23:13:20 -0700 Subject: [PATCH 151/374] remove dead bsf framework that contains a malware'd domain --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 3322bc65b..5596207a2 100644 --- a/README.md +++ b/README.md @@ -550,7 +550,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) * [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] * [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) -* [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] * [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] From 5a689e7909eb1e344fc1e7e4bd1963c6bbef5488 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 15 Sep 2023 20:14:26 +0900 Subject: [PATCH 152/374] Add ssp (csv parser library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5596207a2..dfd64cd06 100644 --- a/README.md +++ b/README.md @@ -378,6 +378,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] +* [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 C++17 CSV parser with optional type-casting and statistics. [MIT] ## Database From 1048b7a3df80b8320f9e91ace50e5027b4f98999 Mon Sep 17 00:00:00 2001 From: Lars Windolf Date: Fri, 15 Sep 2023 21:42:38 +0200 Subject: [PATCH 153/374] Needs new link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5596207a2..c197b63ef 100644 --- a/README.md +++ b/README.md @@ -1129,7 +1129,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Integrated Development Environment *List of C or C++ nominal IDEs.* -* [Anjuta DevStudio](http://anjuta.org/) - The GNOME IDE. [GPL3] +* [Anjuta DevStudio](https://sourceforge.net/projects/anjuta/) - The GNOME IDE. [GPL3] * [AppCode](http://www.jetbrains.com/objc/) - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform. * [Cevelop](https://www.cevelop.com) - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins. * [CLion](http://www.jetbrains.com/clion/) - Cross-platform C and C++ IDE from JetBrains. From 03b8d7acc0a1c673d1944adbde8a6bbd2c4b4296 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Sep 2023 21:46:26 +0900 Subject: [PATCH 154/374] Add commata (csv parser library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 221722b73..bfd41c20b 100644 --- a/README.md +++ b/README.md @@ -374,6 +374,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## 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] From 87248be00dc5a9f149e704fc23c1f79e7c508ec1 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Sep 2023 09:11:40 +0900 Subject: [PATCH 155/374] add DAW JSON Link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bfd41c20b..51be99ac5 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.PropertyTree](https://github.com/boostorg/property_tree) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] [website](https://boost.org/libs/property_tree) * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] +* [DAW JSON Link](https://github.com/beached/daw_json_link) - Fast, convenient JSON serialization and parsing in C++. [BSL-1.0] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] * [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] * [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] From 9978e1200b82b2807bf64d7b664fd35bf59405b9 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Sep 2023 09:38:26 +0900 Subject: [PATCH 156/374] add Jsonifier (JSON reader/writer) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a64ff0019..112fc7d54 100644 --- a/README.md +++ b/README.md @@ -655,6 +655,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] * [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] +* [Jsonifier](https://github.com/RealTimeChris/Jsonifier) - A few classes for parsing and serializing objects from/into JSON - very rapidly. [MIT] * [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] From 3980c125b46660cd0c60727adfd215ef00ae5a12 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 28 Sep 2023 17:38:54 +0900 Subject: [PATCH 157/374] add DuckDB (embedded OLAP database) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 112fc7d54..6e80cd426 100644 --- a/README.md +++ b/README.md @@ -386,6 +386,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Database Libraries, SQL Servers, ODBC Drivers, and Tools* * [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] +* [DuckDB](https://duckdb.org/) - in-process SQL OLAP Database Management System. [MIT] * [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. [BSD] * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] From f4eda88c2e8aaaa32d6846ca0fe6027780c0a3bb Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 30 Sep 2023 21:57:32 +0000 Subject: [PATCH 158/374] deleted README.md.bak --- README.md.bak | 1317 ------------------------------------------------- 1 file changed, 1317 deletions(-) delete mode 100644 README.md.bak diff --git a/README.md.bak b/README.md.bak deleted file mode 100644 index bddfb9381..000000000 --- a/README.md.bak +++ /dev/null @@ -1,1317 +0,0 @@ -# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](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-cpp) - - [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) - - [Font](#font) - - [Game Engine](#game-engine) - - [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) - - [PDF](#pdf) - - [Physics](#physics) - - [Reflection](#reflection) - - [Regular Expression](#regular-expression) - - [Robotics](#robotics) - - [Scientific Computing](#scientific-computing) - - [Scripting](#scripting) - - [Serialization](#serialization) - - [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 Style](#coding-style) - - [Podcasts](#podcasts) - - [Talks](#talks) - - [Videos](#videos) - - [Websites](#websites) -- [Other Awesome Lists](#other-awesome-lists) -- [Jobs](#jobs) -- [Sponsors](#sponsors) -- [Contributing](#contributing) - -## 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 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 Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ 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, containers, iterators, and other fundamental components. [retired] [Apache2] -* [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] -* [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] -* [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) -* [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] -* [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] -* [CGraph](https://github.com/ChunelFeng/CGraph) - A 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. [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 to C++03 and later. [MIT] -* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world 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 Library for C++. Write concise and readable C++ code. [MIT] -* [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] -* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [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 systems in C. [Apache2] -* [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video 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 C library providing data structures, 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 in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] -* [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] -* [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] -* [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/) -* [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 rapid application development framework. [BSD] -* [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] -* [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] -* [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 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 with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) -* [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) -* [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible 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] -* [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) -* [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] -* [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] -* [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid 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 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](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [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 event loop library. [BSD] -* [libuv](https://github.com/libuv/libuv) - 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] - -## Audio -*Audio, Sound, Music, Digitized Voice Libraries* - -* [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 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/Commercial] -* [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 real-time audio input and output. [MIT] [website](http://libsound.io/) -* [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] -* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] -* [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, 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 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 library for maximum efficiency [BSD] - -## Biology -*Bioinformatics, Genomics, Biotech* - -* [BioC++](http://biocpp.sourceforge.net/) - C++ Computational Libraries for 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.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] -* [SeqAn](http://www.seqan.de/) - 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] - -## 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 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/) -* [ORCA](https://en.wikipedia.org/wiki/ORCA_(quantum_chemistry_program)) - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] [website](https://orcaforum.kofo.mpg.de/) -* [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] - * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] - * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] - * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] - * [cli](https://github.com/daniele77/cli) - A 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] - * [jarro2783/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] - * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] - * [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, 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. [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] - * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] - * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] - * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface [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 DLLs. [GPLv2] -* [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] -* [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. -* [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] -* [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](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] -* [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] -* [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] -* [Snappy](https://google.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/Dead2/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] -* [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] - -## 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] -* [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] -* [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] -* [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] -* [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] -* [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.io/swift-corelibs-libdispatch/) -* [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 task scheduler written in C++ 11. [Apache-2.0] -* [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a 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] -* [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::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). -* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, 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] -* [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] -* [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. - -## 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] -* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] -* [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) -* [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] -* [simpleini](https://github.com/brofield/simpleini) - 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.io/tomlplusplus/) - -## Containers - -* [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] -* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std 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) -* [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] -* [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] -* [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] -* [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] -* [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] -* [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 space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) -* [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] - -## 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 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 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. -* [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] -* [Tink](https://github.com/google/tink) - A multi-language, 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] -* [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data 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] - -## CSV -*Libraries for parsing Comma Separated Value (CSV) files* - -* [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] -* [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] -* [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] - -## Database -*Database Libraries, SQL Servers, ODBC Drivers, and Tools* - -* [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] -* [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. [BSD] -* [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] -* [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] -* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for 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 library. [PublicDomain] -* [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] -* [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for 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'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, and cross-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] -* [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 abstraction layer for C++. [BSL-1.0] -* [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational 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] -* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) -* [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) -* [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] - -## Data visualization -*Data visiualization Libraries* - -* [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) - -## Debug -*Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* - -* [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] -* [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] -* [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] -* [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) -* [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] -* [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] -* [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] -* [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] -* [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] -* [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] -* [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] -* [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] -* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] -* [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. -* [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] -* [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] -* [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] -* [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] -* [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] -* [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] -* [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] -* [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] -* [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. -* [nanobench](https://github.com/martinus/nanobench) - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] [website](https://nanobench.ankerl.com) -* [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) -* [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] -* [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] -* [snitch](https://github.com/cschreib/snitch) - Lightweight C++20 testing framework. [Boost] -* [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) -* [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] -* [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] -* [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] -* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] -* [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. - -## Font -*Libraries for parsing and manipulating font files.* - -* [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) -* [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] -* [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] -* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] - -## Game Engine - -* [Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT] -* [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] -* [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] -* [Corange](https://github.com/orangeduck/Corange) - A game engine written in pure C, SDL and OpenGL. [BSD] -* [crown](https://github.com/dbartolini/crown) - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT] -* [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] -* [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] -* [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] -* [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] -* [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] -* [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] -* [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) -* [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) -* [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) -* [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] -* [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] -* [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) -* [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] -* [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) -* [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) -* [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) -* [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) -* [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) -* [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. -* [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] - -## GUI -*Graphic User Interface* - -* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) -* [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. -* [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] -* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] -* [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] -* [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] -* [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] -* [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] -* [implot](https://github.com/epezent/implot) - Immediate Mode Plotting widgets for imgui. [MIT] -* [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] -* [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] -* [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] -* [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] -* [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] -* [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] -* [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] -* [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] -* [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] -* [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] -* [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] -* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) -* [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] -* [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] -* [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] - -## Graphics - -* [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) -* [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] -* [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) -* [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] -* [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] -* [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] -* [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] -* [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] -* [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] -* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) -* [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) -* [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] -* [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) -* [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] -* [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] -* [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] -* [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) -* [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] -* [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] -* [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] -* [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] -* [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] -* [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] -* [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] -* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) -* [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] -* [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] -* [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] - -## Image Processing - -* [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. -* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] -* [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] -* [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] -* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) -* [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] -* [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) -* [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. -* [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. -* [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] -* [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) -* [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] -* [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) -* [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) -* [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] -* [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] -* [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] -* [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] -* [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] -* [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] -* [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] -* [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] -* [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] -* [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] -* [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] -* [VIGRA](https://github.com/ukoethe/vigra) - A generic C++ computer vision library for image analysis. [MIT X11] -* [VTK](http://www.vtk.org/) - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD] - -## Internationalization - -* [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] -* [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] -* [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] -* [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] -* [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] - -## Inter-process communication - -* [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] -* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) -* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) -* [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) -* [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) -* [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] -* [iceoryx](https://github.com/eclipse-iceoryx/iceoryx) - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] [website](https://iceoryx.io/) -* [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] -* [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) -* [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) -* [rpclib](https://github.com/rpclib/rpclib) - A modern C++ msgpack-RPC server and client library. [MIT] -* [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] -* [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) -* [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] - -## JSON - -* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] -* [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] -* [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] -* [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] -* [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] -* [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] -* [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] -* [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] -* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] -* [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] -* [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] -* [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] -* [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] -* [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] -* [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] -* [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] -* [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] -* [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] -* [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] -* [json-voorhees](https://github.com/tgockel/json-voorhees) - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2] -* [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] -* [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] -* [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] -* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] -* [parson](https://github.com/kgabis/parson) - Parson is a lighweight json library written in C. [MIT] -* [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] -* [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] -* [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] -* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] -* [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] -* [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] -* [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] -* [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] -* [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] -* [yyjson](https://github.com/ibireme/yyjson) - A high performance JSON library written in ANSI C. [MIT] - -## Logging - -* [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] -* [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] -* [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] -* [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] -* [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] -* [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. -* [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] -* [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] -* [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] -* [plog](https://github.com/SergiusTheBest/plog) - Portable and simple log for C++ in less than 1000 lines of code. [MPL2] -* [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] -* [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. -* [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] -* [P7Baical](http://baical.net/p7.html) - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL] -* [Quill](https://github.com/odygrd/quill) - Asynchronous cross platform low latency logging library. [MIT] - -## Machine Learning - -* [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] -* [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] -* [darknet](https://github.com/pjreddie/darknet) - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/) -* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) -* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) -* [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) -* [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) -* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] -* [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) -* [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] -* [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) -* [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) -* [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] -* [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) -* [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] -* [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] -* [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] -* [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] -* [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) -* [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] -* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] - -## Math - -* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] -* [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) -* [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) -* [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] -* [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] -* [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] -* [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) -* [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] -* [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] -* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] -* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) -* [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] -* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] -* [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) -* [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) -* [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] -* [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] -* [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) -* [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] -* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] -* [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] -* [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] -* [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] -* [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) -* [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] -* [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) -* [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) -* [PCG-rand](https://www.pcg-random.org/) - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache] -* [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) -* [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) -* [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] -* [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] -* [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] -* [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). -* [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] -* [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) -* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] - -## Memory Allocation - -* [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) -* [C Smart Pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] -* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) -* [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) -* [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] -* [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] -* [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] -* [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] -* [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] -* [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) -* [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] - -## Multimedia - -* [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] -* [libass](https://github.com/libass/libass) - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] -* [libav](https://github.com/libav/libav) - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/) -* [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] -* [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] -* [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] -* [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) -* [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] -* [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) -* [TagLib](https://github.com/taglib/taglib) - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/) - -## Networking - -* [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] -* [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](https://www.boost.org/libs/beast) -* [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] -* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] -* [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] -* [Restinio](https://github.com/Stiffstream/restinio) - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD] -* [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] -* [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS server library. [MIT] -* [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] -* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] -* [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] -* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org) -* [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] -* [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) -* [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] -* [ENet](https://github.com/lsalzman/enet) - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/) -* [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] -* [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] -* [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] -* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT] -* [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] -* [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] -* [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] -* [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) -* [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] -* [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] -* [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) -* [Lithium](https://matt-42.github.io/lithium/) - Build high performance C++ HTTP servers without being a C++ expert. [MIT] -* [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] -* [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] -* [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) -* [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] -* [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] -* [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) -* [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] -* [PF_RING™](https://github.com/ntop/PF_RING) - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/) -* [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] -* [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) -* [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] -* [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] -* [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] -* [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] -* [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] -* [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] -* [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] -* [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] -* [WAFer](https://github.com/riolet/WAFer) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] -* [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] -* [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] -* [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] -* [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] -* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL] [website](http://zeromq.org/) - -## PDF -*Libraries for parsing and manipulating PDF documents.* - -* [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] -* [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] -* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] -* [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] -* [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] -* [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] -* [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] - -## Physics -*Dynamics simulation engines* - -* [Box2D](https://github.com/erincatto/Box2D) - A 2D physics engine for games. [BSD-like] -* [Bullet](https://github.com/bulletphysics/bullet3) - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org) -* [Chipmunk](https://github.com/slembcke/Chipmunk2D) - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/) -* [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] -* [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] -* [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] -* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) -* [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] -* [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] -* [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) -* [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] -* [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] -* [SOFA](https://github.com/sofa-framework/sofa) - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] [website](https://www.sofa-framework.org) - -## Reflection - -* [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] -* [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) -* [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] -* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) -* [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] -* [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] -* [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] -* [magic_get](https://github.com/apolukhin/magic_get) - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] -* [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] -* [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] -* [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] -* [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) -* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] -* [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] - -## Regular Expression - -* [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] -* [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] -* [Hyperscan](https://github.com/intel/hyperscan) - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD] -* [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] -* [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] -* [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] -* [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] -* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] -* [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] - -## Robotics - -* [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles. -* [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] -* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) -* [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] -* [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) -* [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] -* [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) - -## Scientific Computing - -* [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] -* [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] -* [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] -* [preCICE](https://github.com/precice/precice) - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/) -* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) -* [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] -* [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) - -## Scripting - -* [AngelScript](https://www.angelcode.com/angelscript/) - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] -* [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] -* [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] -* [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] -* [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) -* [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] -* [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) -* [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] -* [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) -* [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] -* [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) -* [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] -* [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] -* [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] -* [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] -* [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) -* [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] -* [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] -* [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] -* [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) -* [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] -* [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] -* [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] - -## Serialization - -* [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] -* [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] -* [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] -* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) -* [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] -* [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] -* [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] -* [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] -* [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] -* [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) -* [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) -* [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] -* [protobuf](https://github.com/protocolbuffers/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] -* [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] -* [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] -* [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] -* [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] -* [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). - -## Sorting - -* [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] -* [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] -* [Indiesort](https://github.com/mattreecebentley/plf_indiesort) - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm) - -## Video - -* [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD] -* [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2] -* [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) -* [x265](https://bitbucket.org/multicoreware/x265_git/src) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) -* [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) -* [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] -* [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] - -## Virtual Machines - -* [CarpVM](https://github.com/tekknolagi/carp) - "interesting" VM in C. Let's see how this goes. [GPLv3] -* [MicroPython](https://github.com/micropython/micropython) - Aims to put an implementation of Python 3.x on a microcontroller. [MIT] -* [TinyVM](https://github.com/jakogut/tinyvm) - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT] - -## Web Application Framework - -* [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] -* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] -* [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] -* [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) -* [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) -* [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] -* [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) -* [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] -* [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] -* [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] -* [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) -* [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] -* [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] -* [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) -* [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) -* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] - -## XML -*XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* - -* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] -* [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT] -* [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT] -* [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPL2] -* [Mini-XML](https://github.com/michaelrsweet/mxml) - A small XML parsing library written in ANSI C. [LGPL2 with exceptions] -* [PugiXML](http://pugixml.org/) - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT] -* [RapidXml](http://rapidxml.sourceforge.net/) - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost] -* [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] -* [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] -* [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] -* [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] - -## Yaml - -* [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] -* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] -* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] - -## Miscellaneous -*Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* - -* [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] -* [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] -* [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] -* [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] -* [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] -* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) -* [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] -* [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) -* [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] -* [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] -* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] -* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] -* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] -* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] -* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] -* [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] -* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. -* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] -* [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] -* [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] -* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) -* [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] -* [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] -* [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] -* [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] -* [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] -* [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] -* [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] -* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] -* [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] -* [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] -* [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] -* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] -* [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] -* [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] -* [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] -* [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] -* [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] -* [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] -* [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] -* [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. -* [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] -* [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] -* [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] -* [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] -* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] -* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] - -# Software -*Software for creating a development environment.* - -## Compiler -*List of C or C++ compilers* - -* [8cc](https://github.com/rui314/8cc) - A Small C Compiler. -* [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] -* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA] -* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3] -* [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. -* [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. -* [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. -* [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft. -* [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] -* [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] -* [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] - -## Online Compiler -*List of online C or C++ compilers* - -* [codechef](https://www.codechef.com/ide) - A simple online compiler CodeChef. -* [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. -* [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers. -* [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. -* [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. -* [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. -* [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers. -* [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. -* [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. -* [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. -* [Wandbox](https://wandbox.org) - An online Clang/GCC compiler with Boost available. -* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. -* [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. - -## Debugger -*List of C or C++ debuggers* - -* [Comparison of debuggers](https://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. -* [GDB](https://www.gnu.org/software/gdb/) - GNU Debugger. -* [LLDB](http://lldb.llvm.org/) - The LLDB Debugger. -* [Metashell](https://metashell.readthedocs.org) - An interactive template metaprogramming shell which includes the MDB metadebugger. -* [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling. -* [x64dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. - -## Integrated Development Environment -*List of C or C++ nominal IDEs.* - -* [Anjuta DevStudio](http://anjuta.org/) - The GNOME IDE. [GPL3] -* [AppCode](http://www.jetbrains.com/objc/) - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform. -* [Cevelop](https://www.cevelop.com) - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins. -* [CLion](http://www.jetbrains.com/clion/) - Cross-platform C and C++ IDE from JetBrains. -* [Code::Blocks](http://www.codeblocks.org/) - A free C, C++ and Fortran IDE. -* [CodeLite](http://codelite.org/) - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins] -* [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] -* [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. -* [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. -* [Embarcadero Dev-CPP](https://github.com/Embarcadero/Dev-Cpp) - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] [website](https://www.embarcadero.com/free-tools/dev-cpp) -* [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] -* [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. -* [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. -* [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] -* [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. -* [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. -* [Microsoft Visual Studio Code](https://code.visualstudio.com/) :zap: - An open-source IDE from Microsoft. [MIT] -* [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. -* [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. -* [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. -* [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. -* [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. -* [cquery](https://github.com/cquery-project/cquery/) - A C++ code completion engine for vscode, emacs, vim, etc. - -## Build Systems - -* [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] -* [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] -* [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] -* [build2](https://build2.org/) - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT] -* [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] -* [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] -* [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) -* [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] -* [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. -* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. -* [Hunter](https://www.github.com/ruslo/hunter) - CMake driven cross-platform package manager for C++. [BSD-2] -* [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. -* [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. -* [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. -* [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. -* [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] -* [SW](https://software-network.org/) - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3] -* [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. -* [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. -* [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. -* [Vcpkg](https://github.com/microsoft/vcpkg) - C++ library manager for Windows, Linux, and MacOS. [MIT] -* [waf](https://gitlab.com/ita1024/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) -* [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] - -## Static Code Analysis -*List of tools for improving quality and reducing defects by code analysis* - -* [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) -* [CppDepend](https://www.cppdepend.com/) - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code. -* [cpplint](https://github.com/cpplint/cpplint) - A C++ style checker following Google's C++ style guide. -* [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. -* [cpp-dependencies](https://github.com/tomtom-international/cpp-dependencies) - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] -* [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) -* [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] -* [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) -* [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. -* [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. -* [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] -* [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. -* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations -* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. - -## Coding Style Tools - -* [Artistic Style](http://astyle.sourceforge.net/) - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle. -* [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. -* [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. -* [EditorConfig](https://editorconfig.org/) - EditorConfig helps maintain consistent coding styles across different editors and IDEs. -* [Uncrustify](https://github.com/uncrustify/uncrustify) - Code beautifier. - -# Resources -*Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.* - -## API Design - -* [Beautiful Native Libraries](http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/) -* [Designing Qt-Style C++ APIs](https://doc.qt.io/archives/qq/qq13-apis.html) - -## Articles -*Fantastic C++ related articles.* - -* [CppCon 2020 Presentation Materials](https://github.com/CppCon/CppCon2020) - CppCon 2020 Presentation Materials. -* [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. -* [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. -* [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. -* [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. -* [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. -* [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. -* [C++Now 2019 Presentations](https://github.com/boostcon/cppnow_presentations_2019) - Presentation materials presented at C++Now 2019. -* [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. -* [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. -* [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. -* [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. -* [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. -* [C++Now 2013 Presentations](https://github.com/boostcon/cppnow_presentations_2013) - Presentation materials presented at C++Now 2013. -* [C++Now 2012 Presentations](https://github.com/boostcon/cppnow_presentations_2012) - Presentation materials presented at C++Now 2012. - -## Books -*Fantastic C or C++ related books.* - -* [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) -* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#c) - vhf/free-programming-books/C. -* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. -* [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. - -## Coding Standards - -* [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) -* [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) -* [Autosar C++ 2014](https://www.autosar.org/fileadmin/standards/adaptive/21-11/AUTOSAR_RS_CPP14Guidelines.pdf) - -## Coding Style - -* [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. -* [C++ Dos and Don'ts](http://www.chromium.org/developers/coding-style/cpp-dos-and-donts) - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts. -* [google-styleguide](https://github.com/google/styleguide) - Style guides for Google-originated open-source projects. -* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) -* [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html) -* [Linux kernel coding style](https://www.kernel.org/doc/Documentation/process/coding-style.rst) -* [LLVM Coding Standards](http://llvm.org/docs/CodingStandards.html) - -## Podcasts - -* [CppCast](http://cppcast.com) - The first podcast by C++ developers for C++ developers. -* [CppChat](http://cpp.chat) - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community. - -## Talks - -* [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. -* [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo. -* [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) -* [Meeting Cpp](https://www.youtube.com/user/MeetingCPP/videos) - Meeting C++ Youtube Channel - -## Videos -*Fantastic C or C++ related videos.* - -* [List of C or C++ YouTube Videos](https://github.com/fffaraz/awesome-cpp/blob/master/videos.md) -* [Awesome C Programming Tutorials in Hi Def [HD]](https://www.youtube.com/playlist?list=PLCB9F975ECF01953C) - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers. -* [C++](https://www.youtube.com/playlist?list=PL2F919ADECA5E39A6) - by VoidRealms. -* [C++ Qt Programming](https://www.youtube.com/playlist?list=PL2D1942A4688E9D63) - by VoidRealms. -* [C++ Programming Tutorials Playlist](https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83) - TheNewBoston Official Buckys C++ Programming Tutorials Playlist. -* [C++ Programming Tutorials from thenewboston](https://www.youtube.com/playlist?list=PLF541C2C1F671AEF6) - These are all of thenewboston's C++ programming tutorials. -* [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials. -* [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. -* [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. -* [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... - -## Websites -*Useful C or C++ related websites.* - -* [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. -* [CppCon](http://cppcon.org/) - The C++ Conference. -* [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. -* [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. -* [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. -* [C FAQ](http://c-faq.com/) - C frequently asked questions. -* [C++ FAQ](http://www.parashift.com/c++-faq/) - C++ frequently asked questions. -* [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. -* [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. -* [Meeting C++](http://meetingcpp.com/) -* [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. -* [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) -* [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. -* [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. -* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. - -## Weblogs -*Useful C or C++ related weblogs.* - -* [Coding For Speed](https://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time. -* [Eric Niebler](http://ericniebler.com/) -* [Sticky Bits](https://blog.feabhas.com/) -* [Paul Fultz II's Blog](http://pfultz2.com/blog/) -* [ridiculousfish](http://ridiculousfish.com/blog/posts/will-it-optimize.html) - Will It Optimize? -* [Embedded in Academia](http://blog.regehr.org/) -* [Simplify C++](https://arne-mertz.de/) -* [Fluent C++](https://www.fluentcpp.com/) -* [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) -* [Kenny Kerr](https://kennykerr.ca/articles/) -* [Sutter’s Mill](https://herbsutter.com/gotw/) -* [Vorbrodt's C++ Blog](https://vorbrodt.blog/) -* [foonathan::blog()](https://foonathan.net/index.html) - -## Other Awesome Projects -*Collection of useful codes, snippets, ...* - -* [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. -* [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. -* [30 Seconds of C++](https://github.com/Bhupesh-V/30-seconds-of-cpp) - -# Other Awesome Lists -*Other amazingly awesome lists* - -* [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. -* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. -* [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. -* [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. -* [Awesome C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. -* [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. -* [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 -* [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 -* [Awesome Modern C++](https://github.com/rigtorp/awesome-modern-cpp) - A collection of resources on modern C++. -* [AwesomePerfCpp](https://github.com/fenbf/AwesomePerfCpp) - A curated list of awesome C/C++ performance optimization resources. -* [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. -* [Inqlude](http://inqlude.org/) - The Qt library archive. -* [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. -* [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. -* [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. -* [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. -* [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. -* [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. - -# Jobs - -* This list is currently empty, but you can add to it by opening a merge request. - -# Sponsors - -* Please reach out if you are interested in sponsoring this repo. Your company's name and logo will be prominently displayed here. - -# Contributing -Please take a quick gander at the [contribution guidelines](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. -Thanks to all [contributors](https://github.com/fffaraz/awesome-cpp/graphs/contributors); you rock! - -#### *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!* From 8e39a1edb59ce93d5c0cb61c49015a98cbaa1769 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 30 Sep 2023 21:59:43 +0000 Subject: [PATCH 159/374] add chronoxor/CppBenchmark --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 112fc7d54..aaab2cc5d 100644 --- a/README.md +++ b/README.md @@ -432,6 +432,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] +* [CppBenchmark](https://github.com/chronoxor/CppBenchmark) - Performance benchmark framework for C++ with nanoseconds measure precision. [MIT] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] From 708517430639b81ad7d8ee43762878caf0d1fb51 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Oct 2023 00:57:07 +0900 Subject: [PATCH 160/374] add StringZilla (fast string library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2066ea241..8cf36e44f 100644 --- a/README.md +++ b/README.md @@ -1078,6 +1078,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] +* [StringZilla](https://github.com/ashvardanian/StringZilla) - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. From 62754697d56a1526acc1f2af0a8c7a804d12d53f Mon Sep 17 00:00:00 2001 From: Riccardo Date: Tue, 3 Oct 2023 18:50:28 +0200 Subject: [PATCH 161/374] Update license of bit7z from GPLv2 to MPL2 The bit7z project was recently re-licensed from GPLv2 to the Mozilla Public License v2. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2066ea241..fde3a905c 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## 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 DLLs. [GPLv2] +* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [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] From f340dace191d4b70ae8e6e83adf6a66f4ca6eaa3 Mon Sep 17 00:00:00 2001 From: Oz Date: Tue, 3 Oct 2023 18:53:01 +0200 Subject: [PATCH 162/374] Update the description of bit7z --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fde3a905c..3c73847ca 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## 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 DLLs. [MPL2] +* [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] From a3d97b0730553be8f1186698ae199d6132c9e6e2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Oct 2023 00:37:24 +0900 Subject: [PATCH 163/374] add libenvpp (type-safe environment variable parsing library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7d6fc7d0..9a0aa9734 100644 --- a/README.md +++ b/README.md @@ -1062,6 +1062,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] * [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] +* [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] From 0bc7f685b64c0f6487989936795587ee26fdbe44 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 6 Oct 2023 23:43:46 +0900 Subject: [PATCH 164/374] add ada (url parsing library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a0aa9734..0076d75a6 100644 --- a/README.md +++ b/README.md @@ -791,6 +791,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Networking +* [ada](https://github.com/ada-url/ada) - WHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT] * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](https://github.com/boostorg/asio) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] [website](https://boost.org/libs/asio) * [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] [website](https://www.boost.org/libs/beast) From 52e56a2cac495264ec15be397be08cc021441535 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Oct 2023 11:58:06 +0900 Subject: [PATCH 165/374] Cpp-Taskflow has been renamed to Taskflow since 2020 (#1419) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0076d75a6..104758317 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [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] -* [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] * [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+] @@ -309,6 +308,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, 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] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [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] From cdf950c1037b98a7cb024a6572e36391022c6d0e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 13 Oct 2023 12:47:54 +0900 Subject: [PATCH 166/374] Add Channel (thread-safe container) (#1420) * Add Channel (thread-safe container) * remove space --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 104758317..f682346fc 100644 --- a/README.md +++ b/README.md @@ -279,6 +279,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [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] * [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] @@ -569,7 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) -* [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) +* [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] * [Ogre 3D](https://github.com/OGRECave) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] [website](https://www.ogre3d.org) * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] From ebc4857e7e7972049e855edfa5cb00d3fa216bf2 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Oct 2023 16:19:10 +0900 Subject: [PATCH 167/374] Add PlayRho (physics engine) (#1421) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f682346fc..8cbf49ebb 100644 --- a/README.md +++ b/README.md @@ -870,6 +870,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] +* [PlayRho](https://github.com/louis-langholtz/PlayRho) - An interactive physics engine & library. [Zlib] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] * [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] From d3d6954a80543baff0c709f04cdae3de4c088f29 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 21 Oct 2023 16:00:46 +0900 Subject: [PATCH 168/374] Add toml11 (toml parser) (#1422) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8cbf49ebb..d9dd236e1 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [simpleini](https://github.com/brofield/simpleini) - 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.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 From 9517fe7bb7de002719c465d9143485c7639811cf Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 22 Oct 2023 05:26:06 +0900 Subject: [PATCH 169/374] Add unordered_dense (fast hashmap, hashset) (#1423) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d9dd236e1..c97d00bae 100644 --- a/README.md +++ b/README.md @@ -346,6 +346,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [unordered_dense](https://github.com/martinus/unordered_dense) - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT] ## Cryptography *Cryptography and Encryption Libraries* From f864edfe08479965a3ef046f48e28318d1cc3941 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Oct 2023 09:39:40 +0900 Subject: [PATCH 170/374] Add svector (#1424) --- README.md | 1 + awesome-cpp | 1 + 2 files changed, 2 insertions(+) create mode 160000 awesome-cpp diff --git a/README.md b/README.md index c97d00bae..961c7950e 100644 --- a/README.md +++ b/README.md @@ -346,6 +346,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [svector](https://github.com/martinus/svector) - Compact SVO optimized vector for C++17 or higher. [MIT] * [unordered_dense](https://github.com/martinus/unordered_dense) - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT] ## Cryptography diff --git a/awesome-cpp b/awesome-cpp new file mode 160000 index 000000000..9517fe7bb --- /dev/null +++ b/awesome-cpp @@ -0,0 +1 @@ +Subproject commit 9517fe7bb7de002719c465d9143485c7639811cf From 697f0a91a623b448df3671634afbcfeeda015401 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Oct 2023 10:10:19 +0900 Subject: [PATCH 171/374] The license of ZeroMQ has been changed to MPL2 since 4.3.5 (#1425) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 961c7950e..e0328e26a 100644 --- a/README.md +++ b/README.md @@ -848,7 +848,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] * [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] -* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL] [website](http://zeromq.org/) +* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL3/MPL2] [website](http://zeromq.org/) ## PDF *Libraries for parsing and manipulating PDF documents.* From 17cef2831714c0575483e01aac9cc333145dfe28 Mon Sep 17 00:00:00 2001 From: MuggleWei Date: Thu, 26 Oct 2023 14:35:24 +0800 Subject: [PATCH 172/374] add haclog (#1428) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0328e26a..34674eef0 100644 --- a/README.md +++ b/README.md @@ -692,6 +692,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] * [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. +* [haclog](https://github.com/MuggleWei/haclog) - An extremely fast plain C logging library. [MIT] * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] * [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] From 8c226f9243bf2d5c6cd89fc82ed3e675b1d71400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Cie=C5=9Blar?= Date: Thu, 26 Oct 2023 08:47:50 +0200 Subject: [PATCH 173/374] Add faker-cxx library (#1427) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 34674eef0..72b2306eb 100644 --- a/README.md +++ b/README.md @@ -1056,6 +1056,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] From 97086357bb1e89c4c142beee9d40049436401711 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Oct 2023 15:48:12 +0900 Subject: [PATCH 174/374] Add inja (#1426) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72b2306eb..27a9021a8 100644 --- a/README.md +++ b/README.md @@ -1064,6 +1064,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] +* [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] From 73418e12207f6bf92aef999955b74f43463dbb0e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 11:10:45 +0900 Subject: [PATCH 175/374] Add PDF-Writer (#1429) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27a9021a8..f0e9ad37a 100644 --- a/README.md +++ b/README.md @@ -857,6 +857,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] * [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] From 6fd838a11eac028e0212631a04e8f8b19caa5c46 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 1 Nov 2023 10:24:59 +0900 Subject: [PATCH 176/374] Add minizip-ng (#1430) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0e9ad37a..3dc7003aa 100644 --- a/README.md +++ b/README.md @@ -264,6 +264,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] From 2b99241b0cceb15688393d6fe0a67d66ae0a4cf0 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Thu, 2 Nov 2023 22:42:38 -0400 Subject: [PATCH 177/374] Added newer versions of CppCon and CppNow presentations (#1432) * Added CppCon 2021 materials Added reference link for 2021 materials of CppCon. * Added CppCon 2022 materials Added reference link for 2022 materials of CppCon. * Added CppCon 2023 materials Added reference link for 2023 materials of CppCon. * Added CppNow 2021 materials Added reference link for 2021 materials of CppNow. * Added CppNow 2022 materials Added reference link for 2022 materials of CppNow. * Added CppNow 2023 materials Added reference link for 2023 materials of CppNow. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3dc7003aa..f6e62e8ca 100644 --- a/README.md +++ b/README.md @@ -1236,6 +1236,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Articles *Fantastic C++ related articles.* +* [CppCon 2023 Presentation Materials](https://github.com/CppCon/CppCon2023) - CppCon 2023 Presentation Materials. +* [CppCon 2022 Presentation Materials](https://github.com/CppCon/CppCon2022) - CppCon 2022 Presentation Materials. +* [CppCon 2021 Presentation Materials](https://github.com/CppCon/CppCon2021) - CppCon 2021 Presentation Materials. * [CppCon 2020 Presentation Materials](https://github.com/CppCon/CppCon2020) - CppCon 2020 Presentation Materials. * [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. * [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. @@ -1243,6 +1246,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. * [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. * [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. +* [C++Now 2023 Presentations](https://github.com/boostcon/cppnow_presentations_2023) - Presentation materials presented at C++Now 2023. +* [C++Now 2022 Presentations](https://github.com/boostcon/cppnow_presentations_2022) - Presentation materials presented at C++Now 2022. +* [C++Now 2021 Presentations](https://github.com/boostcon/cppnow_presentations_2021) - Presentation materials presented at C++Now 2021. * [C++Now 2019 Presentations](https://github.com/boostcon/cppnow_presentations_2019) - Presentation materials presented at C++Now 2019. * [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. * [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. From 07aebd3604a08d17b9ea75f248bdd98a2770b4df Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 11:44:03 +0900 Subject: [PATCH 178/374] fix zlib-ng url (#1431) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6e62e8ca..dcf401002 100644 --- a/README.md +++ b/README.md @@ -268,7 +268,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.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/Dead2/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [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] * [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] From a419835c1118841c9ac003c8e2ed113e259c7e64 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 06:20:04 +0900 Subject: [PATCH 179/374] Add heatshrink (#1433) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dcf401002..530208d91 100644 --- a/README.md +++ b/README.md @@ -254,6 +254,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. +* [heatshrink](https://github.com/atomicobject/heatshrink) - data compression library for embedded/real-time systems [ISC] * [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] * [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/) From a2b02987b0330a50659ea54c5ec7ce8e03f9702d Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 18:50:08 +0900 Subject: [PATCH 180/374] Add velox (#1434) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 530208d91..acd0d4094 100644 --- a/README.md +++ b/README.md @@ -420,6 +420,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [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 designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] +* [Velox](https://github.com/facebookincubator/velox) - A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/) ## Data visualization *Data visualization Libraries* From 78737875c7fe1b977e486353cc67ee435284f320 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 6 Nov 2023 14:04:51 +0900 Subject: [PATCH 181/374] Add nghttp3 (HTTP/3 library) (#1435) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index acd0d4094..9a7416da8 100644 --- a/README.md +++ b/README.md @@ -835,6 +835,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] * [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) +* [nghttp3](https://github.com/ngtcp2/nghttp3) - HTTP/3 library written in C. [MIT] [website](https://nghttp2.org/nghttp3/) * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] * [PF_RING™](https://github.com/ntop/PF_RING) - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/) * [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] From 191e46d352574bd8d634450771e229a5866dd96f Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 10 Nov 2023 15:01:44 +0900 Subject: [PATCH 182/374] Add libschrift (#1436) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a7416da8..c074e57f9 100644 --- a/README.md +++ b/README.md @@ -493,6 +493,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] * [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] * [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine. [Old MIT] +* [libschrift](https://github.com/tomolt/libschrift) - A lightweight TrueType font rendering library. [ISC] ## Game Engine From eedf3389df1b3da19f971ee29774b6952c884a02 Mon Sep 17 00:00:00 2001 From: Nana Axel Date: Fri, 10 Nov 2023 07:02:26 +0100 Subject: [PATCH 183/374] Add Amplitude Audio SDK (#1437) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c074e57f9..fb80c4615 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* +* [Amplitude Audio SDK](https://github.com/SparkyStudios/AmplitudeAudioSDK) - A 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 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 analysis, feature extraction. [MIT] From f76699726687dfddb7e12bdbc5ae7c28e36f9239 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 11:10:19 +0900 Subject: [PATCH 184/374] Add thorvg (svg rendering library) (#1438) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fb80c4615..cab6082bf 100644 --- a/README.md +++ b/README.md @@ -587,6 +587,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] * [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] * [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) +* [ThorVG](https://github.com/thorvg/thorvg) - a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT] [website](https://www.thorvg.org/) * [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] * [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] * [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] From a6c316a591f38ba0892e46c2dbc6c1c04dbd2d4a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 03:55:14 +0900 Subject: [PATCH 185/374] slint: fix official url (#1440) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cab6082bf..a556c25c3 100644 --- a/README.md +++ b/README.md @@ -554,7 +554,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] -* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint.dev/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From 5c6a60189b87f01012c0664e7be825e7738d5961 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 09:19:06 +0900 Subject: [PATCH 186/374] Add libserial (serial port library) (#1441) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a556c25c3..2453b6678 100644 --- a/README.md +++ b/README.md @@ -1082,6 +1082,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] +* [Libserial](https://github.com/crayzeewulf/libserial) - Serial Port Programming in C++. [BSD-3-Clause] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] From 339cfbea6b13b4064ff7ce137138d8f52c3c0eab Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 24 Nov 2023 15:09:48 +0900 Subject: [PATCH 187/374] Add scnlib (#1445) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2453b6678..e8d6cf13f 100644 --- a/README.md +++ b/README.md @@ -1088,6 +1088,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] +* [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] From d5bf37d96f58b87429097911dff4001d4ac8af3c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 25 Nov 2023 11:19:36 +0900 Subject: [PATCH 188/374] Add Jinja2C++ (#1446) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8d6cf13f..02b144fea 100644 --- a/README.md +++ b/README.md @@ -1074,6 +1074,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. +* [Jinja2С++](https://github.com/jinja2cpp/Jinja2Cpp) - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/) * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] From 3cb3907f8bbf50769c93cf3e49db918e02cec213 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 26 Nov 2023 06:59:29 +0900 Subject: [PATCH 189/374] Add FOX Toolkit (cross-platform GUI toolkit) (#1447) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02b144fea..31f4add78 100644 --- a/README.md +++ b/README.md @@ -538,6 +538,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] * [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] +* [FOX Toolkit](http://fox-toolkit.org) - an open-source, cross-platform widget toolkit. [LGPL] * [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] * [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] From 264c9d2c2d822d052048b0c42e3b67ae25e19688 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 14:45:40 +0900 Subject: [PATCH 190/374] fltk fix license (#1448) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 31f4add78..47237872d 100644 --- a/README.md +++ b/README.md @@ -537,7 +537,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] -* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] +* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [LGPL2] * [FOX Toolkit](http://fox-toolkit.org) - an open-source, cross-platform widget toolkit. [LGPL] * [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] From bc1cba90fa8381abfc29b4378f7f65097b30de5b Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Mon, 27 Nov 2023 09:10:03 +0100 Subject: [PATCH 191/374] change misleading nomenclature; GPL == Commercial (#1449) --- README.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 47237872d..22e192e32 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](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-cpp) +- [Awesome C++ ](#awesome-c--) - [Standard Libraries](#standard-libraries) - [Frameworks](#frameworks) - [Artificial Intelligence](#artificial-intelligence) @@ -24,7 +24,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [DSP](#dsp) - [Font](#font) - [Game Engine](#game-engine) - - [Graph](#graph) + - [Graph](#graph) - [GUI](#gui) - [Graphics](#graphics) - [Image Processing](#image-processing) @@ -76,6 +76,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [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.* @@ -107,7 +108,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] -* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) +* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, 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 systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] @@ -116,7 +117,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](https://github.com/qt) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] [website](https://www.qt.io) +* [Qt](https://github.com/qt) :zap: - A 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, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] * [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/) @@ -168,12 +169,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and 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/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 real-time audio input and output. [MIT] [website](http://libsound.io/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] -* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] +* [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] @@ -473,8 +474,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Doxide](https://github.com/lawmurray/doxide) - Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] [website](https://doxide.org) * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) * [doxyrest](https://github.com/vovkos/doxyrest) - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT] -* [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Commercial] [website](https://hdoc.io) -* [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Commercial] [website](https://www.naturaldocs.org) +* [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Proprietary] [website](https://hdoc.io) +* [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary] [website](https://www.naturaldocs.org) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## DSP @@ -534,7 +535,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## GUI *Graphic User Interface* -* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) +* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary] [website](https://www.boden.io) * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] * [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [LGPL2] @@ -555,7 +556,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] -* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint.dev/) +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] @@ -571,7 +572,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] * [GLFWPP](https://github.com/janekb04/glfwpp) - A thin modern C++17 header-only wrapper for GLFW. [MIT] -* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary] [website](https://www.harfang3d.com) * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) @@ -778,7 +779,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) * [C Smart Pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] -* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) +* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0] [website](http://hoard.org/) * [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] * [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] @@ -864,7 +865,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] -* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary] * [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] @@ -916,7 +917,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] * [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] -* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] +* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Proprietary] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] ## Robotics @@ -1029,7 +1030,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) * [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) -* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] +* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Proprietary] ## XML *XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* @@ -1089,7 +1090,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] -* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] +* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] From f6095342148cd61cb811660fdad69e78762f95fd Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 27 Nov 2023 03:12:43 -0500 Subject: [PATCH 192/374] rm --- awesome-cpp | 1 - 1 file changed, 1 deletion(-) delete mode 160000 awesome-cpp diff --git a/awesome-cpp b/awesome-cpp deleted file mode 160000 index 9517fe7bb..000000000 --- a/awesome-cpp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9517fe7bb7de002719c465d9143485c7639811cf From 9ee768e50c93b06af02de88144639e3660d88fe8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 13:50:21 +0900 Subject: [PATCH 193/374] Add simdutf (#1450) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 22e192e32..7cd1a2dba 100644 --- a/README.md +++ b/README.md @@ -629,6 +629,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] * [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] +* [simdutf](https://github.com/simdutf/simdutf) - Unicode routines (UTF8, UTF16, UTF32): billions of characters per second using SSE2, AVX2, NEON, AVX-512. [Apache-2/MIT] * [uni-algo](https://github.com/uni-algo/uni-algo) - Unicode Algorithms Implementation for C/C++. [Unlicense or MIT] * [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] * [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] From b8a2edc2a4a76f9e59e0bc09cebc2715ef246aaa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 11:18:24 +0900 Subject: [PATCH 194/374] Add PDFium (PDF generation library) (#1451) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7cd1a2dba..1b216a07a 100644 --- a/README.md +++ b/README.md @@ -868,6 +868,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary] * [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) +* [PDFium](https://pdfium.googlesource.com/pdfium/) - PDF generation and rendering library. [BSD-3-Clause] * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] * [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] From 2234892d66d55c7945bfe3837a483e1695e578aa Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 15:39:39 +0900 Subject: [PATCH 195/374] Add sonic-cpp (#1452) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b216a07a..ba6355fce 100644 --- a/README.md +++ b/README.md @@ -687,6 +687,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] [website](https://rapidjson.org) * [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] * [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] +* [Sonic-Cpp](https://github.com/bytedance/sonic-cpp) - A fast JSON serializing & deserializing library, accelerated by SIMD. [Apache-2.0] * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] * [UltraJSON](https://github.com/ultrajson/ultrajson) - Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause] From 4c84e035623b6f52d2caae3fc2dca4514afd4ead Mon Sep 17 00:00:00 2001 From: Jan Niklas Hasse Date: Thu, 30 Nov 2023 07:40:08 +0100 Subject: [PATCH 196/374] Add JNGL (2D game library) (#1453) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba6355fce..a6ab076ee 100644 --- a/README.md +++ b/README.md @@ -510,6 +510,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] * [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] +* [JNGL](https://github.com/jhasse/jngl/) - 2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib] [website](https://bixense.com/jngl/) * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) * [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) From 2ab4753734502f28f25d3b20ed7c1dc8116dd5e5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 18:34:07 +0900 Subject: [PATCH 197/374] Add pdf (pdf reading/writing library) (#1454) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a6ab076ee..9d494d6d7 100644 --- a/README.md +++ b/README.md @@ -870,6 +870,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary] * [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) +* [pdfio](https://github.com/michaelrsweet/pdfio) - A simple C library for reading and writing PDF files. [Apache-2] [website](https://www.msweet.org/pdfio/) * [PDFium](https://pdfium.googlesource.com/pdfium/) - PDF generation and rendering library. [BSD-3-Clause] * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] From a65f650ef6f4a547aa63fbb512c5089d6d3d5e8c Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 08:13:55 +0900 Subject: [PATCH 198/374] Add emio (character input/output library) (#1455) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d494d6d7..31ecd32e1 100644 --- a/README.md +++ b/README.md @@ -1071,6 +1071,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) From c17c5f7ca64b5a5280396eb6a1f7c52e35dfb2ca Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 11:49:10 +0900 Subject: [PATCH 199/374] Add LodePNG (#1456) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 31ecd32e1..eeede0d31 100644 --- a/README.md +++ b/README.md @@ -611,6 +611,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) +* [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] * [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] * [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) From db85cd7ed6a51caff512e2e933dea85208032014 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 14:38:05 +0900 Subject: [PATCH 200/374] Add libspng (png reading/writing library)) (#1457) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eeede0d31..0844a72e0 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) +* [libspng](https://github.com/randy408/libspng) - Simple, modern libpng alternative. [BSD-2] [website](https://libspng.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] From c4a69e78773cc5254cdf159428687d5cd00a09b3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 13:42:13 +0900 Subject: [PATCH 201/374] Add mozjpeg (improved JPEG encoder) (#1458) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0844a72e0..821cea136 100644 --- a/README.md +++ b/README.md @@ -615,6 +615,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] * [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] +* [MozJPEG](https://github.com/mozilla/mozjpeg) - Improved JPEG encoder. [BSD/BSD-3-Clause/ZLIB] * [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] From fdba943a2d581d1171d5ef06d88a2d1dad886944 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Dec 2023 12:32:32 +0900 Subject: [PATCH 202/374] Add libjxl (JPEG XL library) (#1460) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 821cea136..c110a265f 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) +* [libjxl](https://github.com/libjxl/libjxl) - JPEG XL image format reference implementation. [BSD-3-Clause] * [libspng](https://github.com/randy408/libspng) - Simple, modern libpng alternative. [BSD-2] [website](https://libspng.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] From db0472435f2ec43b9ce51c782314e238cdb92005 Mon Sep 17 00:00:00 2001 From: nirlivne Date: Fri, 8 Dec 2023 07:29:16 +0200 Subject: [PATCH 203/374] Update README.md (#1459) Cpptrace is a simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater on Linux, macOS, and Windows including MinGW and Cygwin environments. The goal: Make stack traces simple for once. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c110a265f..b954f9643 100644 --- a/README.md +++ b/README.md @@ -443,6 +443,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppBenchmark](https://github.com/chronoxor/CppBenchmark) - Performance benchmark framework for C++ with nanoseconds measure precision. [MIT] +* [Cpptrace](https://github.com/jeremy-rifkin/cpptrace) - A simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] From 2f0d8d1bdc9f52703fecb3be2e2bee8bd8721fe6 Mon Sep 17 00:00:00 2001 From: Silver Zachara Date: Fri, 8 Dec 2023 08:37:36 +0100 Subject: [PATCH 204/374] Database: Add TinyORM modern C++ ORM library (#1215) Added the TinyORM modern C++ ORM library to the Database list. [TinyORM](https://github.com/silverqx/TinyORM) - Modern C++ ORM library. [MIT] [website](https://www.tinyorm.org/) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b954f9643..d634634d1 100644 --- a/README.md +++ b/README.md @@ -419,6 +419,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [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.org/) * [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 designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] From 449ad13a5f986d5f73cb92fb5ce3ec0b57415926 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Dec 2023 01:27:01 +0900 Subject: [PATCH 205/374] Add libavif (avif reading/writing library) (#1461) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d634634d1..9785f3166 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. * [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] * [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) +* [libavif](https://github.com/AOMediaCodec/libavif) - Library for encoding and decoding .avif files. [BSD-2-Clause] * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libjxl](https://github.com/libjxl/libjxl) - JPEG XL image format reference implementation. [BSD-3-Clause] From 82fb740e7c677293c75b014d232e7da365b96e28 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Dec 2023 10:44:40 +0900 Subject: [PATCH 206/374] Add itlib (STL like library) (#1463) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9785f3166..97c90c169 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the 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 software. [Core-Module: ISC, 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 systems in C. [Apache2] From f7dd85ed03fb55d26e30235620aa7b8647714edf Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Dec 2023 14:17:31 +0900 Subject: [PATCH 207/374] rename Colony to plf::colony (#1465) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 97c90c169..6c8908467 100644 --- a/README.md +++ b/README.md @@ -339,12 +339,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] -* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std 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) * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [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 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 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] From fadbfaaaf9db189770e3526e1c01f368f2fac513 Mon Sep 17 00:00:00 2001 From: Wawha Date: Thu, 14 Dec 2023 06:24:17 +0100 Subject: [PATCH 208/374] Add v8pp (modern C++ bindings for V8 JavaScript engine) (#1466) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c8908467..7af060807 100644 --- a/README.md +++ b/README.md @@ -979,6 +979,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] +* [v8pp](https://github.com/pmed/v8pp) - Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST] [website](https://pmed.github.io/v8pp/) * [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] ## Serialization From 1cc8fe1e9826b9319d1f64cf6d463cbf7d49bcfa Mon Sep 17 00:00:00 2001 From: liuzicheng1987 Date: Fri, 15 Dec 2023 03:50:01 +0100 Subject: [PATCH 209/374] Add reflect-cpp (#1462) * Added reflect-cpp * Fixed typo * Removed duplicate entry; shortened description * Added dash --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7af060807..d953cd6bf 100644 --- a/README.md +++ b/README.md @@ -916,6 +916,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] +* [reflect-cpp](https://github.com/getml/reflect-cpp) - Serialization through reflection, including automatic field name retrieval from structs. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) * [TSMP](https://github.com/fabian-jung/tsmp) - An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT] * [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [Boost] From ce459c24be419965e63779b17a27cf42bc8a9b59 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 15 Dec 2023 11:55:18 +0900 Subject: [PATCH 210/374] Add DuckX(docx file library) (#1467) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d953cd6bf..defad82ca 100644 --- a/README.md +++ b/README.md @@ -1080,6 +1080,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) +* [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] From 294fa8dd7a09a5d219cc5e73bbc3056a24720b46 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 03:55:56 +0100 Subject: [PATCH 211/374] Remove uSTL (#1468) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index defad82ca..a983ec6ca 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 rapid application development framework. [BSD] -* [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] * [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] * [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] From 9452c8837599a8af24a9da5a7795b7df126d0439 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 03:56:21 +0100 Subject: [PATCH 212/374] Add parallel-hashmap (very fast hashmap and btree) (#1469) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a983ec6ca..a4f224430 100644 --- a/README.md +++ b/README.md @@ -342,6 +342,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] +* [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] [website](https://greg7mdp.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 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 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) From 9a0fa0323f715c017d5b6e9ff67c172aa96a156d Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:02:43 +0100 Subject: [PATCH 213/374] Add argparse (Argument Parser for Modern C++) (#1470) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a4f224430..9d2004a7d 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *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] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [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) * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] From b5908e32614c6b5c6f3bcfa0db2ccf70bd7e1eaf Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:04:36 +0100 Subject: [PATCH 214/374] Add date (A date and time library based on the C++11/14/17 header) (#1471) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d2004a7d..6a53be5a2 100644 --- a/README.md +++ b/README.md @@ -1080,6 +1080,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] From a2d929db82a4126f1d0b53f43f824f8ce1dbd045 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:09:33 +0100 Subject: [PATCH 215/374] Add date (A date and time library based on the C++11/14/17 header) (#1471) From 70af64e4fd9b4b62d1ae6227708a7a445289f380 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:12:56 +0100 Subject: [PATCH 216/374] Add hedley (Header designed to smooth over some platform-specific annoyances) (#1472) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a53be5a2..fa51acb93 100644 --- a/README.md +++ b/README.md @@ -1089,6 +1089,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] +* [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] From febc4ead342b6754bd32bc4db1eead6d68d1b411 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Dec 2023 22:21:33 +0900 Subject: [PATCH 217/374] Add CSerialPort (serial port library) (#1474) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa51acb93..654302c87 100644 --- a/README.md +++ b/README.md @@ -1080,6 +1080,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [CSerialPort](https://github.com/itas109/CSerialPort) - lightweight cross-platform serial port library. [LGPL3] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] From ff784c6912aede0a49c5862df23f50cfae7a13f1 Mon Sep 17 00:00:00 2001 From: Stephen Berry Date: Sat, 16 Dec 2023 13:57:24 -0600 Subject: [PATCH 218/374] Add Glaze under CSV libraries (#1473) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 654302c87..1dda7242e 100644 --- a/README.md +++ b/README.md @@ -388,6 +388,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [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 C++17 CSV parser with optional type-casting and statistics. [MIT] From db14508c4db7bcc3c68d43c88562695ffb4a55eb Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 01:12:52 +0900 Subject: [PATCH 219/374] add "Serial Port" category (#1476) --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1dda7242e..cd109de36 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Scientific Computing](#scientific-computing) - [Scripting](#scripting) - [Serialization](#serialization) + - [Serial Port](#serial-port) - [Sorting](#sorting) - [Video](#video) - [Virtual Machines](#virtual-machines) @@ -1007,6 +1008,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] * [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). +## Serial Port + +* [Asio](https://github.com/chriskohlhoff/asio/) - Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost] [website](http://think-async.com/) +* [Boost.Asio](https://github.com/boostorg/asio) - Boost.Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost] [website](https://boost.org/libs/asio) +* [CSerialPort](https://github.com/itas109/CSerialPort) - lightweight cross-platform serial port library. [LGPL3] +* [Libserial](https://github.com/crayzeewulf/libserial) - Serial Port Programming in C++. [BSD-3-Clause] +* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] [website](http://wjwwood.io/serial/) + ## Sorting * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] @@ -1081,7 +1090,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] -* [CSerialPort](https://github.com/itas109/CSerialPort) - lightweight cross-platform serial port library. [LGPL3] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] @@ -1107,7 +1115,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] -* [Libserial](https://github.com/crayzeewulf/libserial) - Serial Port Programming in C++. [BSD-3-Clause] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] @@ -1117,7 +1124,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] -* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] From 791b478ed32a9e2f4a062299f7ddf482842fafc9 Mon Sep 17 00:00:00 2001 From: Stanislav Paskalev Date: Sun, 17 Dec 2023 22:13:07 +0200 Subject: [PATCH 220/374] Add spaskalev/buddy_alloc (#1475) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd109de36..5cf422447 100644 --- a/README.md +++ b/README.md @@ -801,6 +801,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] * [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] * [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) +* [buddy_alloc](https://github.com/spaskalev/buddy_alloc) - A single header buddy memory allocator for C with bounded allocation costs. [0BSD] * [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] ## Multimedia From 82a30b5262188cc2d50a003a4a452041e142faf2 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 12:55:11 +0900 Subject: [PATCH 221/374] Add Office Open XML category (#1477) --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5cf422447..d2373ab54 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Memory Allocation](#memory-allocation) - [Multimedia](#multimedia) - [Networking](#networking) + - [Office Open XML](#office-open-xml) - [PDF](#pdf) - [Physics](#physics) - [Reflection](#reflection) @@ -875,6 +876,17 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] * [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL3/MPL2] [website](http://zeromq.org/) +## Office Open XML +*Libraries for parsing and manipulating xlsx, pptx, docx, etc.* + +* [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] +* [FreeXL](https://www.gaia-gis.it/fossil/freexl/index) - an open source library to extract valid data from within Spreadsheets. [MPL/GPL-2/LGPL-2] +* [libxls](https://github.com/libxls/libxls) - Read binary Excel files from C/C++ [BSD-2-Clause] +* [libxlsxwriter](https://github.com/jmcnamara/libxlsxwriter) - A C library for creating Excel XLSX files. [BSD-2-Clause] [website](https://libxlsxwriter.github.io/) +* [OpenXLSX](https://github.com/troldal/OpenXLSX) - A C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files. [BSD-3-Clause] +* [SimpleXlsxWriter](https://sourceforge.net/projects/simplexlsx/) - XLSX files writer for Microsoft Excel 2007 and above. [zlib] +* [XLSX I/O](https://github.com/brechtsanders/xlsxio) - C library for reading and writing .xlsx files. [MIT] + ## PDF *Libraries for parsing and manipulating PDF documents.* @@ -1093,7 +1105,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) -* [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] From b232d7ce7b4e4489e22c2083d15e420cb98d2a06 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Dec 2023 11:31:30 +0900 Subject: [PATCH 222/374] Add quickjs (embeddedable javascript engine) (#1478) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2373ab54..6d81aafff 100644 --- a/README.md +++ b/README.md @@ -991,6 +991,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] +* [QuickJS](https://bellard.org/quickjs/) - a small and embeddable Javascript engine. [MIT] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) From 2600811976adbca1e23fd229b99fb85f8a67d59c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Dec 2023 02:50:12 +0900 Subject: [PATCH 223/374] Add iguana (universal serialization engine) (#1479) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d81aafff..4e0573aa8 100644 --- a/README.md +++ b/README.md @@ -1012,6 +1012,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [Kaitai Struct](http://kaitai.io) - A declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][Apache2] +* [iguana](https://github.com/qicosmos/iguana) - a modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) * [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) * [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] From eb668ad064ac9fbfe03271883b41813f5830c28e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Dec 2023 23:43:34 +0900 Subject: [PATCH 224/374] Add cpp-sort (sorting algorithms) (#1480) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e0573aa8..0bc75ecfc 100644 --- a/README.md +++ b/README.md @@ -1033,6 +1033,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Sorting ++ [cpp-sort](https://github.com/Morwenn/cpp-sort) - Sorting algorithms & related tools for C++14. [MIT] * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] * [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] * [Indiesort](https://github.com/mattreecebentley/plf_indiesort) - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm) From 7f2faf9c17500dfe69a47905836105ace2250c46 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 15:50:37 +0900 Subject: [PATCH 225/374] Add lunasvg(svg rendering library) (#1481) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0bc75ecfc..5bd215e5d 100644 --- a/README.md +++ b/README.md @@ -587,6 +587,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] +* [LunaSVG](https://github.com/sammycage/lunasvg) - a standalone SVG rendering library in C++. [MIT] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) * [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] From 508c09239ee199efcc78226e0cd1a460f78b96a8 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 23:48:51 +0900 Subject: [PATCH 226/374] Add TGUI (Cross-platform modern c++ GUI) (#1482) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5bd215e5d..067607d8a 100644 --- a/README.md +++ b/README.md @@ -565,6 +565,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/) +* [TGUI](https://github.com/texus/TGUI) - Cross-platform modern c++ GUI. [Zlib] [website](https://tgui.eu/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From 4cabd41087a6f9dea673028d7d6e96929bfe7cca Mon Sep 17 00:00:00 2001 From: Bader-eddine Ouaich <49657842+baderouaich@users.noreply.github.com> Date: Sat, 30 Dec 2023 00:06:16 +0100 Subject: [PATCH 227/374] Add tgbotxx (Telegram Bot C++ Library) (#1483) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 067607d8a..9349a03fd 100644 --- a/README.md +++ b/README.md @@ -1148,6 +1148,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StringZilla](https://github.com/ashvardanian/StringZilla) - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] +* [tgbotxx](https://github.com/baderouaich/tgbotxx) - Telegram Bot C++ Library. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] From 173d6bb4b8ff075f72d84c9b6f856fb39381288b Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 30 Dec 2023 16:22:49 +0900 Subject: [PATCH 228/374] Add lwlog (logging library) (#1484) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9349a03fd..b5c097cac 100644 --- a/README.md +++ b/README.md @@ -721,6 +721,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] * [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] +* [lwlog](https://github.com/ChristianPanov/lwlog) - Very fast synchronous and asynchronous C++17 logging library. [MIT] * [plog](https://github.com/SergiusTheBest/plog) - Portable and simple log for C++ in less than 1000 lines of code. [MPL2] * [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] * [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. From e67a6a9540658d139439058ab2108b0170fdcc1c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 00:20:41 +0900 Subject: [PATCH 229/374] Add Jolt Physics (rigid body physics library), sort by library name (#1485) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b5c097cac..0ebf7990d 100644 --- a/README.md +++ b/README.md @@ -910,10 +910,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Box2D](https://github.com/erincatto/Box2D) - A 2D physics engine for games. [BSD-like] * [Bullet](https://github.com/bulletphysics/bullet3) - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org) * [Chipmunk](https://github.com/slembcke/Chipmunk2D) - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/) +* [Jolt Physics](https://github.com/jrouwe/JoltPhysics) - A multi core friendly rigid body physics and collision detection library. [MIT] +* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] * [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] * [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] -* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [PlayRho](https://github.com/louis-langholtz/PlayRho) - An interactive physics engine & library. [Zlib] From 83e3d2b060c74b5fc24e9a2949607ce40d7dc197 Mon Sep 17 00:00:00 2001 From: Ryan Hardy <155328211+ryyHardy@users.noreply.github.com> Date: Tue, 2 Jan 2024 18:50:53 -0500 Subject: [PATCH 230/374] Add The Cherno's C++ playlist to Videos (#1486) Add TheCherno's C++ playlist to Videos --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0ebf7990d..75af5aae3 100644 --- a/README.md +++ b/README.md @@ -1367,6 +1367,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. * [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. * [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... +* [The Cherno's C++ Playlist](https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb) - Extensive C++ tutorial series by The Cherno. ## Websites *Useful C or C++ related websites.* From 52c951b335889d2519df72c19c0a8e9d3ea6eca4 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Sat, 6 Jan 2024 19:36:24 -0400 Subject: [PATCH 231/374] Added C++ team blog (#1487) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 75af5aae3..fd3be0f62 100644 --- a/README.md +++ b/README.md @@ -1408,6 +1408,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Sutter’s Mill](https://herbsutter.com/gotw/) * [Vorbrodt's C++ Blog](https://vorbrodt.blog/) * [foonathan::blog()](https://foonathan.net/index.html) +* [C++ Team Blog](https://devblogs.microsoft.com/cppblog/) - Dev blog from the Microsoft Visual C++ team ## Other Awesome Projects *Collection of useful codes, snippets, ...* From 25af87818406d7ea4b0e8292aae2b9f8a51b2200 Mon Sep 17 00:00:00 2001 From: Ash Vardanian <1983160+ashvardanian@users.noreply.github.com> Date: Mon, 8 Jan 2024 00:35:32 +0000 Subject: [PATCH 232/374] Added Unum and other ML libraries (#1488) --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fd3be0f62..d6d6c5338 100644 --- a/README.md +++ b/README.md @@ -344,6 +344,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] +* [flat_hash_map](https://github.com/skarupke/flat_hash_map) - A very fast flat hashtable with Fibonacci hashing. * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] [website](https://greg7mdp.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 space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) @@ -428,6 +429,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [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 designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] +* [UStore](https://github.com/unum-cloud/ustore) - Multi-Modal database for BLOBs, JSON, and graphs. [Apache2] * [Velox](https://github.com/facebookincubator/velox) - A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/) ## Data visualization @@ -732,16 +734,20 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Machine Learning * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] +* [catboost](https://github.com/catboost/catboost) - A fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] * [darknet](https://github.com/pjreddie/darknet) - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/) * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [FAISS](https://github.com/facebookresearch/faiss) - A library for efficient similarity search and clustering of dense vectors. [MIT] * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) +* [ggml](https://github.com/ggerganov/ggml) - Tensor library for machine learning with 16-bit and 4-bit quantization support. [MIT] * [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) * [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) +* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] * [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) @@ -749,9 +755,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] * [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] +* [USearch](https://github.com/unum-cloud/usearch) - Fast search and clustering library for vectors and strings. [Apache2] * [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) * [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] -* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] ## Math @@ -784,6 +790,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) * [PCG-rand](https://www.pcg-random.org/) - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache] * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) +* [SimSIMD](https://github.com/ashvardanian/SimSIMD) - Vector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2] * [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) * [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] * [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] @@ -865,6 +872,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) * [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] +* [RedPanda](https://github.com/redpanda-data/redpanda) - Streaming data platform for developers. Kafka API compatible. 10x faster. [BSL] * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] * [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] @@ -872,6 +880,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] * [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] +* [UCall](https://github.com/unum-cloud/ucall) - A high-performance SIMD-accelerated RPC library on io_uring. [Apache2] * [WAFer](https://github.com/riolet/WAFer) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] From cd10802e68126e5b0efc320c0df634557cf67a56 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jan 2024 01:34:05 +0900 Subject: [PATCH 233/374] Add LuaBridge3 (binder Lua, LuaJIT, Luau and Ravi to C++) (#1489) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6d6c5338..fc7f2fdc0 100644 --- a/README.md +++ b/README.md @@ -999,6 +999,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) * [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] * [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] +* [LuaBridge3](https://github.com/kunitoki/LuaBridge3) - A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) From 2911d97096a46bac83f31f3d172ac04b053633f9 Mon Sep 17 00:00:00 2001 From: Uno <148621783+Udoheud@users.noreply.github.com> Date: Fri, 12 Jan 2024 11:38:48 +0800 Subject: [PATCH 234/374] Add Infinity, the AI-native database for LLM and RAM (#1490) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fc7f2fdc0..e4e71fa9e 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the 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] +* [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, 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 systems in C. [Apache2] From fbae428b4818eb3ec45b11fc93fbdeca8463e7cf Mon Sep 17 00:00:00 2001 From: Uno <148621783+Udoheud@users.noreply.github.com> Date: Sat, 13 Jan 2024 11:40:07 +0800 Subject: [PATCH 235/374] Move Infinity to the Database category. (#1491) Apologies. I should have put Infinity under the Database category instead of the framework category.. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4e71fa9e..8e7001b6f 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the 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] -* [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, 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 systems in C. [Apache2] @@ -404,6 +403,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DuckDB](https://duckdb.org/) - in-process SQL OLAP Database Management System. [MIT] * [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. [BSD] +* [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [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] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] From 1a587287de07541f7e9330dc9c78ff3f451b6c12 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jan 2024 10:28:11 +0900 Subject: [PATCH 236/374] Add Rapidgzip (#1493) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e7001b6f..2b57e78ff 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [Rapidgzip](https://github.com/mxmlnkn/rapidgzip) - Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] From f8447e2872b6818c48f7ece23cb5afe53aed49df Mon Sep 17 00:00:00 2001 From: Bright Chen <1021774709@qq.com> Date: Tue, 16 Jan 2024 14:23:55 +0800 Subject: [PATCH 237/374] Add bRPC(industrial-grade RPC framework) (#1492) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2b57e78ff..2c3de84e6 100644 --- a/README.md +++ b/README.md @@ -657,6 +657,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] * [Boost.Interprocess](https://github.com/boostorg/interprocess) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://boost.org/libs/interprocess) +* [bRPC](https://github.com/apache/brpc) - bRPC is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. [Apache2] [website](https://brpc.apache.org/) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) From 078bf95eb0052e2f99da6f5918f417de3b9770b7 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jan 2024 23:59:33 +0900 Subject: [PATCH 238/374] sort Compression list (#1494) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c3de84e6..64cac0271 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [heatshrink](https://github.com/atomicobject/heatshrink) - data compression library for embedded/real-time systems [ISC] -* [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] * [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/) @@ -271,6 +270,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [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 Machines. [Apache-2/MIT] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] From 7df8634e3a1e6bace4bb22e400a0638be4a77332 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 19 Jan 2024 23:48:07 +0900 Subject: [PATCH 239/374] Add srell (regex library) (#1495) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 64cac0271..b02503cd7 100644 --- a/README.md +++ b/README.md @@ -965,6 +965,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Proprietary] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] +* [SRELL](https://www.akenotsuki.com/misc/srell/en/) - Unicode-aware regular expression template library for C++. [BSD] ## Robotics From 9a5d9d17dafda35dd097b297fa3eceef9d8db5a1 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 Jan 2024 23:30:15 +0900 Subject: [PATCH 240/374] Add mINI (ini file reader/writer library) (#1496) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b02503cd7..3870d17cf 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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.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 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.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] From df1b40f28e48d31f8cb0cab9c4156712a7b3990c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 Jan 2024 23:31:25 +0900 Subject: [PATCH 241/374] Add hat-trie (HAT trie library) (#1497) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3870d17cf..3014928a7 100644 --- a/README.md +++ b/README.md @@ -344,9 +344,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] +* [flat_hash_map](https://github.com/skarupke/flat_hash_map) - A very fast flat hashtable with Fibonacci hashing. * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table 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] -* [flat_hash_map](https://github.com/skarupke/flat_hash_map) - A very fast flat hashtable with Fibonacci hashing. * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] [website](https://greg7mdp.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 space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) From b6edbcfee929fd92ae2ba036e5e03094f6830cc4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 28 Jan 2024 02:06:39 +0900 Subject: [PATCH 242/374] add tree containers (st_tree, tree.hh) (#1498) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3014928a7..71f1a0a0e 100644 --- a/README.md +++ b/README.md @@ -358,7 +358,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] +* [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] ## Cryptography From 73619060a1e71e8d4e3d84e9a56a31adb2369d9a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Feb 2024 23:37:18 +0900 Subject: [PATCH 243/374] Add Reindexer (#1500) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71f1a0a0e..9c7604923 100644 --- a/README.md +++ b/README.md @@ -421,6 +421,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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, and cross-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 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 abstraction layer for C++. [Boost] From 3e10e576b633da5951874a83190cb8ab23ed8414 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 18 Feb 2024 07:54:00 +0900 Subject: [PATCH 244/374] add TermOx (terminal UI library), sort CLI category (#1501) * add termox, sort CLI category, normalilze entry name * revert linenoise position --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9c7604923..6929e96eb 100644 --- a/README.md +++ b/README.md @@ -225,16 +225,19 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] - * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] + * [args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [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) * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [cli](https://github.com/daniele77/cli) - A 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] - * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] + * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [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.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, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] @@ -247,9 +250,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] - * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] - * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] - * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface. [MIT] + * [TermOx](https://github.com/a-n-t-h-o-n-y/TermOx) - C++17 Terminal User Interface(TUI) Library. [MIT] ## Compression *Compression and Archiving Libraries* From 065a83dc05db9981e185d28c596c5f6152f27628 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Feb 2024 23:54:10 +0900 Subject: [PATCH 245/374] Add miniscript (embed scripting language) (#1502) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6929e96eb..cec9614e8 100644 --- a/README.md +++ b/README.md @@ -1011,6 +1011,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] * [LuaBridge3](https://github.com/kunitoki/LuaBridge3) - A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] +* [MiniScript](https://miniscript.org/) - scripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) From da22bce3c92862eb917cf0ce36b6d16a2e60f0a1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Feb 2024 01:00:06 +0900 Subject: [PATCH 246/374] add png libraries (#1503) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index cec9614e8..8b27629b8 100644 --- a/README.md +++ b/README.md @@ -621,6 +621,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [fpng](https://github.com/richgel999/fpng) - Super fast C++ .PNG writer/reader. [Unlicense] * [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] * [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) * [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. @@ -631,6 +632,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libjxl](https://github.com/libjxl/libjxl) - JPEG XL image format reference implementation. [BSD-3-Clause] +* [libpng](https://github.com/pnggroup/libpng) - the reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0] [website](https://libpng.sourceforge.io/) * [libspng](https://github.com/randy408/libspng) - Simple, modern libpng alternative. [BSD-2] [website](https://libspng.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] From be6a9236d2b119a840a2dd6e74a25838f43fe644 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Feb 2024 15:39:20 +0900 Subject: [PATCH 247/374] add CCTZ (time-zone, civil-time translating library) (#1504) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8b27629b8..2935ba5fc 100644 --- a/README.md +++ b/README.md @@ -1130,6 +1130,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) +* [CCTZ](https://github.com/google/cctz) - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0] * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] From 80e5cef89614846781a78b4cddf1ea8fc0da0bd6 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Feb 2024 18:54:29 +0900 Subject: [PATCH 248/374] sort Miscellaneous category (#1505) --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 2935ba5fc..3db81284f 100644 --- a/README.md +++ b/README.md @@ -1130,38 +1130,40 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) +* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CCTZ](https://github.com/google/cctz) - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0] * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] +* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) -* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] +* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) -* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] -* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] -* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] -* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [Jinja2С++](https://github.com/jinja2cpp/Jinja2Cpp) - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/) * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] -* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] +* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] +* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] +* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] +* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] @@ -1170,8 +1172,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] -* [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] +* [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [StringZilla](https://github.com/ashvardanian/StringZilla) - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [tgbotxx](https://github.com/baderouaich/tgbotxx) - Telegram Bot C++ Library. [MIT] @@ -1181,8 +1183,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] -* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] -* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] # Software *Software for creating a development environment.* From f20a669e0c6025483686762e73bc837b110ea427 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 23:15:29 +0900 Subject: [PATCH 249/374] Add OpenJPEG(JPEG 2000 library) (#1506) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3db81284f..5408e7ee5 100644 --- a/README.md +++ b/README.md @@ -642,6 +642,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] +* [OpenJPEG](https://github.com/uclouvain/openjpeg) - an open-source JPEG 2000 codec written in C language. [BSD-2-Clause] * [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] * [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] * [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] From e23f033a6c758378d5f3fe015a50f55b1db9d706 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 22:24:00 +0900 Subject: [PATCH 250/374] Add Xalan C (#1508) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5408e7ee5..18d1a23d4 100644 --- a/README.md +++ b/README.md @@ -1115,6 +1115,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] * [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] * [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] +* [Xalan C](https://github.com/apache/xalan-c) - A library and a command line program to transform XML documents using a stylesheet that conforms to XSLT 1.0 standards. [Apache-2.0] [website](https://xalan.apache.org/) * [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] ## Yaml From 85c11f2b3dc3b30465f9145822aa6a283892443f Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 29 Feb 2024 23:22:24 +0900 Subject: [PATCH 251/374] Add CRCpp (CRC library) (#1509) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18d1a23d4..61e9d3956 100644 --- a/README.md +++ b/README.md @@ -1132,6 +1132,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) +* [CRCpp](https://github.com/d-bahr/CRCpp) - Easy to use and fast C++ CRC library. [BSD-3-Clause] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CCTZ](https://github.com/google/cctz) - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0] * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. From 9cc00cb9d72defd020ec6e4daae79888f3cd0655 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Mar 2024 23:39:00 +0900 Subject: [PATCH 252/374] Add SaneCppLibraries (platform abstraction libraries) (#1510) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61e9d3956..a3cea66b4 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Qt](https://github.com/qt) :zap: - A 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, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] +* [SaneCppLibraries](https://github.com/Pagghiu/SaneCppLibraries) - a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] [website](https://pagghiu.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/) * [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] From e36131502f7331087f763afafbc41ea6c2f6a08f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Mar 2024 00:44:25 +0900 Subject: [PATCH 253/374] Add frozen (constexpr container library) (#1511) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a3cea66b4..90ec38127 100644 --- a/README.md +++ b/README.md @@ -347,6 +347,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [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 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] From ad5e46fefb44480a0f7ff4595eeb829962ea1f3e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 7 Mar 2024 23:51:00 +0900 Subject: [PATCH 254/374] Add RapidFuzz (Levenshtein Distance library) (#1513) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 90ec38127..149a756e2 100644 --- a/README.md +++ b/README.md @@ -1169,6 +1169,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] * [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] +* [RaipdFuzz](https://github.com/rapidfuzz/rapidfuzz-cpp) - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] From 182d81798cd48046aa9b76c78f9c073f43e8b8fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stjepan=20Jurekovi=C4=87?= Date: Sat, 9 Mar 2024 02:49:33 +0100 Subject: [PATCH 255/374] Added 100 C++ Mistakes and How to Avoid Them (#1512) Hi, Stjepan from Manning here. I thought this tile might be a good match for your list. Thank you for considering it. Best, --- books.md | 1 + 1 file changed, 1 insertion(+) diff --git a/books.md b/books.md index 4f418d477..b291f86a8 100644 --- a/books.md +++ b/books.md @@ -20,6 +20,7 @@ ## C++ +* [100 C++ Mistakes and How to Avoid Them](https://www.manning.com/books/100-c-plus-plus-mistakes-and-how-to-avoid-them) * [C++ Annotations](http://cppannotations.sourceforge.net/) * [C++ Cookbook](http://staff.ppu.edu/dkhalid/O'Reilly%20-%20C++%20Cookbook%20%282007%29.pdf) (PDF) * [C++ GUI Programming With Qt 3](http://www.computer-books.us/cpp_0010.php) From 110f7aba22aad93ad92f8612699188ca544d1940 Mon Sep 17 00:00:00 2001 From: Navid Jalili <81755097+Navid-JL@users.noreply.github.com> Date: Sun, 10 Mar 2024 07:54:55 +0330 Subject: [PATCH 256/374] Add SPICE Toolkit to the Robotics section (#1515) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 149a756e2..53af8c08d 100644 --- a/README.md +++ b/README.md @@ -988,6 +988,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] * [Ruckig](https://github.com/pantor/ruckig) - Real-time motion generation for robots and machines. [MIT] [website](https://ruckig.com) * [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) +* [SPICE Toolkit](https://github.com/arturania/cspice) - Library and toolkit for computing geometric information used in planning and analyzing science observations obtained from robotic spacecraft. [MIT] [website](https://naif.jpl.nasa.gov/naif/toolkit.html) ## Scientific Computing From bd4fccd147241a2b1afec800f097df6a721f5fe4 Mon Sep 17 00:00:00 2001 From: Matheus Werny <46067952+Spixmaster@users.noreply.github.com> Date: Sun, 10 Mar 2024 21:10:57 +0100 Subject: [PATCH 257/374] Added mailio (#1516) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 53af8c08d..02bbe02ef 100644 --- a/README.md +++ b/README.md @@ -875,6 +875,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) * [Lithium](https://matt-42.github.io/lithium/) - Build high performance C++ HTTP servers without being a C++ expert. [MIT] * [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] +* [mailio](https://github.com/karastojko/mailio) - mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. [BSD] * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) * [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] From 472a1957afc1e75c714cf17365608b39b36a7d27 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Mar 2024 19:20:17 +0900 Subject: [PATCH 258/374] Add fixed-containers (constexpr containers) (#1517) * Add fixed-containers * add description --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02bbe02ef..f0c3c9640 100644 --- a/README.md +++ b/README.md @@ -346,6 +346,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] +* [fixed-containers](https://github.com/teslamotors/fixed-containers) - Header-only C++20 library that provides fixed capacity constexpr 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 in C++. [MIT] From 2d34a68bf37d152ce679d05cdc57c5ab0c97f3de Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Mar 2024 16:39:10 +0900 Subject: [PATCH 259/374] Add libfork (tasking library with coroutine) (#1518) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0c3c9640..301d1f5a2 100644 --- a/README.md +++ b/README.md @@ -307,6 +307,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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.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.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 task scheduler written in C++ 11. [Apache-2.0] * [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a 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] From b526e885bebc13be9d2737c52f3a64470ce9fd7c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Mar 2024 16:05:44 +0900 Subject: [PATCH 260/374] Add fast_io (faster input/output library) (#1521) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 301d1f5a2..3399ff78f 100644 --- a/README.md +++ b/README.md @@ -1151,6 +1151,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] +* [fast_io](https://github.com/cppfastio/fast_io) - Significantly faster input/output for C++20. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. From 36855fbf2a5eeced5de2e86e29c1cf79ee7400d3 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Mar 2024 20:30:51 +0900 Subject: [PATCH 261/374] dynamic_bitset: update description, add website (#1522) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3399ff78f..97e7ba4c0 100644 --- a/README.md +++ b/README.md @@ -346,7 +346,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] -* [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] +* [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - Simple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT] [website](https://pinam45.github.io/dynamic_bitset/) * [fixed-containers](https://github.com/teslamotors/fixed-containers) - Header-only C++20 library that provides fixed capacity constexpr 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] From 2514fe66e678609d82de3d6e1965f5a4644a9b97 Mon Sep 17 00:00:00 2001 From: Arnaud Kleinpeter Date: Sun, 24 Mar 2024 04:08:36 +0100 Subject: [PATCH 262/374] Add Ccache to the build systems (#1520) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97e7ba4c0..c75bb23d5 100644 --- a/README.md +++ b/README.md @@ -1273,6 +1273,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] * [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] * [build2](https://build2.org/) - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT] +* [Ccache](https://ccache.dev/) - A fast C/C++ compiler cache. [GPLv3] * [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) From ef5cf4e9cff911d036c132ed1881665806846b3e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 25 Mar 2024 17:21:08 +0900 Subject: [PATCH 263/374] Add cpp-lazy (lazy evaluation library) (#1523) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c75bb23d5..8065e91ae 100644 --- a/README.md +++ b/README.md @@ -1138,12 +1138,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) -* [CRCpp](https://github.com/d-bahr/CRCpp) - Easy to use and fast C++ CRC library. [BSD-3-Clause] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CCTZ](https://github.com/google/cctz) - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0] * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [cpp-lazy](https://github.com/MarcDirven/cpp-lazy) - a fast and easy lazy evaluation library for C++11/14/17/20. [MIT] +* [CRCpp](https://github.com/d-bahr/CRCpp) - Easy to use and fast C++ CRC library. [BSD-3-Clause] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) From 1211b254f1a6d609131afe6d00c7eeb655c34fbb Mon Sep 17 00:00:00 2001 From: Kaido Kert Date: Thu, 28 Mar 2024 18:16:10 -0700 Subject: [PATCH 264/374] Add Sccache compiler cache (#1524) Adding link to Mozilla sccache, a ccache-like ( #1520 ) compiler cache. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8065e91ae..25bd9b49c 100644 --- a/README.md +++ b/README.md @@ -1284,6 +1284,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Hunter](https://www.github.com/ruslo/hunter) - CMake driven cross-platform package manager for C++. [BSD-2] * [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. * [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. +* [Sccache](https://github.com/mozilla/sccache) - A fast compiler cache for C/C++, with cross-platform support and cloud backed storage options. * [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. * [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. * [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] From f1612de3c987b5d3fb3f0f8919490a004f89c9d3 Mon Sep 17 00:00:00 2001 From: Everett Pompeii Date: Thu, 4 Apr 2024 20:57:19 -0400 Subject: [PATCH 265/374] Add Bencher (#1305) https://github.com/bencherdev/bencher --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25bd9b49c..e4cca577a 100644 --- a/README.md +++ b/README.md @@ -453,6 +453,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* * [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] +* [Bencher](https://bencher.dev/) - A suite of continuous benchmarking tools designed to catch performance regressions in CI. [MIT]/[Apache2] * [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] * [Boost.Test](https://github.com/boostorg/test) - Boost Test Library. [Boost] [website](https://boost.org/libs/test) * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) From fb52755cca35b06c90b40af0a192ad9d87c9ac87 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Apr 2024 01:41:51 +0900 Subject: [PATCH 266/374] Add cpp-dump (debugging library) (#1528) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4cca577a..6efbf9d97 100644 --- a/README.md +++ b/README.md @@ -460,6 +460,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] * [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] +* [cpp-dump](https://github.com/philip82148/cpp-dump) - A C++ library for debugging purposes that can print any variable, even user-defined types. [MIT] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] From 43508470e12b0f872edc431e7c390eeaea839942 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 8 Apr 2024 04:52:29 +0900 Subject: [PATCH 267/374] Add wagyu (geometry library) (#1530) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6efbf9d97..831bbe5a8 100644 --- a/README.md +++ b/README.md @@ -814,6 +814,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). +* [Wagyu](https://github.com/mapbox/wagyu) - A general library for geometry operations of union, intersections, difference, and xor. [mapbox-wagyu original] * [Wykobi](https://www.wykobi.com) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] * [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) * [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] From 01be2ee52c2640708862f71d2e311d8f4054086d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Apr 2024 01:28:54 +0900 Subject: [PATCH 268/374] Add mgclient (memgraph client library) (#1531) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 831bbe5a8..ac59050f5 100644 --- a/README.md +++ b/README.md @@ -419,6 +419,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for 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 library. [PublicDomain] +* [mgclient](https://github.com/memgraph/mgclient) - C/C++ Memgraph Client. [Apache2] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] * [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for MongoDB. [Apache2] * [MongoDB Libbson](https://github.com/mongodb/libbson) - A BSON utility library. [Apache2] From 0a2bf91d5f93c850875e104c44a0e73b3ed12a8e Mon Sep 17 00:00:00 2001 From: Sergey S Date: Thu, 11 Apr 2024 03:32:37 +0100 Subject: [PATCH 269/374] Remove mention of Clara CLI library from the list as it's not longer maintained (#1529) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ac59050f5..e2ad32c8c 100644 --- a/README.md +++ b/README.md @@ -228,7 +228,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [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) - * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [cli](https://github.com/daniele77/cli) - A 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] From b5b007efaf2fc77213ab4773bced588a8f0bbe58 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Wed, 10 Apr 2024 21:33:32 -0500 Subject: [PATCH 270/374] Add libassert (#1527) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2ad32c8c..e3183d845 100644 --- a/README.md +++ b/README.md @@ -476,6 +476,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] +* [libassert](https://github.com/jeremy-rifkin/libassert) - The most over-engineered C++ assertion library. [MIT] * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] * [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] * [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] From 12839dcec5043bc24b863302fb49bceec5cead55 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 12 Apr 2024 16:58:17 +0900 Subject: [PATCH 271/374] Add wildcard (header-only wildcards matching library) (#1532) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3183d845..0b56b1df1 100644 --- a/README.md +++ b/README.md @@ -1197,6 +1197,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] * [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] +* [Wildcards](https://github.com/zemasoft/wildcards/) - A simple C++ header-only template library implementing matching using wildcards. [BSL-1.0] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] From 2e9f197c0f3afc8098310e22c395cf0a667182b9 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Apr 2024 22:08:58 +0900 Subject: [PATCH 272/374] Add neco (concurrency library for C) (#1534) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0b56b1df1..629a0cec9 100644 --- a/README.md +++ b/README.md @@ -311,6 +311,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [marl](https://github.com/google/marl) - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0] * [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a 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] From d4bab61710e96b872838465bb12723dcf7fde64a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20David?= Date: Sun, 14 Apr 2024 21:06:51 +0200 Subject: [PATCH 273/374] Update README.md (#1533) Correct typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 629a0cec9..dcea4d588 100644 --- a/README.md +++ b/README.md @@ -1180,7 +1180,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] * [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] -* [RaipdFuzz](https://github.com/rapidfuzz/rapidfuzz-cpp) - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/) +* [RapidFuzz](https://github.com/rapidfuzz/rapidfuzz-cpp) - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] From 7658e092e83d6223d90db4e2754d67f93e0ec96b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 17 Apr 2024 01:13:47 +0900 Subject: [PATCH 274/374] Add webui (GUI library using any web browser) (#1535) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dcea4d588..1a8452706 100644 --- a/README.md +++ b/README.md @@ -584,6 +584,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/) * [TGUI](https://github.com/texus/TGUI) - Cross-platform modern c++ GUI. [Zlib] [website](https://tgui.eu/) +* [WebUI](https://github.com/webui-dev/webui) - Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT] [website](https://webui.me/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From c4ce750e3540718c22ab99ddc0a32e60f2401661 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 Apr 2024 15:13:27 +0900 Subject: [PATCH 275/374] Add TinyTIFF (tiff library) (#1536) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1a8452706..973daec12 100644 --- a/README.md +++ b/README.md @@ -657,6 +657,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] * [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] * [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] +* [TinyTIFF](https://github.com/jkriege2/TinyTIFF) - lightweight TIFF reader/writer library. [GPL-3.0] * [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] * [VIGRA](https://github.com/ukoethe/vigra) - A generic C++ computer vision library for image analysis. [MIT X11] * [VTK](http://www.vtk.org/) - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD] From deb43b12c770fd267c0b461eaa1d349b091c01ae Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 28 Apr 2024 23:50:26 +0900 Subject: [PATCH 276/374] Add happly (PLY file parser) (#1537) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 973daec12..9ee1ebfd5 100644 --- a/README.md +++ b/README.md @@ -1163,6 +1163,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. +* [happly](https://github.com/nmwsharp/happly) - A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT] * [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] From 08521b2a93a41c3e8ea44eb93e87bd827c0bcea4 Mon Sep 17 00:00:00 2001 From: Ruja Awal Date: Thu, 16 May 2024 08:40:57 +0545 Subject: [PATCH 277/374] Added C Playground where you can write, edit, and run code online (#1539) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ee1ebfd5..de6bd535f 100644 --- a/README.md +++ b/README.md @@ -1276,6 +1276,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. * [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. * [cquery](https://github.com/cquery-project/cquery/) - A C++ code completion engine for vscode, emacs, vim, etc. +* [C Playground - Online C Programming IDE](https://programiz.pro/ide/c) - An online IDE to practice C Programming where you can write, edit, and run code online. ## Build Systems From 5ae127744b4e87abf8a398fc90f08e4ad734b0cf Mon Sep 17 00:00:00 2001 From: iAndyHD3 <54410739+iAndyHD3@users.noreply.github.com> Date: Sat, 18 May 2024 06:05:58 +0200 Subject: [PATCH 278/374] Add Axmol Engine (#1540) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de6bd535f..4d50732da 100644 --- a/README.md +++ b/README.md @@ -526,6 +526,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT] * [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] +* [Axmol Engine](https://github.com/axmolengine/axmol) - A cross-platform game engine for desktop, mobile, and XBOX (UWP), derived from Cocos2d-x-4.0. [MIT] [website](https://axmol.dev/) * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [Corange](https://github.com/orangeduck/Corange) - A game engine written in pure C, SDL and OpenGL. [BSD] * [crown](https://github.com/dbartolini/crown) - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT] From 2819cbb0e89c58aacff455572157999e1a9e68d9 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 12 Jun 2024 19:56:19 +0900 Subject: [PATCH 279/374] add Kanzi (compression library) (#1542) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d50732da..506fb3143 100644 --- a/README.md +++ b/README.md @@ -261,6 +261,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [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/) From 8f69809f7e17231d09bc7f8edf7145e97a5a0d40 Mon Sep 17 00:00:00 2001 From: Michael Filion Date: Mon, 17 Jun 2024 22:46:48 -0400 Subject: [PATCH 280/374] Updating link to Pistache (#1544) Addresses #1543 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 506fb3143..ccf607d48 100644 --- a/README.md +++ b/README.md @@ -1111,7 +1111,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] * [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] * [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) -* [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] +* [Pistache](https://pistacheio.github.io/pistache/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) * [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) From 35b0e2d6f7583967e0fa53327e6d9d773a6900b2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 19 Jun 2024 23:56:51 +0900 Subject: [PATCH 281/374] Add rpp (Rust-inspired STL replacement) (#1545) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ccf607d48..bd50255fe 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Qt](https://github.com/qt) :zap: - A 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, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO 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-inspired C++20 STL replacement. [MIT] * [SaneCppLibraries](https://github.com/Pagghiu/SaneCppLibraries) - a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] [website](https://pagghiu.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/) * [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] From 03097865e58c3488d84e5b2850a8420487de7e73 Mon Sep 17 00:00:00 2001 From: "Ibrahim Ahmad (feyroozecode)" <43380715+feyroozecode@users.noreply.github.com> Date: Fri, 21 Jun 2024 06:08:32 +0100 Subject: [PATCH 282/374] Update books.md (#1546) the old link from : https://www.planetpdf.com/codecuts/pdfs/ooc.pdf it dosn't work properly --- books.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/books.md b/books.md index b291f86a8..c66d85f43 100644 --- a/books.md +++ b/books.md @@ -10,7 +10,7 @@ * [Deep C](http://www.slideshare.net/olvemaudal/deep-c) * [Essential C](http://cslibrary.stanford.edu/101/EssentialC.pdf) (PDF) * [Learn C the hard way](http://c.learncodethehardway.org/book/) -* [Object Oriented Programming in C](http://www.planetpdf.com/codecuts/pdfs/ooc.pdf) (PDF) +* [Object Oriented Programming in C](https://hps.vi4io.org/_media/teaching/wintersemester_2012_2013/epc-1213-grigoras-oo-praesentation.pdf) (PDF) * [The C book](http://publications.gbdirect.co.uk/c_book/) * [The Craft of Text Editing or A Cookbook for an Emacs](http://www.finseth.com/craft/) - Craig A. Finseth * [The GNU C Programming Tutorial](http://www.crasseux.com/books/ctut.pdf) From 8efbce7c5ec05b71889147c4d90cd4a474c2e2a2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 22 Jun 2024 23:59:16 +0900 Subject: [PATCH 283/374] Add txiki.js(JavaScript engine) (#1548) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd50255fe..c5b73753c 100644 --- a/README.md +++ b/README.md @@ -1039,6 +1039,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) +* [txiki.js](https://github.com/saghul/txiki.js) - A tiny JavaScript runtime. [MIT] * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] * [v8pp](https://github.com/pmed/v8pp) - Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST] [website](https://pmed.github.io/v8pp/) From e321cde97448118c3a91f037b1c048f8efb294c8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 24 Jun 2024 23:46:43 +0900 Subject: [PATCH 284/374] Add TinyDNG(DNG TIFF loader/writer library) (#1550) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5b73753c..dbeada05d 100644 --- a/README.md +++ b/README.md @@ -659,6 +659,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] * [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] * [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] +* [TinyDNG](https://github.com/syoyo/tinydng) - Header-only Tiny DNG/TIFF loader and writer in C++. [MIT] * [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] * [TinyTIFF](https://github.com/jkriege2/TinyTIFF) - lightweight TIFF reader/writer library. [GPL-3.0] * [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] From 339809d5c27dd47f3fc28e0238fea4b69f9d5474 Mon Sep 17 00:00:00 2001 From: Sijie Yang Date: Sun, 30 Jun 2024 04:20:46 +0800 Subject: [PATCH 285/374] Add TQUIC (quic protocol library) (#1551) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbeada05d..9165db56e 100644 --- a/README.md +++ b/README.md @@ -905,6 +905,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] * [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] +* [TQUIC](https://github.com/tencent/tquic) - A high-performance, lightweight, and cross-platform QUIC library, exposed to C and C++. [Apache2] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] * [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] From 15a4d1ade70570e53bb5383b7accdef0d6f638fd Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 30 Jun 2024 22:57:06 +0900 Subject: [PATCH 286/374] Add libpg_query (sql parser library) (#1552) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9165db56e..e68b803bf 100644 --- a/README.md +++ b/README.md @@ -418,6 +418,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [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 parser outside of the server environment. [BSD-3-Clause] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for 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 library. [PublicDomain] From b6ab20babb6095391339d4d1795256fcf842408a Mon Sep 17 00:00:00 2001 From: Chip Hogg Date: Wed, 3 Jul 2024 22:55:17 -0400 Subject: [PATCH 287/374] Add Au(C++14-compatible units and quantities lib) (#1553) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e68b803bf..c6bd2d269 100644 --- a/README.md +++ b/README.md @@ -1009,6 +1009,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Scientific Computing * [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] +* [Au](https://github.com/aurora-opensource/au) - A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience. [Apache 2.0] [website](https://aurora-opensource.github.io/au/main/) * [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] * [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] * [preCICE](https://github.com/precice/precice) - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/) From a0125e5a406d79896866cf69c4269160710c0c15 Mon Sep 17 00:00:00 2001 From: Igor Bogoslavskyi Date: Sat, 13 Jul 2024 21:32:43 +0200 Subject: [PATCH 288/374] Add cpp-for-yourself links (#1554) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c6bd2d269..faafb29aa 100644 --- a/README.md +++ b/README.md @@ -1424,6 +1424,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. * [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... * [The Cherno's C++ Playlist](https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb) - Extensive C++ tutorial series by The Cherno. +* [Code for Yourself C++ Playlist](https://www.youtube.com/playlist?list=PLwhKb0RIaIS1sJkejUmWj-0lk7v_xgCuT) - A complete C++ course covering everything from fundamentals to software design. ## Websites *Useful C or C++ related websites.* @@ -1447,6 +1448,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. * [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. * [cppexpert.online](https://cppexpert.online) - Learn the best C++ practices by improving code snippets with some problems or with bad practices. +* [C++ for yourself](https://github.com/cpp-for-yourself) - A comprehensive tutorial on modern C++ covering everything from fundamentals to software design. ## Weblogs *Useful C or C++ related weblogs.* From 26b78e504bc0eb947513d31996b8c25ad3590cf9 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 16:25:56 +0900 Subject: [PATCH 289/374] Add simple_enum(enum support library) (#1558) * Add simple_enum(enum support library) * remove space --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index faafb29aa..99ea06b1c 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [reflect-cpp](https://github.com/getml/reflect-cpp) - Serialization through reflection, including automatic field name retrieval from structs. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) +* [simple_enum](https://github.com/arturbac/simple_enum) - An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0] [website](https://arturbac.github.io/simple_enum/) * [TSMP](https://github.com/fabian-jung/tsmp) - An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT] * [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [Boost] * [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] From 302dee69d6c9fc6911afed0286cd46cbee34abaf Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 31 Jul 2024 23:59:17 +0900 Subject: [PATCH 290/374] Add FTP client for C++ (#1559) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 99ea06b1c..c64bd5195 100644 --- a/README.md +++ b/README.md @@ -877,6 +877,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] * [ENet](https://github.com/lsalzman/enet) - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/) * [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] +* [FTP client for C++](https://github.com/embeddedmz/ftpclient-cpp) - C++ client for making FTP requests. [MIT] * [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT] From 67cf8c61cf8c3cdd3dd13803f448caa6fee6bbf6 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Sun, 11 Aug 2024 01:24:06 -0400 Subject: [PATCH 291/374] List JSON Toolkit (#1560) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c64bd5195..54ddb31e5 100644 --- a/README.md +++ b/README.md @@ -720,6 +720,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] * [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] * [json-voorhees](https://github.com/tgockel/json-voorhees) - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2] +* [JSON Toolkit](https://github.com/sourcemeta/jsontoolkit) - JSON, JSON Pointer, JSON Schema, and JSONL library for C++20. [AGPL/Commercial] * [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] * [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] * [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] From 48f9045728f7f60938aa05159afb435ad973f3f9 Mon Sep 17 00:00:00 2001 From: Matthew Reome Date: Thu, 22 Aug 2024 21:52:02 -0400 Subject: [PATCH 292/374] Update Cutelyst License (#1562) Cutelyst was re-licensed to BSD-3-Clause --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54ddb31e5..843f8eacf 100644 --- a/README.md +++ b/README.md @@ -1112,7 +1112,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) -* [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) +* [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause] [website](https://cutelyst.org/) * [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] * [C++ wfrest](https://github.com/wfrest/wfrest) - C++ Web Framework REST API. [Apache2] * [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) From d4da57cd40db8e1c9632ecd4a35809f71887573c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Sep 2024 23:57:34 +0900 Subject: [PATCH 293/374] Add rapidhash (hash function library) (#1564) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 843f8eacf..5181bb66e 100644 --- a/README.md +++ b/README.md @@ -1195,6 +1195,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [RapidFuzz](https://github.com/rapidfuzz/rapidfuzz-cpp) - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/) +* [rapidhash](https://github.com/Nicoshev/rapidhash) - Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] From 9341d15e5981635744e6bb5e7a07ffc9879b07c3 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 22 Sep 2024 05:47:59 +0900 Subject: [PATCH 294/374] Add wxCharts (wxWidgets charts library) (#1565) * Add wxCharts (wxWidgets charts library) * reorder --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5181bb66e..0867e99b2 100644 --- a/README.md +++ b/README.md @@ -589,6 +589,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/) * [TGUI](https://github.com/texus/TGUI) - Cross-platform modern c++ GUI. [Zlib] [website](https://tgui.eu/) * [WebUI](https://github.com/webui-dev/webui) - Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT] [website](https://webui.me/) +* [wxCharts](https://github.com/wxIshiko/wxCharts) - A library to create charts in wxWidgets applications. [MIT] [website](https://www.wxishiko.com/wxCharts/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From 9d4c94b047317040ee07192bad0e13f792c9e760 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Sep 2024 09:55:57 +0900 Subject: [PATCH 295/374] Add BqLog (logging library) (#1566) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0867e99b2..d2025efc4 100644 --- a/README.md +++ b/README.md @@ -744,6 +744,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](https://github.com/boostorg/log) - Designed to be very modular and extensible. [Boost] [website](https://boost.org/libs/log) +* [BqLog](https://github.com/Tencent/BqLog) - A lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0] * [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] * [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] From f2bd50e89df927901781ac53c66589cc8c0ce24e Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Sep 2024 17:39:07 +0900 Subject: [PATCH 296/374] Add REFLECT (reflection library) (#1567) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2025efc4..055a974b3 100644 --- a/README.md +++ b/README.md @@ -979,6 +979,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] +* [REFLECT](https://github.com/qlibs/reflect) - C++20 Static Reflection library. [MIT] * [reflect-cpp](https://github.com/getml/reflect-cpp) - Serialization through reflection, including automatic field name retrieval from structs. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) * [simple_enum](https://github.com/arturbac/simple_enum) - An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0] [website](https://arturbac.github.io/simple_enum/) From bc625c8d36acbc263c314fe861e18e28eea220b4 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Sep 2024 23:39:49 +0900 Subject: [PATCH 297/374] Add FastLZ (LZ77 compression library) (#1568) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 055a974b3..82a0aab75 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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. * [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] From 2a3c5d84c34245399180d67c36d430063cacc1f9 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Sep 2024 14:55:58 +0900 Subject: [PATCH 298/374] Add coros (coroutine library) (#1569) * Add coros (coroutine library) * capitalize --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82a0aab75..665e1e2bb 100644 --- a/README.md +++ b/README.md @@ -294,6 +294,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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+] From 199f5b918c05274e29d371c8c178747f1f2599e7 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Sep 2024 00:25:53 +0900 Subject: [PATCH 299/374] Add HighwayHash (#1570) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 665e1e2bb..673e7ae18 100644 --- a/README.md +++ b/README.md @@ -1181,6 +1181,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [happly](https://github.com/nmwsharp/happly) - A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT] * [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) +* [HighwayHash](https://github.com/google/highwayhash) - Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] * [Jinja2С++](https://github.com/jinja2cpp/Jinja2Cpp) - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/) From 17be50a30b17f87ccc941264d1723ee66f1fd318 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Sep 2024 18:56:35 +0900 Subject: [PATCH 300/374] Add Wirehair (Fountain Code library) (#1572) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 673e7ae18..7ca8e1ebe 100644 --- a/README.md +++ b/README.md @@ -1077,6 +1077,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] * [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] +* [Wirehair](https://github.com/catid/wirehair) - O(N) Fountain Code for Large Data. [BSD-3-Clause] * [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] * [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). From fe2c640490a23e421a7775e06d16a7c4da1358b0 Mon Sep 17 00:00:00 2001 From: healerfighter <149600855+healerfighter@users.noreply.github.com> Date: Mon, 30 Sep 2024 04:27:39 +0530 Subject: [PATCH 301/374] fixed typo error (#1571) --- videos.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/videos.md b/videos.md index 740879688..fb514ca34 100644 --- a/videos.md +++ b/videos.md @@ -1,5 +1,5 @@ * [Modern C++: What You Need to Know](https://www.youtube.com/watch?v=TJHgp1ugKGM) - This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry. This is a great introduction to the current state of the language, including a glimpse into the future of general purpose, performance-intensive, power-friendly, powerful native programming. [Apr 7, 2014] * [Bjarne Stroustrup - The Essence of C++](https://www.youtube.com/watch?v=86xWVb4XIyE) - Bjarne Stroustrup, creator and developer of C++, delivers his talk entitled, The Essence of C++. Stroustrup has held distinguished posts at Texas A&M University and spent significant time in the Computer Science Departments of Cambridge, Columbia and Princeton. [May 6, 2014] -* [CppCon - The C++ Conference](https://www.youtube.com/user/CppCon/) - An international conference about C++ and its aplications on modern software engineering. -* [C++Now - The C++ Conference](https://www.youtube.com/@BoostCon) - An international conference about C++ and its aplications on modern software engineering. +* [CppCon - The C++ Conference](https://www.youtube.com/user/CppCon/) - An international conference about C++ and its applications on modern software engineering. +* [C++Now - The C++ Conference](https://www.youtube.com/@BoostCon) - An international conference about C++ and its applications on modern software engineering. From 9811b698209eac6eb38a26ddfaf936b855f75054 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 30 Sep 2024 14:20:11 +0900 Subject: [PATCH 302/374] Add QOI (image format library) (#1573) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ca8e1ebe..ae7563a41 100644 --- a/README.md +++ b/README.md @@ -659,6 +659,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] * [OpenJPEG](https://github.com/uclouvain/openjpeg) - an open-source JPEG 2000 codec written in C language. [BSD-2-Clause] +* [QOI](https://github.com/phoboslab/qoi) - The “Quite OK Image Format” for fast, lossless image compression. [MIT] * [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] * [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] * [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] From c4034ae68fa0ee728b041518c24cc40499d64d8d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 1 Oct 2024 23:48:08 +0900 Subject: [PATCH 303/374] Add MPH (hash function library) (#1574) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ae7563a41..908f4d163 100644 --- a/README.md +++ b/README.md @@ -1198,6 +1198,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] +* [MPH](https://github.com/qlibs/mph) - C++20 [Minimal] Static Perfect Hash library. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] * [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] From 1c72d59332ee1c08bad93e43868b564d2a06d203 Mon Sep 17 00:00:00 2001 From: nirlivne Date: Sat, 19 Oct 2024 07:58:12 +0300 Subject: [PATCH 304/374] Added ThreadPool and BS::thread_pool (corrected) (#1582) * Added ThreadPool and BS::thread_pool * Update README.md * Update README.md Fix incorrect link for BS::thread_pool --------- Co-authored-by: Nir Livne --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 908f4d163..3bb27409e 100644 --- a/README.md +++ b/README.md @@ -291,6 +291,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] @@ -325,6 +326,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [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] From cc924675e237aca1d3b11df312d93f7e97f1260a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 21 Oct 2024 11:28:11 +0900 Subject: [PATCH 305/374] Add Trilogy (mysql client library) (#1583) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3bb27409e..8623adc48 100644 --- a/README.md +++ b/README.md @@ -449,6 +449,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [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 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-compatible database servers, designed for performance, flexibility, and ease of embedding. [MIT] * [UStore](https://github.com/unum-cloud/ustore) - Multi-Modal database for BLOBs, JSON, and graphs. [Apache2] * [Velox](https://github.com/facebookincubator/velox) - A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/) From c9e951e4640dc278dad8506556f201d07a2aea8e Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 22 Oct 2024 23:53:43 +0900 Subject: [PATCH 306/374] Add Saucer (webview library) (#1584) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8623adc48..51b44fd55 100644 --- a/README.md +++ b/README.md @@ -590,6 +590,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] +* [Saucer](https://github.com/saucer/saucer) - A modern, cross-platform C++ webview library. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/) * [TGUI](https://github.com/texus/TGUI) - Cross-platform modern c++ GUI. [Zlib] [website](https://tgui.eu/) From cecc82ea3c51992ed47f91d6b76a13199c466d25 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Oct 2024 00:01:47 +0900 Subject: [PATCH 307/374] fix typo (#1585) --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 51b44fd55..3b6d30797 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization 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 with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more. [website](https://mxnet.apache.org) +* [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, JavaScript and more. [website](https://mxnet.apache.org) * [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) * [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible 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] @@ -1040,7 +1040,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] * [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) * [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] -* [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) +* [Duktape](https://github.com/svaarala/duktape) - An embeddable JavaScript engine with compact footprint. [MIT] [website](http://duktape.org) * [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) * [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] @@ -1052,10 +1052,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] -* [QuickJS](https://bellard.org/quickjs/) - a small and embeddable Javascript engine. [MIT] +* [QuickJS](https://bellard.org/quickjs/) - a small and embeddable JavaScript engine. [MIT] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] -* [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) +* [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to JavaScript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) * [txiki.js](https://github.com/saghul/txiki.js) - A tiny JavaScript runtime. [MIT] * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] @@ -1262,7 +1262,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. * [Wandbox](https://wandbox.org) - An online Clang/GCC compiler with Boost available. -* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. +* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, GitHub(gist) integration and collaborative editing. * [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. ## Debugger @@ -1283,7 +1283,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cevelop](https://www.cevelop.com) - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins. * [CLion](http://www.jetbrains.com/clion/) - Cross-platform C and C++ IDE from JetBrains. * [Code::Blocks](http://www.codeblocks.org/) - A free C, C++ and Fortran IDE. -* [CodeLite](http://codelite.org/) - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins] +* [CodeLite](http://codelite.org/) - Another cross-platform, free C and C++ IDE. [GPL2 with an exception for plugins] * [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] * [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. * [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. @@ -1425,7 +1425,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. * [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo. * [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) -* [Meeting Cpp](https://www.youtube.com/user/MeetingCPP/videos) - Meeting C++ Youtube Channel +* [Meeting Cpp](https://www.youtube.com/user/MeetingCPP/videos) - Meeting C++ YouTube Channel ## Videos *Fantastic C or C++ related videos.* From f6258fd9d4e2ebe052861664bca7b65dc00ea3f7 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Oct 2024 11:28:35 +0900 Subject: [PATCH 308/374] Add CrossDB (embedded RDBMS) (#1586) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b6d30797..ef21626cf 100644 --- a/README.md +++ b/README.md @@ -416,6 +416,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *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 Management System. [MIT] * [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. [BSD] From 1ceacc079bc1f267d2272296fac5b7bda0999561 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 23 Oct 2024 11:31:36 +0900 Subject: [PATCH 309/374] DuckDB add website (#1587) * DuckDB add website * make https --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ef21626cf..081e8872c 100644 --- a/README.md +++ b/README.md @@ -417,7 +417,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 Management System. [MIT] +* [DuckDB](https://duckdb.org/) - in-process SQL OLAP 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. [BSD] * [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] From 6f534674bda800630cb3d201f8c0ac052e2c84d1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 27 Oct 2024 23:59:20 +0900 Subject: [PATCH 310/374] Add tuibox (TUI library) (#1588) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 081e8872c..2bbd73829 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] ## Compression *Compression and Archiving Libraries* From 40975de1b9e2850d19fa080abdd5f19862a2c829 Mon Sep 17 00:00:00 2001 From: Evgeny Kislov Date: Mon, 28 Oct 2024 09:45:48 +0300 Subject: [PATCH 311/374] Add Ctrl+C (Ctrl+C handler library) (#1589) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2bbd73829..fe1dbef47 100644 --- a/README.md +++ b/README.md @@ -233,6 +233,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] From 76beed6252f88d221a480ed5d22816b99d8fd178 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 29 Oct 2024 17:42:41 +0900 Subject: [PATCH 312/374] Add jpegli (jpeg library) (#1590) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe1dbef47..258363a2c 100644 --- a/README.md +++ b/README.md @@ -650,6 +650,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. * [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. * [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] +* [Jpegli][https://github.com/google/jpegli] - an improved JPEG encoder and decoder implementation. [BSD-3-Clause] * [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) * [libavif](https://github.com/AOMediaCodec/libavif) - Library for encoding and decoding .avif files. [BSD-2-Clause] * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] From 442d7272e9a5a4a3b5ca074d4e18f53733e9f58b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Oct 2024 15:34:03 +0900 Subject: [PATCH 313/374] Add barkeep (console animation library) (#1591) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 258363a2c..c70e6b991 100644 --- a/README.md +++ b/README.md @@ -228,6 +228,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] + * [barkeep](https://github.com/oir/barkeep) - Small C++ header to display async animations, counters, and progress bars. [Apache-2.0] [website](https://oir.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 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] From fae0d013b59d8b127de7d10b3ee39570a272414d Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 31 Oct 2024 21:40:11 +0900 Subject: [PATCH 314/374] Add Pipes (pipelines for collections) (#1592) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c70e6b991..648de4d9c 100644 --- a/README.md +++ b/README.md @@ -1209,6 +1209,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [MPH](https://github.com/qlibs/mph) - C++20 [Minimal] Static Perfect Hash library. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] +* [Pipes](https://github.com/joboccara/pipes) - Pipelines for expressive code on collections in C++. [MIT] * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] * [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] From 91e219ef0cd618fda0dc37cb348c9376ee726a9e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 1 Nov 2024 01:37:08 +0900 Subject: [PATCH 315/374] Add curlpp (libcurl C++ wrapper) (#1593) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 648de4d9c..179873443 100644 --- a/README.md +++ b/README.md @@ -888,6 +888,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] +* [curlpp](https://github.com/jpbarrette/curlpp) -C++ wrapper around libcURL. [MIT] * [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] * [ENet](https://github.com/lsalzman/enet) - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/) From b188e7800ddf0b777cd78b6d59dee7b0cabf6efa Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Nov 2024 12:55:31 +0900 Subject: [PATCH 316/374] Add kuzu (embedded database library) (#1595) * Add kuzu (embedded database library) * remove space --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 179873443..845c970b9 100644 --- a/README.md +++ b/README.md @@ -424,6 +424,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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. [BSD] * [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] +* [Kuzu](https://github.com/kuzudb/kuzu) - Embeddable property graph database management system built for query speed and scalability. Implements Cypher. [MIT] [website](https://kuzudb.com/) * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [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 parser outside of the server environment. [BSD-3-Clause] From c50feba8d26cf2e3d825d6be6bbbcc867252f958 Mon Sep 17 00:00:00 2001 From: Stefano Mandelli Date: Sun, 10 Nov 2024 05:22:49 +0100 Subject: [PATCH 317/374] avcpp lib has just been added (#1596) Modern C++ wrapper around FFmpeg Co-authored-by: Stefano Mandelli --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 845c970b9..697766696 100644 --- a/README.md +++ b/README.md @@ -1112,6 +1112,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD] * [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2] +* [avcpp](https://github.com/h4tr3d/avcpp) - Modern C++ wrapper around FFmpeg. [MIT] * [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) * [x265](https://bitbucket.org/multicoreware/x265_git/src) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) * [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) From 633d5fa37adae996606314c1f094cc80bb893df5 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 17 Nov 2024 23:10:30 +0900 Subject: [PATCH 318/374] Add json.cpp (json library) (#1601) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 697766696..e5c3a6371 100644 --- a/README.md +++ b/README.md @@ -723,6 +723,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] * [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] [website](https://json.nlohmann.me) * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] +* [json.cpp](https://github.com/jart/json.cpp) - a baroque JSON parsing / serialization library for C++. [Apache-2.0] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] * [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] From e6e3262aa2e92befe89aeb42b5bc177d128efcc5 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Nov 2024 23:26:08 +0900 Subject: [PATCH 319/374] Add uv-cpp (libuv wrapper) (#1602) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e5c3a6371..3390e99d4 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libuv](https://github.com/libuv/libuv) - 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* From ac64c0f271956bd504df64d557dc281b85bd9c48 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Nov 2024 03:57:08 +0900 Subject: [PATCH 320/374] Add reproc (process library) (#1603) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3390e99d4..6b2f41045 100644 --- a/README.md +++ b/README.md @@ -1221,6 +1221,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RapidFuzz](https://github.com/rapidfuzz/rapidfuzz-cpp) - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/) * [rapidhash](https://github.com/Nicoshev/rapidhash) - Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] +* [reproc](https://github.com/DaanDeMeyer/reproc) - A cross-platform (C99/C++11) process library. [MIT] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] From 8d3e35a0bb9ce059bbea0603ddf8647287a6ff24 Mon Sep 17 00:00:00 2001 From: AndrewChan <34884018+AndrewChan2022@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:46:14 +0800 Subject: [PATCH 321/374] Add fast_float to Miscellaneous (#1604) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b2f41045..83807b90a 100644 --- a/README.md +++ b/README.md @@ -1190,6 +1190,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] +* [fast_float](https://github.com/fastfloat/fast_float) - Fast, Exact C++ from_chars, 4x to 10x faster than strtod, part of GCC 12, Chromium, Redis, Webkit/Safari. [Apache2/BSL-1.0/MIT] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] * [fast_io](https://github.com/cppfastio/fast_io) - Significantly faster input/output for C++20. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] From 71c3bf1ac6cde7916999f8fb68e3b3e92858f2eb Mon Sep 17 00:00:00 2001 From: xcelerit-squad <79840434+xcelerit-squad@users.noreply.github.com> Date: Mon, 25 Nov 2024 04:48:21 +0000 Subject: [PATCH 322/374] Update README.md (#1606) Added powerful tool for automatic differentiation in C++ under the Math heading --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 83807b90a..cf8b7514b 100644 --- a/README.md +++ b/README.md @@ -845,6 +845,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Wykobi](https://www.wykobi.com) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] * [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) * [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] +* [XAD](https://github.com/auto-differentiation/xad) - Powerful Automatic Differentiation for C++. [AGPL] [website](https://auto-differentiation.github.io/) ## Memory Allocation From be81d17949c28a16f99dd0457329af5705a4d231 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 28 Nov 2024 03:32:16 +0900 Subject: [PATCH 323/374] Add Protocol Puffers (protobuf compatible C++20 library) (#1607) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf8b7514b..5edfeb722 100644 --- a/README.md +++ b/README.md @@ -1090,6 +1090,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] * [protobuf](https://github.com/protocolbuffers/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] +* [Protocol Puffers](https://github.com/PragmaTwice/protopuf) - A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20. [Apache-2.0] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] * [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] * [Wirehair](https://github.com/catid/wirehair) - O(N) Fountain Code for Large Data. [BSD-3-Clause] From 9c5286a8e2fb550050680461205f697c221d6937 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 3 Dec 2024 20:11:02 +0900 Subject: [PATCH 324/374] Add QuarkPhysics (soft body physics engine) (#1608) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5edfeb722..e50aadd55 100644 --- a/README.md +++ b/README.md @@ -980,6 +980,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PlayRho](https://github.com/louis-langholtz/PlayRho) - An interactive physics engine & library. [Zlib] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] +* [QuarkPhysics](https://github.com/erayzesen/QuarkPhysics) - A 2D Soft Body and Rigid Body Physics Engine. [MIT] * [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] * [SOFA](https://github.com/sofa-framework/sofa) - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] [website](https://www.sofa-framework.org) From f18403c4c53735438831fa3c70c3f4925d1f5b65 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Dec 2024 11:39:37 +0900 Subject: [PATCH 325/374] Add Vectorscan (#1609) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e50aadd55..f52c795c5 100644 --- a/README.md +++ b/README.md @@ -1017,6 +1017,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Proprietary] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] * [SRELL](https://www.akenotsuki.com/misc/srell/en/) - Unicode-aware regular expression template library for C++. [BSD] +* [Vectorscan](https://github.com/VectorCamp/vectorscan) - A portable fork of the high-performance regular expression matching library. [BSD-3-Clause] [website](https://www.vectorcamp.gr/project/vectorscan/) ## Robotics From 6a967834c212c47f86b732868862787a8e8736e3 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 13 Dec 2024 15:14:16 +0900 Subject: [PATCH 326/374] Add tiny::optional (#1610) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f52c795c5..3f6ecd956 100644 --- a/README.md +++ b/README.md @@ -1239,6 +1239,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [StringZilla](https://github.com/ashvardanian/StringZilla) - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [tgbotxx](https://github.com/baderouaich/tgbotxx) - Telegram Bot C++ Library. [MIT] +* [tiny::optional](https://github.com/Sedeniono/tiny-optional/) - Replacement for std::optional that does not waste memory unnecessarily. [BSL-1.0] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] From 205c7b0f1579704380c645b0a216d6ecf8df391d Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 19 Dec 2024 11:39:21 +0900 Subject: [PATCH 327/374] Add TidesDB (embedded kvs library) (#1611) * Add TidesDB (embedded kvs library) * remove space * fix category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f6ecd956..6e5799909 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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.org/) From 556a4cb1b2965b575cfee655977fb6f1dd9b485b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Dec 2024 00:15:28 +0900 Subject: [PATCH 328/374] Add JerryScript (javascript engine) (#1612) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e5799909..fc83ca35e 100644 --- a/README.md +++ b/README.md @@ -1055,6 +1055,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] * [Duktape](https://github.com/svaarala/duktape) - An embeddable JavaScript engine with compact footprint. [MIT] [website](http://duktape.org) * [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] +* [JerryScript](https://github.com/jerryscript-project/jerryscript) - Ultra-lightweight JavaScript engine for the Internet of Things. [Apache-2.0] [website](https://jerryscript.net/) * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) * [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] * [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] From 7c75a5cfa76b70b0957675dcf21c45ae075e62db Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 22 Dec 2024 22:26:47 +0900 Subject: [PATCH 329/374] Add simdzone (DNS zone parser) (#1614) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fc83ca35e..370da540b 100644 --- a/README.md +++ b/README.md @@ -1234,6 +1234,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] +* [simdzone](https://github.com/NLnetLabs/simdzone) - Fast and standards compliant DNS zone parser. [BSD-3-Clause] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] From a289fb2ad60d2480d2a716feb837c02cc2c8a7ab Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Dec 2024 16:30:07 +0900 Subject: [PATCH 330/374] Add libonvif (ONVIF library) (#1615) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 370da540b..b8a8cdb8b 100644 --- a/README.md +++ b/README.md @@ -1215,6 +1215,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] +* [libONVIF](https://github.com/Privatehive/libONVIF) - Yet another ONVIF library. [GPL-3.0] * [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] From 174c605cddf30a680bf1be2fa95cf0050d5475eb Mon Sep 17 00:00:00 2001 From: Alex2772 Date: Mon, 23 Dec 2024 10:31:53 +0300 Subject: [PATCH 331/374] Add AUI (UI framework) (#1613) * Add AUI (UI framework) * http -> https --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b8a8cdb8b..4ab9ad6b2 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apache C++ Standard Library](http://stdcxx.apache.org/) - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2] * [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of 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] From 62f0abd490d59821fc96e1cebe1d67e4ff1a75ce Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Dec 2024 00:48:00 +0900 Subject: [PATCH 332/374] Add luau (scripting library) (#1616) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ab9ad6b2..e265d54d1 100644 --- a/README.md +++ b/README.md @@ -1062,6 +1062,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] * [LuaBridge3](https://github.com/kunitoki/LuaBridge3) - A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] +* [Luau](https://github.com/luau-lang/luau) - A fast, small, safe, gradually typed embeddable scripting language derived from Lua. [MIT] [website](https://luau.org/) * [MiniScript](https://miniscript.org/) - scripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) From 5c212db0a56b7ce274b5328688d6dee9de930b72 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 25 Dec 2024 02:31:23 +0900 Subject: [PATCH 333/374] Add rain (hash library) (#1617) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e265d54d1..c4a85d238 100644 --- a/README.md +++ b/README.md @@ -1228,6 +1228,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] * [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] +* [rain](https://github.com/DOSAYGO-Research/rain) - The fastest 128-bit and 256-bit non-crypto hash, passes all tests, and under 140 source lines of code. [Apache-2.0] * [RapidFuzz](https://github.com/rapidfuzz/rapidfuzz-cpp) - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/) * [rapidhash](https://github.com/Nicoshev/rapidhash) - Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] From 6a0a42aed11022632cdc6d5fc8ba0259397dc16b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Dec 2024 04:59:12 +0900 Subject: [PATCH 334/374] Add libpopcnt (#1618) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4a85d238..c384cd30d 100644 --- a/README.md +++ b/README.md @@ -1218,6 +1218,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libONVIF](https://github.com/Privatehive/libONVIF) - Yet another ONVIF library. [GPL-3.0] +* [libpopcnt](https://github.com/kimwalisch/libpopcnt) - Fast C/C++ bit population count library. [BSD-2-Clause] * [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] From 1022559fae025662445458263942714fc1168ce6 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Dec 2024 08:41:20 +0900 Subject: [PATCH 335/374] Add LibYAML (yaml read/writer library) (#1619) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c384cd30d..61f8c5ef6 100644 --- a/README.md +++ b/README.md @@ -1173,6 +1173,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Yaml +* [LibYAML](https://github.com/yaml/libyaml) - A C library for parsing and emitting YAML. [MIT] [website](https://pyyaml.org/wiki/LibYAML) * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] * [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++. [MIT] * [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML. [MIT] From 8951ab67067ffb2ccafb34b66a660dbba3a493f3 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 27 Dec 2024 11:18:55 +0900 Subject: [PATCH 336/374] Add Siv3d(OpenSiv3D) (framework for creative coding) (#1620) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61f8c5ef6..21f6570f2 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [rpp](https://github.com/TheNumbat/rpp) - Minimal Rust-inspired C++20 STL replacement. [MIT] * [SaneCppLibraries](https://github.com/Pagghiu/SaneCppLibraries) - a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] [website](https://pagghiu.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/) +* [Siv3D](https://github.com/Siv3D/OpenSiv3D) - Siv3D (OpenSiv3D) is a C++20 framework for creative coding (2D/3D games, media art, visualizers, and simulators). [MIT] [website](https://siv3d.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/) From 6363fed046a3cd10f450fe24ab5d88ff610b4211 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 28 Dec 2024 22:59:32 +0900 Subject: [PATCH 337/374] Sort Yaml category (#1621) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 21f6570f2..27a5b3f7f 100644 --- a/README.md +++ b/README.md @@ -1176,8 +1176,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LibYAML](https://github.com/yaml/libyaml) - A C library for parsing and emitting YAML. [MIT] [website](https://pyyaml.org/wiki/LibYAML) * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] -* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++. [MIT] * [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML. [MIT] +* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++. [MIT] ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* From 3a36a190c61bb6fc43273223a9a35162d1a415be Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 28 Dec 2024 23:09:50 +0900 Subject: [PATCH 338/374] Add CPP-JWT (jwt library) (#1622) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27a5b3f7f..1ed36977a 100644 --- a/README.md +++ b/README.md @@ -1192,6 +1192,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [CPP-JWT](https://github.com/arun11299/cpp-jwt) - JSON Web Token library for C++. [MIT] * [cpp-lazy](https://github.com/MarcDirven/cpp-lazy) - a fast and easy lazy evaluation library for C++11/14/17/20. [MIT] * [CRCpp](https://github.com/d-bahr/CRCpp) - Easy to use and fast C++ CRC library. [BSD-3-Clause] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] From 3bee468063e750d81dd2874230381ab00b266347 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Dec 2024 23:56:02 +0900 Subject: [PATCH 339/374] Add Hippomocks (mocking framework) (#1623) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1ed36977a..daf2fe161 100644 --- a/README.md +++ b/README.md @@ -493,6 +493,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] +* [Hippomocks](https://github.com/dascandy/hippomocks) - Single-header mocking framework. [LGPL-2.1] * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] * [libassert](https://github.com/jeremy-rifkin/libassert) - The most over-engineered C++ assertion library. [MIT] * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] From d8f20b8e3131e7fdb0308c1896f670b449a0b933 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 30 Dec 2024 23:58:54 +0900 Subject: [PATCH 340/374] Add fkYAML (yaml library) (#1624) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index daf2fe161..ebfa7cd86 100644 --- a/README.md +++ b/README.md @@ -1175,6 +1175,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Yaml +* [fkYAML](https://github.com/fktn-k/fkYAML) - A C++ header-only YAML library. [MIT] * [LibYAML](https://github.com/yaml/libyaml) - A C library for parsing and emitting YAML. [MIT] [website](https://pyyaml.org/wiki/LibYAML) * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] * [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML. [MIT] From e4da2ad6d9b8474d320ef3b2713bedea1398ab47 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 31 Dec 2024 19:32:35 +0900 Subject: [PATCH 341/374] Add LibCYAML (yaml library) (#1625) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ebfa7cd86..d8fbc2649 100644 --- a/README.md +++ b/README.md @@ -1176,6 +1176,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Yaml * [fkYAML](https://github.com/fktn-k/fkYAML) - A C++ header-only YAML library. [MIT] +* [LibCYAML](https://github.com/tlsa/libcyaml) - C library for reading and writing YAML. [ISC] * [LibYAML](https://github.com/yaml/libyaml) - A C library for parsing and emitting YAML. [MIT] [website](https://pyyaml.org/wiki/LibYAML) * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] * [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML. [MIT] From 817702ee9e67bc7019c9f1bed28700e888fc93d4 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 1 Jan 2025 21:00:05 +0900 Subject: [PATCH 342/374] Add libfyaml (yaml library) (#1626) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8fbc2649..8059804cb 100644 --- a/README.md +++ b/README.md @@ -1177,6 +1177,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [fkYAML](https://github.com/fktn-k/fkYAML) - A C++ header-only YAML library. [MIT] * [LibCYAML](https://github.com/tlsa/libcyaml) - C library for reading and writing YAML. [ISC] +* [libfyaml](https://github.com/pantoniou/libfyaml) - A fancy 1.2 YAML and JSON parser/writer. [MIT] * [LibYAML](https://github.com/yaml/libyaml) - A C library for parsing and emitting YAML. [MIT] [website](https://pyyaml.org/wiki/LibYAML) * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] * [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML. [MIT] From 76fb81808fd06e0780fac4541d1bb6c4ead93324 Mon Sep 17 00:00:00 2001 From: nirlivne Date: Fri, 3 Jan 2025 02:56:01 +0200 Subject: [PATCH 343/374] Add Mpark.Variant (#1627) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8059804cb..0286c169c 100644 --- a/README.md +++ b/README.md @@ -1230,6 +1230,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] +* [MPark.Variant](https://github.com/mpark/variant) - C++17 `std::variant` for C++11/14/17. [BSL-1.0] * [MPH](https://github.com/qlibs/mph) - C++20 [Minimal] Static Perfect Hash library. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] * [Pipes](https://github.com/joboccara/pipes) - Pipelines for expressive code on collections in C++. [MIT] From 33df24a838d8b7799af1263ea0bd25e475bf81ca Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 4 Jan 2025 19:52:06 +0900 Subject: [PATCH 344/374] Move IceCream-Cpp to Debug Category (#1628) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0286c169c..c7ca73f2a 100644 --- a/README.md +++ b/README.md @@ -494,6 +494,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] * [Hippomocks](https://github.com/dascandy/hippomocks) - Single-header mocking framework. [LGPL-2.1] +* [IceCream-Cpp](https://github.com/renatoGarcia/icecream-cpp) - Never use cout/printf to debug again [MIT] * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] * [libassert](https://github.com/jeremy-rifkin/libassert) - The most over-engineered C++ assertion library. [MIT] * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] @@ -1214,7 +1215,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [happly](https://github.com/nmwsharp/happly) - A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT] * [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) * [HighwayHash](https://github.com/google/highwayhash) - Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0] -* [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] * [Jinja2С++](https://github.com/jinja2cpp/Jinja2Cpp) - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/) * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] From 9a8617267745c71b509d69c3790d1527513e9a12 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Jan 2025 22:13:02 +0900 Subject: [PATCH 345/374] Add BitSerializer (serialization library) (#1629) * Add BitSerializer (serialization library) * fix typo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c7ca73f2a..7d5650a69 100644 --- a/README.md +++ b/README.md @@ -1083,6 +1083,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Serialization +* [BitSerializer](https://github.com/PavelKisliak/BitSerializer) - Multi-format serialization library (JSON, XML, YAML, CSV, MsgPack) [MIT] * [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] * [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] * [Boost.Serialization](https://github.com/boostorg/serialization) - Boost Serialization Library. [Boost] [website](https://boost.org/libs/serialization) From 68640eeba5332e0f8885d3d9be784e0017fc49e4 Mon Sep 17 00:00:00 2001 From: Chao Date: Sat, 11 Jan 2025 08:21:01 +0000 Subject: [PATCH 346/374] add AMD Zen CPU compiler (#1630) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d5650a69..a3ce5b059 100644 --- a/README.md +++ b/README.md @@ -1276,6 +1276,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA] * [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3] * [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. +* [AMD C++ Compiler](https://www.amd.com/en/developer/aocc.html) - Developed by AMD. * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. * [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft. From 8accd7ae2251508fc0cdc79a11a4f889c3c89b84 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Jan 2025 20:55:16 +0900 Subject: [PATCH 347/374] Add SafetyHook (procedure hooking library) (#1631) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a3ce5b059..c65e6c0f0 100644 --- a/README.md +++ b/README.md @@ -1243,6 +1243,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [rapidhash](https://github.com/Nicoshev/rapidhash) - Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [reproc](https://github.com/DaanDeMeyer/reproc) - A cross-platform (C99/C++11) process library. [MIT] +* [SafetyHook](https://github.com/cursey/safetyhook) - C++23 procedure hooking library. [BSL-1.0] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] From 8a9e69c12391860cce9203cb78b8ef7a7481ae36 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Jan 2025 23:09:39 +0900 Subject: [PATCH 348/374] Add nanobind (Python binding library) (#1633) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c65e6c0f0..8caa537c1 100644 --- a/README.md +++ b/README.md @@ -1067,6 +1067,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [Luau](https://github.com/luau-lang/luau) - A fast, small, safe, gradually typed embeddable scripting language derived from Lua. [MIT] [website](https://luau.org/) * [MiniScript](https://miniscript.org/) - scripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT] +* [nanobind](https://github.com/wjakob/nanobind) - tiny and efficient C++/Python bindings. [BSD-3-Clause] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) From a6ee8791bfdd7e42d65b7a078c38c3b869ef9400 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Jan 2025 23:13:57 +0900 Subject: [PATCH 349/374] Add xxHash (hashing library) (#1634) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8caa537c1..811609baa 100644 --- a/README.md +++ b/README.md @@ -1264,6 +1264,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] * [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [Wildcards](https://github.com/zemasoft/wildcards/) - A simple C++ header-only template library implementing matching using wildcards. [BSL-1.0] +* [xxHash](https://github.com/Cyan4973/xxHash) - Extremely fast non-cryptographic hash algorithm. [BSD-2-Clause] [website](https://xxhash.com/) * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] From 814a1910fe90d32978b3546af9ffb5cc8e20c7fa Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Jan 2025 01:10:25 +0900 Subject: [PATCH 350/374] Add xxhash_cpp (hashing library) (#1635) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 811609baa..b88f30b2e 100644 --- a/README.md +++ b/README.md @@ -1265,6 +1265,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [Wildcards](https://github.com/zemasoft/wildcards/) - A simple C++ header-only template library implementing matching using wildcards. [BSL-1.0] * [xxHash](https://github.com/Cyan4973/xxHash) - Extremely fast non-cryptographic hash algorithm. [BSD-2-Clause] [website](https://xxhash.com/) +* [xxhash_cpp](https://github.com/RedSpah/xxhash_cpp) - Port of the xxhash library to C++17. [BSD-2-Clause] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] From 6dede8b8dfa5160aeaab22ba230d0da11406e6a5 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Jan 2025 23:54:07 +0900 Subject: [PATCH 351/374] Add matio (matlab io library) (#1637) * Add matio (matlab io library) * fix case in name --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b88f30b2e..eaf9347a9 100644 --- a/README.md +++ b/README.md @@ -830,6 +830,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] +* [MATIO](https://github.com/tbeu/matio) - MATLAB MAT File I/O Library. [BSD-2-Clause] [website](https://sourceforge.net/projects/matio/) * [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] From e25e1e693b2ede9e845aed11c0c9e01380a59a07 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 31 Jan 2025 23:38:20 +0900 Subject: [PATCH 352/374] Add KOMIHASH (#1642) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eaf9347a9..dd70a6b1f 100644 --- a/README.md +++ b/README.md @@ -1223,6 +1223,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] +* [KOMIHASH](https://github.com/avaneev/komihash) - Very fast, high-quality hash function, discrete-incremental and streamed hashing-capable. [MIT] * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] From f68588824e6efbfb67d4348bcea24758a45ae919 Mon Sep 17 00:00:00 2001 From: Somnath Nandi <123479436+CodeOfSomnath@users.noreply.github.com> Date: Wed, 5 Feb 2025 08:44:51 +0530 Subject: [PATCH 353/374] Removing Unavailable Projects (#1641) * changing udemy course invalid link * changing the down site * changing pcc project link. original does not exist * Removing Mockator, project is not maintained * Removing codepad, website is not working --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index dd70a6b1f..4160822eb 100644 --- a/README.md +++ b/README.md @@ -500,7 +500,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] * [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] * [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] -* [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. * [nanobench](https://github.com/martinus/nanobench) - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] [website](https://nanobench.ankerl.com) * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] @@ -1281,7 +1280,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] * [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA] * [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3] -* [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. +* [PCC](https://github.com/IanHarvey/pcc) - A very old C compiler. Supports C99. * [AMD C++ Compiler](https://www.amd.com/en/developer/aocc.html) - Developed by AMD. * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. @@ -1294,7 +1293,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *List of online C or C++ compilers* * [codechef](https://www.codechef.com/ide) - A simple online compiler CodeChef. -* [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. * [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers. * [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. * [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. @@ -1363,7 +1361,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. * [Sccache](https://github.com/mozilla/sccache) - A fast compiler cache for C/C++, with cross-platform support and cloud backed storage options. * [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. -* [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. +* [Sconsolidator](https://github.com/IFS-HSR/SConsolidator) - Scons build system integration for Eclipse CDT. * [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] * [SW](https://software-network.org/) - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3] * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. @@ -1502,7 +1500,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. * [Meeting C++](http://meetingcpp.com/) * [PVS-Studio’s challenge](https://quiz.pvs-studio.com) - PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects. -* [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) +* [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/c-plus-plus/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. * [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. From 9f19166b227089ca8f4aa42751e38581b34afbb7 Mon Sep 17 00:00:00 2001 From: Maurizio Tomasi Date: Fri, 7 Feb 2025 02:25:38 +0100 Subject: [PATCH 354/374] Add gplot++ (#1643) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gplot++ is a plotting library that interfaces with Gnuplot. Many plotting libraries are listed under the “GUI” section, but I put this new entry under “Data visualization” because it seems more appropriate to me. (The library can open a window containing the plot, but it can also redirect the plot to an image file; in this case, there is no window at all.) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4160822eb..339142a16 100644 --- a/README.md +++ b/README.md @@ -465,6 +465,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Data visualization *Data visualization Libraries* +* [gplot++](https://github.com/ziotom78/gplotpp) - Cross-platform header-only C++ plotting library that interfaces with Gnuplot. [MIT] * [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) ## Debug From 6403d710be1840dce2acef0ff7c6faf62d377828 Mon Sep 17 00:00:00 2001 From: om pharate <72200400+ompharate@users.noreply.github.com> Date: Mon, 10 Feb 2025 10:28:45 +0530 Subject: [PATCH 355/374] Add OneCompiler to online compiler resources (#1644) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 339142a16..4265a955a 100644 --- a/README.md +++ b/README.md @@ -1298,6 +1298,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. * [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. * [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. +* [OneCompiler](https://onecompiler.com/) - An online compiler supporting over 70 programming languages and database systems. * [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers. * [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. From 65df45e8cb7ae517a29c6c50e7e20cc11fd58d6c Mon Sep 17 00:00:00 2001 From: Roberto <86665159+rdabra@users.noreply.github.com> Date: Sat, 22 Feb 2025 04:34:02 -0300 Subject: [PATCH 356/374] Add Txeo: A modern C++ wrapper for TensorFlow (#1646) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4265a955a..824b2fdfd 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible 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. [Apache] * [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] From 93873b57f5c30b991082902939d0d3fb8a186459 Mon Sep 17 00:00:00 2001 From: DmitriBogdanov <87243261+DmitriBogdanov@users.noreply.github.com> Date: Wed, 26 Feb 2025 06:34:19 +0300 Subject: [PATCH 357/374] Add utl::random: C++17 library for fast Monte-Carlo simulations. (#1648) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 824b2fdfd..ccad98ed4 100644 --- a/README.md +++ b/README.md @@ -852,6 +852,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Wykobi](https://www.wykobi.com) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] * [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) * [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] +* [utl::random](https://github.com/DmitriBogdanov/UTL/blob/master/docs/module_random.md) - A C++17 header-only library implementing fast random for Monte-Carlo simulations & gamedev. [MIT] * [XAD](https://github.com/auto-differentiation/xad) - Powerful Automatic Differentiation for C++. [AGPL] [website](https://auto-differentiation.github.io/) ## Memory Allocation From b1357b8c3e14e0ff9a2e3ceb15e9c3c8324e08ec Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 28 Feb 2025 02:21:41 +0900 Subject: [PATCH 358/374] Add minja.hpp (template engine) (#1649) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ccad98ed4..a14a24443 100644 --- a/README.md +++ b/README.md @@ -1235,6 +1235,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] +* [minja.hpp](https://github.com/google/minja) - A minimalistic C++ Jinja templating engine for LLM chat templates. [MIT] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [MPark.Variant](https://github.com/mpark/variant) - C++17 `std::variant` for C++11/14/17. [BSL-1.0] * [MPH](https://github.com/qlibs/mph) - C++20 [Minimal] Static Perfect Hash library. [MIT] From f017686ea69b471a6193f8c3c4dbe49fbf9e69af Mon Sep 17 00:00:00 2001 From: Stefano Mandelli Date: Thu, 6 Mar 2025 05:36:37 +0100 Subject: [PATCH 359/374] Modern C++14 sigslot implementation has been added (#1651) Co-authored-by: Stefano Mandelli --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a14a24443..231491f2c 100644 --- a/README.md +++ b/README.md @@ -1255,6 +1255,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] +* [palacaze/sigslot](https://github.com/palacaze/sigslot) - A simple, header only, C++14 signal-slots implementation [MIT] * [simdzone](https://github.com/NLnetLabs/simdzone) - Fast and standards compliant DNS zone parser. [BSD-3-Clause] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] From 1f7b21a4b079042540f2e8f99e12260e4e2ca5be Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 8 Mar 2025 15:42:31 +0800 Subject: [PATCH 360/374] Add morphologica (#1653) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 231491f2c..a40bdb484 100644 --- a/README.md +++ b/README.md @@ -468,6 +468,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gplot++](https://github.com/ziotom78/gplotpp) - Cross-platform header-only C++ plotting library that interfaces with Gnuplot. [MIT] * [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) +* [morphologica](https://github.com/ABRG-Models/morphologica) - C++ header-only graphing and data visualization with modern OpenGL. [Apache-2.0] [website](https://abrg-models.github.io/morphologica/) ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* From 102fae3cb50ce04ade9789abb2d6aca255e4a1b2 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 18 Mar 2025 11:11:40 +0800 Subject: [PATCH 361/374] Add QPDF (#1655) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a40bdb484..87f478d38 100644 --- a/README.md +++ b/README.md @@ -970,6 +970,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PDFium](https://pdfium.googlesource.com/pdfium/) - PDF generation and rendering library. [BSD-3-Clause] * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] +* [QPDF](https://github.com/qpdf/qpdf) - A tool and C++ library for content-preserving transformations of PDF files. [Apache-2.0] [website](https://qpdf.sourceforge.io/) * [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] * [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] From 45e0357359af85af8f5fe6333ea5fc47e8b80aa6 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 25 Mar 2025 23:33:38 +0900 Subject: [PATCH 362/374] Add SLJIT (JIT compiler) (#1657) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 87f478d38..1f9880248 100644 --- a/README.md +++ b/README.md @@ -1257,6 +1257,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] +* [SLJIT](https://github.com/zherczeg/sljit) - Platform independent low-level JIT compiler. [BSD] [website](https://zherczeg.github.io/sljit/) * [palacaze/sigslot](https://github.com/palacaze/sigslot) - A simple, header only, C++14 signal-slots implementation [MIT] * [simdzone](https://github.com/NLnetLabs/simdzone) - Fast and standards compliant DNS zone parser. [BSD-3-Clause] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] From 6258d321d42d190e836da8bce11fd25b6e8b3311 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 30 Mar 2025 23:58:51 +0900 Subject: [PATCH 363/374] Add asmjit (code generation library) (#1659) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f9880248..9ce974159 100644 --- a/README.md +++ b/README.md @@ -1197,6 +1197,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] +* [AsmJit](https://github.com/asmjit/asmjit) - Low-latency machine code generation. [Zlib] [website](https://asmjit.com) * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] From d85e4e7228d3835755ec194e5bf13cb9e11aafcf Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 31 Mar 2025 23:50:03 +0900 Subject: [PATCH 364/374] Add NAppGUI (GUI library) (#1660) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ce974159..d3eba4455 100644 --- a/README.md +++ b/README.md @@ -598,6 +598,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] * [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] +* [NAppGUI](https://github.com/frang75/nappgui_src) - SDK for building cross-platform desktop apps in ANSI-C. [MIT] [website](https://nappgui.com/en/home/web/home.html) * [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] From 01ecf23bd0e63e8923752a85212df4a565324544 Mon Sep 17 00:00:00 2001 From: Keith Date: Tue, 1 Apr 2025 22:29:48 -0400 Subject: [PATCH 365/374] Add CrashCatch to Debug Section (#1663) CrashCatch is a lightweight, single-header crash reporting library for modern C++ applications. It provides an easy way to automatically capture stack traces and write crash logs in .dmp and .txt formats. This update adds CrashCatch to the "Debug" section of the documentation to make it more accessible to developers looking for a simple and effective debugging tool for crash handling in C++. - MIT Licensed - Header-only, zero dependencies - One-line setup or macro auto-init for minimal integration - Website: https://keithpotz.github.io/CrashCatch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3eba4455..e814a9445 100644 --- a/README.md +++ b/README.md @@ -488,6 +488,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppBenchmark](https://github.com/chronoxor/CppBenchmark) - Performance benchmark framework for C++ with nanoseconds measure precision. [MIT] * [Cpptrace](https://github.com/jeremy-rifkin/cpptrace) - A simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] +* [CrashCatch](https://github.com/keithpotz/CrashCatch) - Single-header crash reporting for C++ that logs stack traces and creates `.dmp` and `.txt` crash dumps. [MIT] [website](https://keithpotz.github.io/CrashCatch) * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] * [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [Boost] From 877be4e77da57f57e92e34f7c603011b2a2eebea Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 5 Apr 2025 07:09:12 +0900 Subject: [PATCH 366/374] Add Hexi (streaming & serialization library) (#1664) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e814a9445..088e169d5 100644 --- a/README.md +++ b/README.md @@ -1224,6 +1224,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [happly](https://github.com/nmwsharp/happly) - A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT] * [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) +* [Hexi](https://github.com/EmberEmu/Hexi) - Header-only, lightweight C++ library for binary streaming & serialization. [Apache-2.0/MIT] * [HighwayHash](https://github.com/google/highwayhash) - Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] * [Jinja2С++](https://github.com/jinja2cpp/Jinja2Cpp) - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/) From 4019b3dde1b1e48d27d451f1a18ff41a89e07735 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 22 Apr 2025 14:40:43 +0900 Subject: [PATCH 367/374] Update unqlite webpage (#1665) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 088e169d5..e36a9fbfe 100644 --- a/README.md +++ b/README.md @@ -456,7 +456,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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.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 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-compatible database servers, designed for performance, flexibility, and ease of embedding. [MIT] From 739144e81e1047191928ab68eb1ef1c571227620 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 30 Apr 2025 23:19:21 +0900 Subject: [PATCH 368/374] Add Reaction (reactive programming framework) (#1667) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e36a9fbfe..d9c887ab6 100644 --- a/README.md +++ b/README.md @@ -1253,6 +1253,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [rain](https://github.com/DOSAYGO-Research/rain) - The fastest 128-bit and 256-bit non-crypto hash, passes all tests, and under 140 source lines of code. [Apache-2.0] * [RapidFuzz](https://github.com/rapidfuzz/rapidfuzz-cpp) - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/) * [rapidhash](https://github.com/Nicoshev/rapidhash) - Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause] +* [Reaction](https://github.com/lumia431/reaction) - A lightweight, header-only reactive programming framework leveraging modern C++20 features for building efficient dataflow applications. [MIT] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [reproc](https://github.com/DaanDeMeyer/reproc) - A cross-platform (C99/C++11) process library. [MIT] * [SafetyHook](https://github.com/cursey/safetyhook) - C++23 procedure hooking library. [BSL-1.0] From 23ab470252cae664b17f249adad2a252f5e2caf0 Mon Sep 17 00:00:00 2001 From: QWERTIOX <64694795+QWERTIOX@users.noreply.github.com> Date: Sun, 4 May 2025 15:52:15 +0200 Subject: [PATCH 369/374] Update Drogon description (#1668) According to this commit it no longer support c++14 https://github.com/drogonframework/drogon/commit/17c80508c091a338aa95f386e13b20141fce291b#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9c887ab6..160f3c020 100644 --- a/README.md +++ b/README.md @@ -1154,7 +1154,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) * [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause] [website](https://cutelyst.org/) -* [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] +* [Drogon](https://github.com/an-tao/drogon) - A C++17/20 based, high-performance HTTP application framework. [MIT] * [C++ wfrest](https://github.com/wfrest/wfrest) - C++ Web Framework REST API. [Apache2] * [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] From 21a0c11074ccaad8f65dfb119c671d2ec5ecaa96 Mon Sep 17 00:00:00 2001 From: Benno Waldhauer Date: Mon, 12 May 2025 04:55:51 +0200 Subject: [PATCH 370/374] Add sqlitemap to containers (#1670) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 160f3c020..94253ed54 100644 --- a/README.md +++ b/README.md @@ -376,6 +376,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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+] From aa4f819ab6e9f008c6bd60689f1d43e4c227d0f5 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 15 May 2025 22:51:20 +0800 Subject: [PATCH 371/374] Add rapidcsv (#1674) Co-authored-by: Het <72877407+Het-005@users.noreply.github.com> --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 94253ed54..b14aff0f2 100644 --- a/README.md +++ b/README.md @@ -417,6 +417,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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 C++17 CSV parser with optional type-casting and statistics. [MIT] From 13d55aa577b1e078a2a833762a6d2de19bfecb4e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 15 May 2025 22:52:26 +0800 Subject: [PATCH 372/374] Fix #1656 (#1673) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b14aff0f2..7117d8446 100644 --- a/README.md +++ b/README.md @@ -824,7 +824,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Multiprecision](https://github.com/boostorg/multiprecision) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] [website](https://boost.org/libs/multiprecision) * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) -* [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [cml](https://github.com/demianmnave/CML) - The configurable math library. [Boost] * [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] * [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps. * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) From 4b36ea3b307fe158f305289ba5eec81e1a00f5c8 Mon Sep 17 00:00:00 2001 From: sjqtentacles Date: Thu, 15 May 2025 08:01:05 -0700 Subject: [PATCH 373/374] Update README.md - remove nana gui broken link (#1576) Update nana repository link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7117d8446..6398a8882 100644 --- a/README.md +++ b/README.md @@ -599,7 +599,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] -* [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] +* [nana](https://github.com/cnjinhao/nana) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] * [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] * [NAppGUI](https://github.com/frang75/nappgui_src) - SDK for building cross-platform desktop apps in ANSI-C. [MIT] [website](https://nappgui.com/en/home/web/home.html) * [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] From 5177da7d819e2f3d9d83997d183eab43ae4b0c8f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 15 May 2025 23:25:50 +0800 Subject: [PATCH 374/374] Remove redundant asterisk (#1675) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6398a8882..9dc7e2f40 100644 --- a/README.md +++ b/README.md @@ -347,7 +347,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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]* +* [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.io/libconfig/) * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC]