From e36131502f7331087f763afafbc41ea6c2f6a08f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Mar 2024 00:44:25 +0900 Subject: [PATCH 001/122] 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 002/122] 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 003/122] 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 004/122] 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 005/122] 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 006/122] 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 007/122] 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 008/122] 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 009/122] 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 010/122] 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 011/122] 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 012/122] 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 013/122] 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 014/122] 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 015/122] 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 016/122] 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 017/122] 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 018/122] 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 019/122] 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 020/122] 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 021/122] 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 022/122] 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 023/122] 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 024/122] 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 025/122] 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 026/122] 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 027/122] 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 028/122] 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 029/122] 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 030/122] 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 031/122] 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 032/122] 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 033/122] 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 034/122] 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 035/122] 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 036/122] 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 037/122] 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 038/122] 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 039/122] 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 040/122] 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 041/122] 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 042/122] 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 043/122] 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 044/122] 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 045/122] 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 046/122] 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 047/122] 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 048/122] 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 049/122] 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 050/122] 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 051/122] 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 052/122] 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 053/122] 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 054/122] 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 055/122] 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 056/122] 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 057/122] 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 058/122] 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 059/122] 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 060/122] 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 061/122] 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 062/122] 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 063/122] 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 064/122] 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 065/122] 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 066/122] 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 067/122] 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 068/122] 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 069/122] 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 070/122] 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 071/122] 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 072/122] 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 073/122] 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 074/122] 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 075/122] 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 076/122] 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 077/122] 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 078/122] 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 079/122] 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 080/122] 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 081/122] 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 082/122] 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 083/122] 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 084/122] 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 085/122] 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 086/122] 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 087/122] 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 088/122] 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 089/122] 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 090/122] 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 091/122] 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 092/122] 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 093/122] 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 094/122] 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 095/122] 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 096/122] 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 097/122] 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 098/122] 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 099/122] 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 100/122] 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 101/122] 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 102/122] 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 103/122] 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 104/122] 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 105/122] 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 106/122] 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 107/122] 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 108/122] 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 109/122] 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 110/122] 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 111/122] 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 112/122] 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 113/122] 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 114/122] 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 115/122] 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 116/122] 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 117/122] 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 118/122] 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 119/122] 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 120/122] 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 121/122] 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 122/122] 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]