From 160909e719dd2c1669ef7dabdf746e2d23309652 Mon Sep 17 00:00:00 2001 From: amin roosta Date: Fri, 9 Jan 2015 12:38:33 -0800 Subject: [PATCH 001/959] added sqlite_modern_cpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c30ffdb88..53e20ef1f 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [MySQL++](http://www.tangentsoft.net/mysql++/) - A C++ wrapper for MySQL's C API. [LGPL] * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] +* [sqlite_modern_cpp](https://github.com/aminroosta/sqlite_modern_cpp): Modern C++11, all in one file. [MIT] ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* From 81aa5a2dac4d00819f39f0a891276148d65d46d7 Mon Sep 17 00:00:00 2001 From: Evgeny Safronov Date: Fri, 27 Mar 2015 17:24:03 +0300 Subject: [PATCH 002/959] Add Blackhole logging framework. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 87dd7899c..9c7e30d60 100644 --- a/README.md +++ b/README.md @@ -323,6 +323,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Logging +* [Blackhole](https://github.com/3Hren/blackhole) - Header only attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] * [easyloggingpp](https://github.com/easylogging/easyloggingpp) - Single header only C++ logging library. [MIT] [website](http://easylogging.org/) * [G3log](https://bitbucket.org/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] From 557bcde357375b929d7722ad0d0eb4ad4e99c144 Mon Sep 17 00:00:00 2001 From: Ferenc- Date: Fri, 18 Sep 2015 23:49:33 +0200 Subject: [PATCH 003/959] Add Metashell --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d54770a89..cf98dc8a1 100644 --- a/README.md +++ b/README.md @@ -582,6 +582,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Comparison of debuggers](http://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. * [GDB](https://www.gnu.org/software/gdb) - GNU Debugger. * [LLDB](http://lldb.llvm.org/) - The LLDB Debugger. +* [Metashell](https://metashell.readthedocs.org) - An interactive template metaprogramming shell which includes the MDB metadebugger. * [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling. * [x64_dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. From 044013820aea1a4ba38414161a33d196ceab57ec Mon Sep 17 00:00:00 2001 From: Mateusz Majewski Date: Sat, 19 Sep 2015 20:31:42 +0200 Subject: [PATCH 004/959] Add C++ Core Guidelines I didn't read through the whole document, but it has Bjarne Stroustrup's name on it and `isocpp` as repo owner, so it must be extremely useful. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf98dc8a1..138c2016f 100644 --- a/README.md +++ b/README.md @@ -667,6 +667,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Coding Style +* [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. * [C++ Dos and Don'ts](http://www.chromium.org/developers/coding-style/cpp-dos-and-donts) - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts. * [google-styleguide](http://code.google.com/p/google-styleguide/) - Style guides for Google-originated open-source projects. * [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml) From 809bb059bb4923f51dea88413cb118a47d74f1c5 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 24 Sep 2015 10:20:49 -0500 Subject: [PATCH 005/959] Create todo5.txt --- todo5.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 todo5.txt diff --git a/todo5.txt b/todo5.txt new file mode 100644 index 000000000..2e43727c7 --- /dev/null +++ b/todo5.txt @@ -0,0 +1,5 @@ +https://github.com/isocpp/CppCoreGuidelines +https://github.com/Microsoft/GSL +https://github.com/scylladb/seastar +https://github.com/google/brotli +https://github.com/google/styleguide From 8e48de28608b13688a42513c1fd6937c44f00e47 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 24 Sep 2015 19:16:17 -0500 Subject: [PATCH 006/959] Update todo5.txt --- todo5.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo5.txt b/todo5.txt index 2e43727c7..ccc44c5a2 100644 --- a/todo5.txt +++ b/todo5.txt @@ -2,4 +2,6 @@ https://github.com/isocpp/CppCoreGuidelines https://github.com/Microsoft/GSL https://github.com/scylladb/seastar https://github.com/google/brotli +https://github.com/google/zopfli https://github.com/google/styleguide +https://github.com/WhisperSystems/libaxolotl-c From 69d967557ef9c96e09b0ecf5ff08a466fc99c864 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 28 Sep 2015 11:17:09 -0500 Subject: [PATCH 007/959] CppCon2015 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 138c2016f..463f82291 100644 --- a/README.md +++ b/README.md @@ -650,6 +650,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Articles *Fantastic C/C++ related articles.* +* [CppCon 2015 Speaker Materials](https://github.com/CppCon/CppCon2015) - Speaker materials from CppCon 2015. * [CppCon 2014 Speaker Materials](https://github.com/CppCon/CppCon2014) - Speaker materials from CppCon 2014. * [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. * [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. From 1454f27d9c2fb35fd3e85fdb45fe4c3037cde758 Mon Sep 17 00:00:00 2001 From: Gluttton Date: Tue, 29 Sep 2015 23:17:52 +0300 Subject: [PATCH 008/959] Adding the Inqlude as one more awesome list. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 463f82291..e028d097b 100644 --- a/README.md +++ b/README.md @@ -737,6 +737,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Awesome C](https://github.com/kozross/awesome-c) - A curated list of awesome C frameworks, libraries, resources. * [Awesome C/C++](http://getawesomeness.com/get/cpp) - getAwesomeness() mirror. * [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. +* [Inqlude](http://inqlude.org/) - The Qt library archive. * [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. * [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. * [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. From aefeded97e08a8110b2dfb1c0919501a0e4f9207 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 12 Oct 2015 17:46:03 -0500 Subject: [PATCH 009/959] Update todo5.txt --- todo5.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/todo5.txt b/todo5.txt index ccc44c5a2..5ff84e13b 100644 --- a/todo5.txt +++ b/todo5.txt @@ -1,4 +1,5 @@ https://github.com/isocpp/CppCoreGuidelines +https://github.com/lefticus/cppbestpractices https://github.com/Microsoft/GSL https://github.com/scylladb/seastar https://github.com/google/brotli From d7b7177da61dd7546dc7487faa41421b5c7b8e76 Mon Sep 17 00:00:00 2001 From: Mischan Gholizadeh Toosarani Date: Mon, 19 Oct 2015 09:25:52 +0200 Subject: [PATCH 010/959] Add NT2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e028d097b..e525a41a9 100644 --- a/README.md +++ b/README.md @@ -388,6 +388,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] +* [NT2](https://github.com/jfalcou/nt2) - A library aimed at simplifying the development, debugging and optimization of high-performance computing applications by providing a Matlab like syntax that eases the transition between prototype and actual application. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) From 0b866eba67eda80ddb717ec9730c1ad8f6f6b5a9 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 19 Oct 2015 11:05:10 -0500 Subject: [PATCH 011/959] Create videos.md --- videos.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 videos.md diff --git a/videos.md b/videos.md new file mode 100644 index 000000000..f48cf8273 --- /dev/null +++ b/videos.md @@ -0,0 +1,4 @@ + +* [Modern C++: What You Need to Know](https://www.youtube.com/watch?v=TJHgp1ugKGM) - This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry. This is a great introduction to the current state of the language, including a glimpse into the future of general purpose, performance-intensive, power-friendly, powerful native programming. [Apr 7, 2014] +* [Bjarne Stroustrup - The Essence of C++](https://www.youtube.com/watch?v=86xWVb4XIyE) - Bjarne Stroustrup, creator and developer of C++, delivers his talk entitled, The Essence of C++. Stroustrup has held distinguished posts at Texas A&M University and spent significant time in the Computer Science Departments of Cambridge, Columbia and Princeton. [May 6, 2014] + From f238250fd747a98824cf47f69db63a3bc5f90c3a Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 19 Oct 2015 11:06:56 -0500 Subject: [PATCH 012/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e028d097b..82bc2ac47 100644 --- a/README.md +++ b/README.md @@ -685,6 +685,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Videos *Fantastic C/C++ related videos.* +* [List of C/C++ YouTube Videos](https://github.com/fffaraz/awesome-cpp/blob/master/videos.md) * [Awesome C Programming Tutorials in Hi Def [HD]](https://www.youtube.com/playlist?list=PLCB9F975ECF01953C) - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers. * [C++](https://www.youtube.com/playlist?list=PL2F919ADECA5E39A6) - by VoidRealms. * [C++ Qt Programming](https://www.youtube.com/playlist?list=PL2D1942A4688E9D63) - by VoidRealms. @@ -693,7 +694,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials. * [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 Essence of C++](https://www.youtube.com/watch?v=86xWVb4XIyE) - by Bjarne Stroustrup. ## Websites *Useful C/C++ related websites.* From abecee6ae4520703d4e6d1a9f23ec60133101f92 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 19 Oct 2015 11:07:43 -0500 Subject: [PATCH 013/959] Update todo5.txt --- todo5.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo5.txt b/todo5.txt index 5ff84e13b..57d8c0911 100644 --- a/todo5.txt +++ b/todo5.txt @@ -6,3 +6,5 @@ https://github.com/google/brotli https://github.com/google/zopfli https://github.com/google/styleguide https://github.com/WhisperSystems/libaxolotl-c + +http://gameprogrammingpatterns.com/ From 1e20a1dbcd258480bdfbc206fe0c4ec34b1f8e7f Mon Sep 17 00:00:00 2001 From: Mischan Gholizadeh Toosarani Date: Thu, 22 Oct 2015 19:26:28 +0200 Subject: [PATCH 014/959] [NT2] shortened description. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e525a41a9..f2d98db33 100644 --- a/README.md +++ b/README.md @@ -388,7 +388,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] -* [NT2](https://github.com/jfalcou/nt2) - A library aimed at simplifying the development, debugging and optimization of high-performance computing applications by providing a Matlab like syntax that eases the transition between prototype and actual application. [Boost] +* [NT2](https://github.com/jfalcou/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) From 4dd39843ac604701f79559563cf351cd4714c6d4 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 26 Oct 2015 22:56:41 -0500 Subject: [PATCH 015/959] Update todo5.txt --- todo5.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo5.txt b/todo5.txt index 57d8c0911..47837248a 100644 --- a/todo5.txt +++ b/todo5.txt @@ -8,3 +8,5 @@ https://github.com/google/styleguide https://github.com/WhisperSystems/libaxolotl-c http://gameprogrammingpatterns.com/ + +https://github.com/bagder/c-ares From 9b98e8ba4ef1af901a537c27bb86ea31fafe8f05 Mon Sep 17 00:00:00 2001 From: Jianwei Han Date: Fri, 6 Nov 2015 15:35:47 +0800 Subject: [PATCH 016/959] Add docopt.cpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a42adeda7..e9a59ce75 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Console/Terminal User Interface, Command Line Interface* * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [BSD] From dd74e1fe4ed2c6338ec71ec7bba7ea5db916b60d Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 13 Nov 2015 13:28:08 -0800 Subject: [PATCH 017/959] Update redirects in Readme --- README.md | 66 +++++++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index e9a59ce75..59ca4c704 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Standard Libraries *C++ Standard Library - including STL Containers, STL Aglorithm, STL Functional, etc.* -* [C++ Standard Library](http://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself. -* [Standard Template Library](http://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL). -* [C POSIX library](http://en.wikipedia.org/wiki/C_POSIX_library) - A specification of a C standard library for POSIX systems. +* [C++ Standard Library](https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself. +* [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL). +* [C POSIX library](https://en.wikipedia.org/wiki/C_POSIX_library) - A specification of a C standard library for POSIX systems. * [ISO C++ Standards Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/) * [The GNU C Library](http://elmerland.com/gnu_manual.html) - The purpose of this manual is to tell you how to use the facilities of the GNU C Library. @@ -73,7 +73,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [MIT] -* [Cinder](http://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] +* [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] * [Dlib](http://dlib.net/) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] * [EASTL](https://github.com/paulhodge/EASTL) - Public part of EA-STL. [BSD] @@ -86,9 +86,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] * [MiLi](https://bitbucket.org/fudepan/mili/) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](http://qt.io/) :zap: - A cross-platform application and UI framework. [LGPL] +* [Qt](http://www.qt.io) :zap: - A cross-platform application and UI framework. [LGPL] * [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](http://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] +* [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] * [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] * [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] @@ -127,7 +127,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libsequence](http://molpopgen.github.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] * [SeqAn](http://www.seqan.de/) - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause] * [Vcflib](https://github.com/ekg/vcflib) - A C++ library for parsing and manipulating VCF files. [MIT] -* [Wham](https://github.com/jewmanchue/wham) - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT] +* [Wham](https://github.com/zeeev/wham) - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT] ## BitTorrent @@ -167,7 +167,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Concurrency *Concurrency and Multithreading* -* [Boost.Compute](https://github.com/kylelutz/compute) - A C++ GPU Computing Library for OpenCL. [Boost] +* [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPL2 with runtime exception] @@ -228,7 +228,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] -* [CTest](http://www.cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] +* [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [googlemock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [googletest](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] @@ -243,12 +243,12 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Game Engine -* [Allegro](http://alleg.sourceforge.net) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] +* [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [Commercial?] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] -* [Godot](https://github.com/okamstudio/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] -* [Grit](http://gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] +* [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] +* [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) @@ -270,7 +270,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [OtterUI](https://github.com/Twolewis/OtterUI) - OtterUI is a User Interface development solution for embedded systems and interactive entertainment software. [MIT] * [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] -* [Sciter](http://www.terrainformatica.com/sciter/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] +* [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] ## Graphics @@ -322,7 +322,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] * [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) -* [simple-rpc-cpp](https://code.google.com/p/simple-rpc-cpp/) - A simple RPC wrapper generator to C/C++ functions. [BSD] +* [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] * [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) * [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] * [ZeroMQ](http://zeromq.org/) - High-speed, modular asynchronous communication library. [LGPL] @@ -368,7 +368,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) -* [Minerva](https://github.com/minerva-developers/minerva) - A fast and flexible system for deep learning. [Apache2] +* [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](http://www.mlpack.org/) - A scalable c++ machine learning library. [LGPLv3] * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] @@ -414,7 +414,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] -* [net_skeleton](https://github.com/cesanta/net_skeleton) - TCP client/server library for C/C++. [GPL2] +* [net_skeleton](https://github.com/cesanta/fossa) - TCP client/server library for C/C++. [GPL2] * [nope.c](https://github.com/riolet/nope.c) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) @@ -464,7 +464,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C/C++. [Apache2] [website](http://msgpack.org/) -* [protobuf](http://code.google.com/p/protobuf/) - Protocol Buffers - Google's data interchange format. [BSD] +* [protobuf](https://github.com/google/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] @@ -484,7 +484,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Web Application Framework -* [Civetweb](https://github.com/bel2125/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] +* [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] @@ -517,11 +517,11 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] -* [c-smart-pointers](https://github.com/Snaipe/c-smart-pointers) - Smart pointers for the (GNU) C programming language. [MIT] +* [c-smart-pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. -* [HTTP Parser](https://github.com/joyent/http-parser) :zap: - A http request/response parser for C. [MIT] +* [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] * [libsigc++](http://libsigc.sourceforge.net/) - A typesafe callback system for standard C++. [LGPL] * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] @@ -560,7 +560,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. -* [Microsoft Visual C++](http://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) - MSVC, developed by Microsoft. +* [Microsoft Visual C++](https://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) - MSVC, developed by Microsoft. * [Open WatCom](http://www.openwatcom.org/index.php/Main_Page) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] * [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] * [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] @@ -572,7 +572,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CodeTwist](http://codetwist.com/) - A simple online compiler/interpreter, where you can paste your C, C++ or Java code and execute it online and see results. * [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.compileonline.com/compile_cpp11_online.php) - Compile and Execute C++ online on Linux. +* [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. * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. * [Rise4Fun](http://webcompiler.cloudapp.net/) - Online Visual C++ compiler. @@ -581,8 +581,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Debugger *List of C/C++ debuggers* -* [Comparison of debuggers](http://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. -* [GDB](https://www.gnu.org/software/gdb) - GNU Debugger. +* [Comparison of debuggers](https://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. +* [GDB](https://www.gnu.org/software/gdb/) - GNU Debugger. * [LLDB](http://lldb.llvm.org/) - The LLDB Debugger. * [Metashell](https://metashell.readthedocs.org) - An interactive template metaprogramming shell which includes the MDB metadebugger. * [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling. @@ -604,9 +604,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. * [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. * [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. -* [Microsoft Visual Studio](http://www.visualstudio.com/) - An IDE from Microsoft. +* [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. * [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. -* [Qt Creator](http://qt-project.org/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. +* [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. * [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. * [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. * [YouCompleteMe](https://valloric.github.io/YouCompleteMe/) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. @@ -615,7 +615,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. * [Biicode](https://www.biicode.com/) - Simple, file-based dependency manager. -* [CMake](http://www.cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] +* [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. * [Ninja](http://martine.github.io/ninja/) - A small build system with a focus on speed. @@ -623,7 +623,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. -* [Premake](http://industriousone.com/premake) - A tool configured with lua scipt to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. +* [Premake](http://premake.github.io) - A tool configured with lua scipt to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. ## Static Code Analysis *List of tools for improving quality and reducing defects by code analysis* @@ -672,7 +672,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. * [C++ Dos and Don'ts](http://www.chromium.org/developers/coding-style/cpp-dos-and-donts) - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts. -* [google-styleguide](http://code.google.com/p/google-styleguide/) - Style guides for Google-originated open-source projects. +* [google-styleguide](https://github.com/google/styleguide) - Style guides for Google-originated open-source projects. * [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml) * [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html) * [Linux kernel coding style](https://www.kernel.org/doc/Documentation/CodingStyle) @@ -700,7 +700,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Websites *Useful C/C++ related websites.* -* [Standard C++](http://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. +* [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. * [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. @@ -716,9 +716,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Weblogs *Useful C/C++ related weblogs.* -* [Coding For Speed](http://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time. +* [Coding For Speed](https://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time. * [Eric Niebler](http://ericniebler.com/) -* [Sticky Bits](http://blog.feabhas.com/) +* [Sticky Bits](https://blog.feabhas.com/) * [Paul Fultz II's Blog](http://pfultz2.com/blog/) * [ridiculousfish](http://ridiculousfish.com/blog/posts/will-it-optimize.html) - Will It Optimize? * [Embedded in Academia](http://blog.regehr.org/) @@ -728,7 +728,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. * [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. -* [C/C++ Awesome Pack](https://github.com/junian/CppAwesomePack) - Contains some awesome c++ codes, packed in one. +* [C/C++ Awesome Pack](https://github.com/JunianNet/CppAwesomePack) - Contains some awesome c++ codes, packed in one. # Other Awesome Lists *Other amazingly awesome lists* From c6d73e1358dac09f77f01b7a249e34d02b049dc7 Mon Sep 17 00:00:00 2001 From: Maxim Abramchuk Date: Sun, 29 Nov 2015 11:22:30 +0300 Subject: [PATCH 018/959] Add awesome interview questions repository --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59ca4c704..c2550c52d 100644 --- a/README.md +++ b/README.md @@ -744,6 +744,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. * [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. * [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. +* [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C/C++. # Contributing Please see [CONTRIBUTING](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. From 37783af02645175626730b51f02c4c07a0e2b45d Mon Sep 17 00:00:00 2001 From: Arto Bendiken Date: Thu, 23 Apr 2015 03:08:04 +0200 Subject: [PATCH 019/959] Added lmdb++, a C++11 wrapper for LMDB. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2550c52d..958d0260b 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library. [BSD] * [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] +* [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded database library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] * [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 86f71b3ff5f9c32e9d5371c09ee4346a017aad01 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Tue, 8 Dec 2015 21:16:53 -0600 Subject: [PATCH 020/959] Update todo5.txt --- todo5.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo5.txt b/todo5.txt index 47837248a..4e18b5ee8 100644 --- a/todo5.txt +++ b/todo5.txt @@ -10,3 +10,5 @@ https://github.com/WhisperSystems/libaxolotl-c http://gameprogrammingpatterns.com/ https://github.com/bagder/c-ares + +http://www.yeppp.info/ From 831d8636f8917fd90bc152ef434a54175798a5e0 Mon Sep 17 00:00:00 2001 From: Ole Christian Eidheim Date: Mon, 14 Dec 2015 08:54:55 +0100 Subject: [PATCH 021/959] Added juCi++ as C++ IDE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 958d0260b..2204790b8 100644 --- a/README.md +++ b/README.md @@ -604,6 +604,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] * [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. * [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. +* [juCi++](https://github.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] * [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. * [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. * [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. From f145bf66d4fa32aa203fadd91b4facfb23ccadec Mon Sep 17 00:00:00 2001 From: Henry Hirsch Date: Sun, 20 Dec 2015 07:01:00 +0100 Subject: [PATCH 022/959] Add new url for TinyXML++ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2204790b8..e21b0a28a 100644 --- a/README.md +++ b/README.md @@ -504,7 +504,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [RapidXml](http://rapidxml.sourceforge.net/) - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost] * [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] * [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] -* [TinyXML++](https://code.google.com/p/ticpp/) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] +* [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] * [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] ## Miscellaneous From 3d8380a8ca3b040d96086fb2fcd494456375c8b6 Mon Sep 17 00:00:00 2001 From: Vladislav Yaroslavlev Date: Mon, 21 Dec 2015 16:25:40 +0300 Subject: [PATCH 023/959] Microsoft Casablanca -> C++ REST SDK Casablanca by Microsoft was renamed to C++ REST SDK and moved to GitHub --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e21b0a28a..e0ce53b9c 100644 --- a/README.md +++ b/README.md @@ -407,7 +407,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ACE](http://www.cs.wustl.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [Casablanca](http://casablanca.codeplex.com/) - C++ REST SDK. [Apache2] +* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] From 5a8865a318325acfc79ff2c267e3c1e522fc2b7d Mon Sep 17 00:00:00 2001 From: Vladislav Yaroslavlev Date: Mon, 21 Dec 2015 16:32:33 +0300 Subject: [PATCH 024/959] Google benchmark lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e21b0a28a..686079245 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* +* [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] * [Catch](https://github.com/philsquared/Catch) - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] From 4ba950ade7d7de264e2ba2ea64af49060cf47962 Mon Sep 17 00:00:00 2001 From: Vladislav Yaroslavlev Date: Mon, 21 Dec 2015 16:34:26 +0300 Subject: [PATCH 025/959] Google Test and Google Mock (their official names) and Visual Leak Detector --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e21b0a28a..5e0666279 100644 --- a/README.md +++ b/README.md @@ -230,8 +230,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] -* [googlemock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] -* [googletest](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] +* [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] +* [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] * [MemTrack](http://www.almostinfinite.com/memtrack.html) - Tracking memory allocations in C++. @@ -240,7 +240,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] -* [VLD](http://vld.codeplex.com/) - A free, robust, open-source memory leak detection system for Visual C++. +* [VLD](http://vld.codeplex.com/) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. ## Game Engine From a13a9f378b7eb59d83e78230e32de1d15546ede4 Mon Sep 17 00:00:00 2001 From: Trevor Hickey Date: Thu, 24 Dec 2015 11:18:54 -0500 Subject: [PATCH 026/959] adds build system I heard about this from cppcast http://cppcast.com/2015/12/jussi-pakkanen/ --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e3f4e6eff..8681dd91a 100644 --- a/README.md +++ b/README.md @@ -620,7 +620,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Biicode](https://www.biicode.com/) - Simple, file-based dependency manager. * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. -* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. +* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. +* [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](http://martine.github.io/ninja/) - A small build system with a focus on speed. * [Scons](http://www.scons.org/) - A software construction tool configured with Python scipt. * [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. From dd04c001678b6522146603f489ded531b6ac57e3 Mon Sep 17 00:00:00 2001 From: Vladimir Timofeev Date: Mon, 28 Dec 2015 23:47:26 +0300 Subject: [PATCH 027/959] BDE library published under Apache2 license. See https://github.com/bloomberg/bde#license --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8681dd91a..093ce0d9b 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) -* [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [MIT] +* [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] * [Dlib](http://dlib.net/) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] From 7960cfdab32bc2a14d97ca982c9330f269dbe659 Mon Sep 17 00:00:00 2001 From: Denis Muratshin Date: Sat, 2 Jan 2016 22:06:45 +0500 Subject: [PATCH 028/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 093ce0d9b..d6d55b8b6 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] +* [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) * [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) From d6bc8f38f1c5aedf56f0cd96bbd3ccf119c30c6f Mon Sep 17 00:00:00 2001 From: Chao Mai Date: Mon, 4 Jan 2016 21:34:28 +0800 Subject: [PATCH 029/959] Add GacUI in GUI. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6d55b8b6..78d8b69cc 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] +* [GacUI](https://github.com/vczh-libraries) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. ## Graphics From 58edb35e9b434978910c00e396ef43bccfbb370a Mon Sep 17 00:00:00 2001 From: Jakob Petsovits Date: Thu, 6 Aug 2015 17:43:43 -0400 Subject: [PATCH 030/959] Add afl-fuzz to the Miscellaneous section. It's crazy, and awesome. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6d55b8b6..0ab69f45e 100644 --- a/README.md +++ b/README.md @@ -513,6 +513,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* * [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] +* [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] From 1b29bdbc9b07afdcbc31be730de34ad49e48559a Mon Sep 17 00:00:00 2001 From: Jakob Petsovits Date: Mon, 4 Jan 2016 11:29:47 -0500 Subject: [PATCH 031/959] Add cppcodec, a C++11 header-only base-N encoding library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6d55b8b6..050977d3d 100644 --- a/README.md +++ b/README.md @@ -465,6 +465,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Serialization * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] +* [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C/C++. [Apache2] [website](http://msgpack.org/) * [protobuf](https://github.com/google/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] From 653339a3727299dde0cfaf00df0bb6589c9a324c Mon Sep 17 00:00:00 2001 From: Vladimir Timofeev Date: Wed, 6 Jan 2016 10:43:37 +0300 Subject: [PATCH 032/959] Remove Neu framework. I can not find any sources of it (see also https://github.com/fffaraz/awesome-cpp/issues/181) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 65172dffc..d4cbcf60c 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] -* [Neu](https://github.com/andrometa/neu) - A C++ 11 framework, collection of programming languages, and multipurpose software system designed for: the creation of artificial intelligence applications. [BSD] ## Asynchronous Event Loop From 4da90c30b9f52f467b78c5a50c0b248a1b8edaab Mon Sep 17 00:00:00 2001 From: u1234x1234 Date: Sat, 16 Jan 2016 03:32:27 +0500 Subject: [PATCH 033/959] Add ArrayFire to Concurrency --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65172dffc..625e2a3e9 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Concurrency *Concurrency and Multithreading* +* [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] From c9ab1f0ceb347d1b97041f11f9527bea2dc39a88 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 22 Jan 2016 09:50:20 -0600 Subject: [PATCH 034/959] nlohmann/json --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f4e1a3b89..d76386a15 100644 --- a/README.md +++ b/README.md @@ -338,7 +338,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] * [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] * [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] -* [json](https://github.com/nlohmann/json) - JSON for Modern C++. [MIT] +* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] From 9d7a46d5df10232ecffe7b89a87dc433f38a6d6e Mon Sep 17 00:00:00 2001 From: Patricio Astudillo Date: Sat, 23 Jan 2016 17:30:01 +0100 Subject: [PATCH 035/959] add versor to math libs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d76386a15..aed91c032 100644 --- a/README.md +++ b/README.md @@ -396,6 +396,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [NT2](https://github.com/jfalcou/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) +* [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). ## Multimedia From 87aabfc9a4f72b8cee7475f24e02dfc8e8ea4199 Mon Sep 17 00:00:00 2001 From: Johann Gerell Date: Tue, 26 Jan 2016 20:05:27 +0100 Subject: [PATCH 036/959] Added FastFormat library to Miscellaneous --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aed91c032..64dc67312 100644 --- a/README.md +++ b/README.md @@ -521,6 +521,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] * [C++ Format](https://github.com/cppformat/cppformat) - Small, safe and fast formatting library for C++. [BSD] +* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] From a623200c8acb4474c4618663c1c0369a2b817b5d Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 30 Jan 2016 12:28:47 -0600 Subject: [PATCH 037/959] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 64dc67312..8688307be 100644 --- a/README.md +++ b/README.md @@ -746,7 +746,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. * [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists. -* [Awesome C](https://github.com/kozross/awesome-c) - A curated list of awesome C frameworks, libraries, resources. * [Awesome C/C++](http://getawesomeness.com/get/cpp) - getAwesomeness() mirror. * [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. * [Inqlude](http://inqlude.org/) - The Qt library archive. From bd24c7393c766e6f663df810afaa21436a00cdc0 Mon Sep 17 00:00:00 2001 From: Chao Mai Date: Wed, 3 Feb 2016 00:10:36 +0800 Subject: [PATCH 038/959] update GacUI in GUI 1. fix the order of GacUI in GUI section, 2. add license, 3. update the link of GacUI. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8688307be..4c321d647 100644 --- a/README.md +++ b/README.md @@ -263,6 +263,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] +* [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] * [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] * [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] @@ -275,7 +276,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] -* [GacUI](https://github.com/vczh-libraries) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. ## Graphics From e4837fb7b895a11a6688721e11c8cb0da02de277 Mon Sep 17 00:00:00 2001 From: Omar Shaikh Date: Thu, 4 Feb 2016 15:29:05 -0800 Subject: [PATCH 039/959] Update README.md Adding TensorFlow in Artificial Intelligence --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4c321d647..f6a103a7d 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] +* [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs [Apache] ## Asynchronous Event Loop From 180b74c1ca3dd6e6d78d26767a9f32a2df11e4e5 Mon Sep 17 00:00:00 2001 From: Chao Mai Date: Fri, 5 Feb 2016 12:22:55 +0800 Subject: [PATCH 040/959] add junction in Concurrency category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6a103a7d..0c4846d53 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPL2 with runtime exception] +* [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. From d4987f227c8228260204c9647a3e619ee8a2e373 Mon Sep 17 00:00:00 2001 From: Chao Mai Date: Sat, 6 Feb 2016 11:45:38 +0800 Subject: [PATCH 041/959] add libcds in Concurrency category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0c4846d53..d46f3ddd4 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPL2 with runtime exception] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] +* [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. From 423df94de49d99d9b9187fe46d3939a72720816c Mon Sep 17 00:00:00 2001 From: Chao Mai Date: Sun, 7 Feb 2016 12:13:59 +0800 Subject: [PATCH 042/959] add ck in Concurrency category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d46f3ddd4..378431fb5 100644 --- a/README.md +++ b/README.md @@ -170,6 +170,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] +* [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPL2 with runtime exception] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] From 41fdde78466fef5c1f359f1c22d1016dec558c7e Mon Sep 17 00:00:00 2001 From: Devinsuit Date: Thu, 11 Feb 2016 20:26:41 +0900 Subject: [PATCH 043/959] Fix #271 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 208710558..2751d136c 100644 --- a/README.md +++ b/README.md @@ -403,7 +403,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] * [Armadillo](http://arma.sourceforge.net/) - A high quality C++ linear algebra library, aiming towards a good balance between speed and ease of use. The syntax (API) is deliberately similar to Matlab. [MPL2] -* [blaze](https://code.google.com/p/blaze-lib/) - high-performance C++ math library for dense and sparse arithmetic. [BSD] +* [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] * [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGal](http://www.cgal.org/) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] From 2eb65ed11ac56d98bb0a34182e12726b8d002c13 Mon Sep 17 00:00:00 2001 From: Force Charlie Date: Fri, 19 Feb 2016 18:54:40 +0800 Subject: [PATCH 044/959] Add ChakraCore, And amended Clang & GCC language support, llvm developed by LLVM Team --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4d4dad94e..079cc6c3d 100644 --- a/README.md +++ b/README.md @@ -468,6 +468,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SWIG](http://www.swig.org/) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](http://code.google.com/p/v8/) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] +* [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can ben embedded into nodejs. [MIT] ## Serialization @@ -568,8 +569,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [8cc](https://github.com/rui314/8cc) - A Small C Compiler. * [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] -* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C11. Developed by Apple. [NCSA] -* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C11 and OpenMP. [GNU GPL3] +* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1y C11. Developed by LLVM Team. [NCSA] +* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1y C11 and OpenMP. [GNU GPL3] * [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. From b246389db58a3416c7fe9167830d290e76e0b1a4 Mon Sep 17 00:00:00 2001 From: "Force.Charlie-I" Date: Sat, 20 Feb 2016 09:47:49 +0800 Subject: [PATCH 045/959] Typo fix --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 079cc6c3d..a09f835fd 100644 --- a/README.md +++ b/README.md @@ -468,7 +468,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SWIG](http://www.swig.org/) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](http://code.google.com/p/v8/) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] -* [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can ben embedded into nodejs. [MIT] +* [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] ## Serialization @@ -569,8 +569,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [8cc](https://github.com/rui314/8cc) - A Small C Compiler. * [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] -* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1y C11. Developed by LLVM Team. [NCSA] -* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1y C11 and OpenMP. [GNU GPL3] +* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA] +* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3] * [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. From e4713913430a2c7d02966b4ae90cadd6f25775f1 Mon Sep 17 00:00:00 2001 From: Adam Stevenson Date: Sat, 5 Mar 2016 14:23:03 -0500 Subject: [PATCH 046/959] Reclassify irrlicht as graphics engine From irrlicht's homepage: "The Irrlicht Engine is an open source high performance realtime 3D engine written in C++." Not a game engine. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d4dad94e..c4a87a986 100644 --- a/README.md +++ b/README.md @@ -255,7 +255,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] -* [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) @@ -287,6 +286,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] +* [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [magnum](https://github.com/mosra/magnum) - C++11 and OpenGL 2D/3D graphics engine. [MIT] [website](http://mosra.cz/blog/magnum.php) * [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] From 5f4b8e1e0374b444af5d2ca8f9f77931210515fc Mon Sep 17 00:00:00 2001 From: Morton Fox Date: Wed, 23 Mar 2016 12:40:18 -0400 Subject: [PATCH 047/959] Update KArchive link. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c4a87a986..4f4842082 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] * [doboz](https://bitbucket.org/attila_afra/doboz/overview) - Compression library with very fast decompression. [zlib] * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] -* [KArchive](https://projects.kde.org/projects/frameworks/karchive) - 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] +* [KArchive](https://quickgit.kde.org/?p=karchive.git) - 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] * [LZ4](https://code.google.com/p/lz4/) - Extremely Fast Compression algorithm. [BSD] * [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] * [LZMA](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] From 409724d0aef59154b44d7844868398f51af1a414 Mon Sep 17 00:00:00 2001 From: Christoph Rupp Date: Thu, 7 Apr 2016 14:42:25 +0200 Subject: [PATCH 048/959] Add upscaledb embedded database --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4f4842082..da87a39d1 100644 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] +* [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* From 6c947951a7f1d844fa8dc661a47201d2956049b9 Mon Sep 17 00:00:00 2001 From: Callum Kirby Date: Tue, 12 Apr 2016 09:57:42 +1200 Subject: [PATCH 049/959] Inclusion of Restbed framework. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da87a39d1..c54e454c6 100644 --- a/README.md +++ b/README.md @@ -418,6 +418,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ACE](http://www.cs.wustl.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] +* [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] From 3d82d91d39dcf23846d13df31143f5e3ec453ee6 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 18 Apr 2016 18:18:05 -0500 Subject: [PATCH 050/959] compilers-targeting-c --- todo5.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/todo5.txt b/todo5.txt index 4e18b5ee8..03c33b1e3 100644 --- a/todo5.txt +++ b/todo5.txt @@ -1,5 +1,6 @@ https://github.com/isocpp/CppCoreGuidelines https://github.com/lefticus/cppbestpractices +https://github.com/dbohdan/compilers-targeting-c https://github.com/Microsoft/GSL https://github.com/scylladb/seastar https://github.com/google/brotli From 51d6428b44a55b198f022f5856c24a51f4a3c7ca Mon Sep 17 00:00:00 2001 From: Michael Truell Date: Tue, 26 Apr 2016 21:30:21 -0400 Subject: [PATCH 051/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c54e454c6..a066a646c 100644 --- a/README.md +++ b/README.md @@ -377,6 +377,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] +* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](http://www.mlpack.org/) - A scalable c++ machine learning library. [LGPLv3] From 2f73cfb9c75952da2b907ce77375f3d47d96b6e3 Mon Sep 17 00:00:00 2001 From: Michael Truell Date: Wed, 27 Apr 2016 19:48:26 -0400 Subject: [PATCH 052/959] Added MIT licence marker to Fido --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a066a646c..7de4c5400 100644 --- a/README.md +++ b/README.md @@ -377,7 +377,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] -* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. +* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](http://www.mlpack.org/) - A scalable c++ machine learning library. [LGPLv3] From 52981d2c2f15a23a6b7e1cfadf1435604adb2a1f Mon Sep 17 00:00:00 2001 From: Michael Truell Date: Wed, 27 Apr 2016 21:21:55 -0400 Subject: [PATCH 053/959] Added Fido Website --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7de4c5400..6509e881e 100644 --- a/README.md +++ b/README.md @@ -377,7 +377,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] -* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] +* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](http://www.mlpack.org/) - A scalable c++ machine learning library. [LGPLv3] From d8ab8a33bff7ea865d90e52ef3d4dea932634d4b Mon Sep 17 00:00:00 2001 From: cosmy1 Date: Sun, 1 May 2016 22:26:33 +0200 Subject: [PATCH 054/959] Update README.md Update EASTL. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c54e454c6..8ad39001f 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] * [Dlib](http://dlib.net/) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] -* [EASTL](https://github.com/paulhodge/EASTL) - Public part of EA-STL. [BSD] +* [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) From e0959ee03af61b050e5d3acf0a5e40147ecdbaeb Mon Sep 17 00:00:00 2001 From: Jakob Petsovits Date: Sun, 15 May 2016 16:25:04 -0400 Subject: [PATCH 055/959] #225: Fix link to mirror of this awesome list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a8e29135..4368f5cd6 100644 --- a/README.md +++ b/README.md @@ -754,7 +754,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. * [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists. -* [Awesome C/C++](http://getawesomeness.com/get/cpp) - getAwesomeness() mirror. +* [Awesome C/C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness() mirror. * [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. * [Inqlude](http://inqlude.org/) - The Qt library archive. * [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. From 8784e759266f60d115573a2cf24054fa5b0e1ceb Mon Sep 17 00:00:00 2001 From: Jakob Petsovits Date: Sun, 15 May 2016 16:27:55 -0400 Subject: [PATCH 056/959] #212: Fix link to "Designing Qt-Style C++ APIs" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4368f5cd6..b3a3299d5 100644 --- a/README.md +++ b/README.md @@ -665,7 +665,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## API Design * [Beautiful Native Libraries](http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/) -* [Designing Qt-Style C++ APIs](http://doc.qt.digia.com/qq/qq13-apis.html) +* [Designing Qt-Style C++ APIs](https://doc.qt.io/archives/qq/qq13-apis.html) ## Articles *Fantastic C/C++ related articles.* From 526890352d6a92c0513b8d1343c3338294c18ce6 Mon Sep 17 00:00:00 2001 From: Viktor Kirilov Date: Sun, 22 May 2016 15:45:02 +0300 Subject: [PATCH 057/959] added doctest to the list with testing frameworks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3a3299d5..42814f04a 100644 --- a/README.md +++ b/README.md @@ -230,6 +230,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] +* [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] * [Catch](https://github.com/philsquared/Catch) - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] From 9eff4dab588b4b0ef3bf797bdbbf349f3d9ddadc Mon Sep 17 00:00:00 2001 From: Fedir Ltvynenko Date: Mon, 23 May 2016 23:23:06 +0300 Subject: [PATCH 058/959] Fix broken link to Google C++ Style Guide --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b3a3299d5..8381b8f5b 100644 --- a/README.md +++ b/README.md @@ -691,7 +691,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. * [C++ Dos and Don'ts](http://www.chromium.org/developers/coding-style/cpp-dos-and-donts) - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts. * [google-styleguide](https://github.com/google/styleguide) - Style guides for Google-originated open-source projects. -* [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml) +* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) * [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html) * [Linux kernel coding style](https://www.kernel.org/doc/Documentation/CodingStyle) * [LLVM Coding Standards](http://llvm.org/docs/CodingStandards.html) From ce9baa9dbed56e95f9496cce1fb054248882bc35 Mon Sep 17 00:00:00 2001 From: Quentin Bazin Date: Mon, 30 May 2016 18:54:01 +0200 Subject: [PATCH 059/959] Update Cocos2d-x license Cocos2d-x is under MIT license as mentioned here: http://www.cocos2d-x.org/cocos2dx --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 670084f68..9cf0bee2c 100644 --- a/README.md +++ b/README.md @@ -252,7 +252,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Game Engine * [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] -* [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [Commercial?] +* [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] From 72e4a097c382a9718f22c08ce9a639107f860ac0 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 3 Jun 2016 21:26:36 -0500 Subject: [PATCH 060/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec7130d05..04450283e 100644 --- a/README.md +++ b/README.md @@ -636,7 +636,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Biicode](https://www.biicode.com/) - Simple, file-based dependency manager. * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. -* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. +* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. * [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](http://martine.github.io/ninja/) - A small build system with a focus on speed. * [Scons](http://www.scons.org/) - A software construction tool configured with Python scipt. From 8bdfb45f7a29f9d84c41e92ab7398dd9ac92c88d Mon Sep 17 00:00:00 2001 From: "Javier G. Sogo" Date: Thu, 9 Jun 2016 10:03:48 +0200 Subject: [PATCH 061/959] Add TreeFrog Framework to Web Application Framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 04450283e..da59892f5 100644 --- a/README.md +++ b/README.md @@ -506,6 +506,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] * [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/) * [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] ## XML From 9819ea8cad53c5bb92f8a605bf2a3ddc67b122c0 Mon Sep 17 00:00:00 2001 From: David Demelier Date: Fri, 10 Jun 2016 08:53:45 +0200 Subject: [PATCH 062/959] Update Qt license --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index da59892f5..5a8509830 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] * [MiLi](https://bitbucket.org/fudepan/mili/) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](http://www.qt.io) :zap: - A cross-platform application and UI framework. [LGPL] +* [Qt](http://www.qt.io) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] * [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] From 1f87655cf7621a1fdd6d6b8d436a4fdfe016d524 Mon Sep 17 00:00:00 2001 From: David Demelier Date: Fri, 10 Jun 2016 09:05:44 +0200 Subject: [PATCH 063/959] Add Duktape --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a8509830..c1e281782 100644 --- a/README.md +++ b/README.md @@ -467,6 +467,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Scripting * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) +* [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) * [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [SWIG](http://www.swig.org/) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] From 42fa1dacf57db9e01e61965e5b520be0706d2f74 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 10 Jun 2016 12:48:51 -0500 Subject: [PATCH 064/959] Fix #238 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c1e281782..722e7a167 100644 --- a/README.md +++ b/README.md @@ -687,7 +687,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [List of Free C/C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) * [Free C Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c) - vhf/free-programming-books/C. * [Free C++ Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c-1) - vhf/free-programming-books/C++. -* [6 Free eBooks On C++ Game Programming](http://www.efytimes.com/e1/fullnews.asp?edid=120435) - Learn how to create graphics And video games in C++. * [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. ## Coding Style From 2d4338287737539323524044ede2ec830e1bbc0a Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 10 Jun 2016 13:53:23 -0500 Subject: [PATCH 065/959] C++Now 2016 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 722e7a167..1d611c9ce 100644 --- a/README.md +++ b/README.md @@ -676,6 +676,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CppCon 2015 Speaker Materials](https://github.com/CppCon/CppCon2015) - Speaker materials from CppCon 2015. * [CppCon 2014 Speaker Materials](https://github.com/CppCon/CppCon2014) - Speaker materials from CppCon 2014. +* [C++Now 2016 Presentations](https://github.com/brycelelbach/cppnow_presentations_2016) - Presentation materials for C++Now 2016. * [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. * [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. * [C++Now 2013 Presentations](https://github.com/boostcon/cppnow_presentations_2013) - Presentation materials presented at C++Now 2013. From e3dfcf8c030ff83fb89fd10f427c50338e013496 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 10 Jun 2016 14:02:38 -0500 Subject: [PATCH 066/959] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 1d611c9ce..c844a1c45 100644 --- a/README.md +++ b/README.md @@ -98,9 +98,12 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Artificial Intelligence +* [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) - A GPU (CUDA) based Artificial Neural Network library. [LGPL] * [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] * [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs [Apache] +* [tiny-cnn](https://github.com/nyanp/tiny-cnn) - A header only, dependency-free deep learning framework in C++11. [BSD] +* [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] ## Asynchronous Event Loop From a2b0e23f757d84db1af1510036fd976118b50281 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 10 Jun 2016 14:15:18 -0500 Subject: [PATCH 067/959] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c844a1c45..fa16654a5 100644 --- a/README.md +++ b/README.md @@ -761,7 +761,10 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. * [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists. -* [Awesome C/C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness() mirror. +* [Awesome C/C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. +* [Awesome C/C++](https://cpp.libhunt.com/) - LibHunt's mirror. +* [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 +* [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 * [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. * [Inqlude](http://inqlude.org/) - The Qt library archive. * [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. From 8006882c0e20722ab084ebdcbe96da874eb363ed Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 11 Jun 2016 13:13:01 -0500 Subject: [PATCH 068/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa16654a5..cc0b4de2b 100644 --- a/README.md +++ b/README.md @@ -416,7 +416,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] * [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) * [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] -* [SFML](http://www.sfml-dev.org/) :zap: - Simple and Fast Multimedia Library. [zlib] +* [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) ## Networking From a1a0be734e5f2beaec21c386a2b050338cc8021b Mon Sep 17 00:00:00 2001 From: Noora Date: Sun, 12 Jun 2016 06:15:51 +0300 Subject: [PATCH 069/959] Add Recast/Detour under Artificial Intelligence --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc0b4de2b..768a0f71c 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) - A GPU (CUDA) based Artificial Neural Network library. [LGPL] * [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] +* [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] * [tiny-cnn](https://github.com/nyanp/tiny-cnn) - A header only, dependency-free deep learning framework in C++11. [BSD] * [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] From 58f2a5daf3ec6534447644fcedd5be68af465dfc Mon Sep 17 00:00:00 2001 From: Noora Date: Sun, 12 Jun 2016 06:26:38 +0300 Subject: [PATCH 070/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc0b4de2b..1fdf2aaa3 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] * [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] * [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] +* [mbedTLS](https://github.com/ARMmbed/mbedtls) - Tiny crypto suite aimed at embedded development, previously known as PolarSSL. [Apache2] * [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - A low-level cryptographic library. [LGPL] * [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [websire](http://www.openssl.org/) * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. From affd185c5abfebeb083096d8302f8ecf7e315b33 Mon Sep 17 00:00:00 2001 From: Jonathan Beard Date: Mon, 20 Jun 2016 14:29:45 -0500 Subject: [PATCH 071/959] Update README.md added RaftLib concurrency library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 56a069e31..5bb606de3 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. +* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] From a69b41543aa66a26ba17772d9ab9918dd437e038 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 22 Jun 2016 13:12:17 -0500 Subject: [PATCH 072/959] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5bb606de3..5030e7388 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Compression and Archiving Libraries* * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] -* [doboz](https://bitbucket.org/attila_afra/doboz/overview) - Compression library with very fast decompression. [zlib] * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://quickgit.kde.org/?p=karchive.git) - 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] * [LZ4](https://code.google.com/p/lz4/) - Extremely Fast Compression algorithm. [BSD] From fbaa700cc3d825ce8111aa90108ba6457ee341f4 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 22 Jun 2016 14:00:18 -0500 Subject: [PATCH 073/959] Closes #247 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5030e7388..ab25e7458 100644 --- a/README.md +++ b/README.md @@ -282,7 +282,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] -* [OtterUI](https://github.com/Twolewis/OtterUI) - OtterUI is a User Interface development solution for embedded systems and interactive entertainment software. [MIT] * [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] From 46c04bd7f6a3476ccf4f7856f58c46a418e2270b Mon Sep 17 00:00:00 2001 From: Dan Ibanez Date: Wed, 27 Jul 2016 11:38:50 -0400 Subject: [PATCH 074/959] Add Trilinos under Scientific Computing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab25e7458..5cc158c78 100644 --- a/README.md +++ b/README.md @@ -467,6 +467,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] +* [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] ## Scripting From 75d707336536c9edf08545f03cbf67f782849704 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 5 Aug 2016 11:33:21 -0500 Subject: [PATCH 075/959] Update todo1.txt --- todo1.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo1.txt b/todo1.txt index a5c6200e4..63c56a3b8 100644 --- a/todo1.txt +++ b/todo1.txt @@ -246,3 +246,5 @@ https://github.com/clMathLibraries/clFFT https://github.com/simsong/tcpflow https://github.com/stealth/sshttp https://github.com/munificent/game-programming-patterns + +https://github.com/json-c/json-c From 948641201352226051611fcd9e2ad82213c23132 Mon Sep 17 00:00:00 2001 From: cheyulin Date: Tue, 9 Aug 2016 08:11:41 +0800 Subject: [PATCH 076/959] add cuda-related libs nccl, cub, moderngpu --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5cc158c78..7dffea2dc 100644 --- a/README.md +++ b/README.md @@ -185,6 +185,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] +* [Nccl](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved] +* [cub](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [Copyright (c) 2010-2011, Duane Merrill. All rights reserved. Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved.] +* [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. [ Copyright (c) 2016, Sean Baxter All rights reserved.] ## Containers From ab76b6c7bc9abb6435fc08a24bbab27886491813 Mon Sep 17 00:00:00 2001 From: CHE Yulin Date: Wed, 10 Aug 2016 07:15:44 +0800 Subject: [PATCH 077/959] follow alphabet order and simplify copy right for cub, nccl,moderngpu --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7dffea2dc..97ab290b2 100644 --- a/README.md +++ b/README.md @@ -174,20 +174,20 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] +* [cub](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [Copyright, NVIDIA CORPORATION.] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPL2 with runtime exception] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] +* [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. [Copyright, Sean Baxter] +* [Nccl](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [Copyright, NVIDIA CORPORATION] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] -* [Nccl](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved] -* [cub](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [Copyright (c) 2010-2011, Duane Merrill. All rights reserved. Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved.] -* [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. [ Copyright (c) 2016, Sean Baxter All rights reserved.] ## Containers From 14e07331cc3e25b1a7b75d94d8633014413898ce Mon Sep 17 00:00:00 2001 From: CHE Yulin Date: Wed, 10 Aug 2016 18:58:29 +0800 Subject: [PATCH 078/959] update license and make Nccl to NCCL, cub to CUB --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 97ab290b2..22e2ce8c3 100644 --- a/README.md +++ b/README.md @@ -174,14 +174,14 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] -* [cub](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [Copyright, NVIDIA CORPORATION.] +* [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] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPL2 with runtime exception] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] -* [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. [Copyright, Sean Baxter] -* [Nccl](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [Copyright, NVIDIA CORPORATION] +* [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter] +* [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] From 81f1ed0232cb0e812b8b8e820401b000b0e5ae4d Mon Sep 17 00:00:00 2001 From: Shlomi Fish Date: Mon, 15 Aug 2016 17:43:36 +0300 Subject: [PATCH 079/959] Correct spelling of "script" and some grammar. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 22e2ce8c3..abdc4ab65 100644 --- a/README.md +++ b/README.md @@ -649,11 +649,11 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. * [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](http://martine.github.io/ninja/) - A small build system with a focus on speed. -* [Scons](http://www.scons.org/) - A software construction tool configured with Python scipt. +* [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. * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. -* [Premake](http://premake.github.io) - A tool configured with lua scipt to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. +* [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. ## Static Code Analysis *List of tools for improving quality and reducing defects by code analysis* From f7989d8abfd48fd6088971811df5c9c6159d34c2 Mon Sep 17 00:00:00 2001 From: Samuel Riddle Date: Tue, 16 Aug 2016 16:44:26 +0300 Subject: [PATCH 080/959] Add KFR --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abdc4ab65..e32d841f3 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Audio, Sound, Music, Digitized Voice Libraries* * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] +* [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] From 35eca7c1fed14fe1d23db54f9b1800375f065ed9 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 3 Sep 2016 12:02:27 -0500 Subject: [PATCH 081/959] zstd Zstandard - Fast real-time compression algorithm. Developed by Facebook. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e32d841f3..497b4abe9 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Snappy](https://code.google.com/p/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] * [zlib-ng](https://github.com/Dead2/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] +* [zstd](https://github.com/facebook/zstd) - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD] * [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] ## Concurrency From 7352d602ee3c427f0e24276f2e6a0459460aefcd Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 3 Sep 2016 12:05:07 -0500 Subject: [PATCH 082/959] FiniteStateEntropy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 497b4abe9..3a1c0b87b 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Compression and Archiving Libraries* * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] +* [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://quickgit.kde.org/?p=karchive.git) - 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] * [LZ4](https://code.google.com/p/lz4/) - Extremely Fast Compression algorithm. [BSD] From b3e8974d0d1d81b8ff05ed901ae913dd4fee13fa Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 3 Sep 2016 12:11:14 -0500 Subject: [PATCH 083/959] Brotli & LZFSE --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3a1c0b87b..82029a211 100644 --- a/README.md +++ b/README.md @@ -153,11 +153,13 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Compression *Compression and Archiving Libraries* +* [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] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://quickgit.kde.org/?p=karchive.git) - 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] -* [LZ4](https://code.google.com/p/lz4/) - Extremely Fast Compression algorithm. [BSD] +* [LZ4](https://github.com/Cyan4973/lz4) - Extremely Fast Compression algorithm. [BSD] +* [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. * [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] * [LZMA](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] * [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL] From 2cba2c9650e6bb1bd2e2752367a329031c0d1776 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 3 Sep 2016 12:14:59 -0500 Subject: [PATCH 084/959] rename --- todo1.txt => todo.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename todo1.txt => todo.txt (100%) diff --git a/todo1.txt b/todo.txt similarity index 100% rename from todo1.txt rename to todo.txt From fb456a2b07ebbc3eb6e2078307f46156795c38b5 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 3 Sep 2016 12:19:40 -0500 Subject: [PATCH 085/959] todo --- todo.txt | 87 +++++++++++++++++++++++++++++++++++++++++++++++++------ todo2.txt | 23 --------------- todo3.txt | 11 ------- todo4.txt | 4 --- todo5.txt | 15 ---------- 5 files changed, 78 insertions(+), 62 deletions(-) delete mode 100644 todo2.txt delete mode 100644 todo3.txt delete mode 100644 todo4.txt delete mode 100644 todo5.txt diff --git a/todo.txt b/todo.txt index 63c56a3b8..b3f875f50 100644 --- a/todo.txt +++ b/todo.txt @@ -27,8 +27,7 @@ http://faculty.euc.ac.cy/scharalambous/csc131/books/C%20book%201.pdf http://www.planetpdf.com/codecuts/pdfs/ooc.pdf http://www.codeproject.com/Articles/6154/Writing-Efficient-C-and-C-Code-Optimization - -==================== +--- All libs in: https://github.com/Alexpux/MINGW-packages @@ -56,7 +55,7 @@ http://www.swig.org/ QUIC & UDT -==================== +---------------------------------------- https://github.com/ellisonleao/magictools @@ -101,7 +100,7 @@ http://glm.g-truc.net/ http://www.shoup.net/ntl/ -==================== +---------------------------------------- http://www.efytimes.com/e1/fullnews.asp?edid=117053 http://www.efytimes.com/e1/fullnews.asp?edid=123439 @@ -123,7 +122,7 @@ http://en.wikiversity.org/wiki/Introduction_to_C++ http://blogs.msdn.com/b/nativeconcurrency/ -==================== +---------------------------------------- http://en.wikipedia.org/wiki/Comparison_of_TLS_implementations @@ -133,7 +132,7 @@ http://en.wikipedia.org/wiki/PolarSSL http://en.wikipedia.org/wiki/CyaSSL http://en.wikipedia.org/wiki/GnuTLS -==================== +---------------------------------------- https://github.com/mozilla/mozjpeg https://github.com/tinfoilboy/Explodable @@ -149,7 +148,7 @@ https://github.com/m-ou-se/moggle https://github.com/Hawstein/cracking-the-coding-interview -==================== +---------------------------------------- "libc++" C++ Standard Library http://libcxx.llvm.org/ @@ -179,7 +178,7 @@ https://github.com/bytefish/libfacerec https://github.com/esnme/ultramemcache https://github.com/simonask/fatso -==================== +---------------------------------------- https://github.com/Kosta-Github/http-cpp https://github.com/adafruit/Adafruit-GFX-Library @@ -223,7 +222,7 @@ https://github.com/juj/MathGeoLib https://github.com/watashi/AlgoSolution https://github.com/marioyc/Online-Judge-Solutions -==================== +---------------------------------------- https://github.com/oclint/oclint @@ -248,3 +247,73 @@ https://github.com/stealth/sshttp https://github.com/munificent/game-programming-patterns https://github.com/json-c/json-c + +---------------------------------------- + +http://libcxx.llvm.org/ +http://www.ijg.org/ +http://sourceforge.net/projects/libjpeg-turbo/ +http://libpng.org/ +http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html +https://code.google.com/p/sfntly/ +http://www.netlib.org/fdlibm/ + +---------------------------------------- + +https://github.com/arrayfire/arrayfire +https://github.com/google/flatbuffers +https://github.com/google/protobuf + +---------------------------------------- + +http://en.wikipedia.org/wiki/Category:C%2B%2B_libraries +http://en.wikipedia.org/wiki/List_of_C%2B%2B_template_libraries + +---------------------------------------- + +http://www.csie.ntu.edu.tw/~cjlin/liblinear/ +http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/ + +---------------------------------------- + +https://cryptocoding.net/index.php/Coding_rules#Clean_memory_of_secret_data + +---------------------------------------- + +https://www.youtube.com/watch?v=mVbDzTM21BQ + +http://en.wikibooks.org/wiki/Optimizing_C%2B%2B/Code_optimization +http://en.wikibooks.org/wiki/Optimizing_C++/Code_optimization/Faster_operations + +https://mattmccutchen.net/bigint/ +https://code.google.com/p/infint/ +http://cpp-bigint.sourceforge.net/ +https://gmplib.org/ + +https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus + +---------------------------------------- + +http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Core-C- +http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL- +https://www.youtube.com/user/handmadeheroarchive/videos +https://www.youtube.com/playlist?list=PL3R9mYgM4NVw4m0PTXBzQZBV2DzCt92Sp + +---------------------------------------- + +https://github.com/isocpp/CppCoreGuidelines +https://github.com/lefticus/cppbestpractices +https://github.com/dbohdan/compilers-targeting-c +https://github.com/Microsoft/GSL +https://github.com/scylladb/seastar +https://github.com/google/brotli +https://github.com/google/zopfli +https://github.com/google/styleguide +https://github.com/WhisperSystems/libaxolotl-c + +http://gameprogrammingpatterns.com/ + +https://github.com/bagder/c-ares + +http://www.yeppp.info/ + diff --git a/todo2.txt b/todo2.txt deleted file mode 100644 index dd24a51d2..000000000 --- a/todo2.txt +++ /dev/null @@ -1,23 +0,0 @@ -http://libcxx.llvm.org/ -http://www.ijg.org/ -http://sourceforge.net/projects/libjpeg-turbo/ -http://libpng.org/ -http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html -https://code.google.com/p/sfntly/ -http://www.netlib.org/fdlibm/ - -------------------------------------- -https://github.com/arrayfire/arrayfire -https://github.com/google/flatbuffers -https://github.com/google/protobuf - -------------------------------------- -http://en.wikipedia.org/wiki/Category:C%2B%2B_libraries -http://en.wikipedia.org/wiki/List_of_C%2B%2B_template_libraries - -------------------------------------- -http://www.csie.ntu.edu.tw/~cjlin/liblinear/ -http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/ - -------------------------------------- -https://cryptocoding.net/index.php/Coding_rules#Clean_memory_of_secret_data diff --git a/todo3.txt b/todo3.txt deleted file mode 100644 index 92ab5bbf7..000000000 --- a/todo3.txt +++ /dev/null @@ -1,11 +0,0 @@ -https://www.youtube.com/watch?v=mVbDzTM21BQ - -http://en.wikibooks.org/wiki/Optimizing_C%2B%2B/Code_optimization -http://en.wikibooks.org/wiki/Optimizing_C++/Code_optimization/Faster_operations - -https://mattmccutchen.net/bigint/ -https://code.google.com/p/infint/ -http://cpp-bigint.sourceforge.net/ -https://gmplib.org/ - -https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus diff --git a/todo4.txt b/todo4.txt deleted file mode 100644 index 604450722..000000000 --- a/todo4.txt +++ /dev/null @@ -1,4 +0,0 @@ -http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Core-C- -http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL- -https://www.youtube.com/user/handmadeheroarchive/videos -https://www.youtube.com/playlist?list=PL3R9mYgM4NVw4m0PTXBzQZBV2DzCt92Sp diff --git a/todo5.txt b/todo5.txt deleted file mode 100644 index 03c33b1e3..000000000 --- a/todo5.txt +++ /dev/null @@ -1,15 +0,0 @@ -https://github.com/isocpp/CppCoreGuidelines -https://github.com/lefticus/cppbestpractices -https://github.com/dbohdan/compilers-targeting-c -https://github.com/Microsoft/GSL -https://github.com/scylladb/seastar -https://github.com/google/brotli -https://github.com/google/zopfli -https://github.com/google/styleguide -https://github.com/WhisperSystems/libaxolotl-c - -http://gameprogrammingpatterns.com/ - -https://github.com/bagder/c-ares - -http://www.yeppp.info/ From 0ae58db8448450e74a44a6ffaf200b9a26ab77e6 Mon Sep 17 00:00:00 2001 From: xgdgsc Date: Sun, 4 Sep 2016 22:14:47 +0800 Subject: [PATCH 086/959] ninja deadlink --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 82029a211..d6cedcb74 100644 --- a/README.md +++ b/README.md @@ -653,7 +653,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. * [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](http://martine.github.io/ninja/) - A small build system with a focus on speed. +* [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. * [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. * [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. * [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. From 8d912a8d4515353ea799f90e5cf1cb2afdd4daad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Tschumperl=C3=A9?= Date: Mon, 5 Sep 2016 09:18:12 +0200 Subject: [PATCH 087/959] Update link for CImg Library. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d6cedcb74..f6a15e523 100644 --- a/README.md +++ b/README.md @@ -314,7 +314,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Image Processing * [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. -* [CImg](http://cimg.sourceforge.net/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] +* [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](http://www.xdp.it/cximage.htm) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] * [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) From 0578e601dd322e8b6311450a178f429a8b31b996 Mon Sep 17 00:00:00 2001 From: isayme Date: Sat, 10 Sep 2016 13:38:42 +0800 Subject: [PATCH 088/959] update info for minunit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6a15e523..4a1c5ec5f 100644 --- a/README.md +++ b/README.md @@ -256,7 +256,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] * [MemTrack](http://www.almostinfinite.com/memtrack.html) - Tracking memory allocations in C++. * [microprofile](https://bitbucket.org/jonasmeyer/microprofile/overview) - Profiler with web-view for multiple platforms. [PublicDomain] -* [minUnit](http://www.jera.com/techinfo/jtns/jtn002.html) - A minimal unit testing framework for C written using only 2 macros. [PublicDomain] +* [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C/C++ self-contained in a single header file. [MIT] * [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] From 3edf0799186c9fa1c0e2d638ce3f9f4d83e8af08 Mon Sep 17 00:00:00 2001 From: Devinsuit Date: Thu, 15 Sep 2016 18:22:45 +0300 Subject: [PATCH 089/959] Update broken link. Fix #269 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4a1c5ec5f..208710558 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [miniz](https://code.google.com/p/miniz/) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [Unlicense] * [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] -* [Snappy](https://code.google.com/p/snappy/) - A fast compressor/decompressor. [BSD] +* [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] * [zlib-ng](https://github.com/Dead2/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] * [zstd](https://github.com/facebook/zstd) - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD] From d29eaca5c55cf0485b1dc093abfcad9fee3bf5bf Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 22 Sep 2016 11:19:22 -0500 Subject: [PATCH 090/959] CppCon 2016 Presentation Materials --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2751d136c..df16ff17b 100644 --- a/README.md +++ b/README.md @@ -687,8 +687,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Articles *Fantastic C/C++ related articles.* -* [CppCon 2015 Speaker Materials](https://github.com/CppCon/CppCon2015) - Speaker materials from CppCon 2015. -* [CppCon 2014 Speaker Materials](https://github.com/CppCon/CppCon2014) - Speaker materials from CppCon 2014. +* [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. +* [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. +* [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. * [C++Now 2016 Presentations](https://github.com/brycelelbach/cppnow_presentations_2016) - Presentation materials for C++Now 2016. * [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. * [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. From b98129f55f90b2f5d880efed9551b63a72307170 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 26 Oct 2016 09:35:11 -0500 Subject: [PATCH 091/959] LevelDB --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index df16ff17b..9e95036eb 100644 --- a/README.md +++ b/README.md @@ -226,7 +226,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] -* [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library. [BSD] +* [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] * [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] * [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded database library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] From d57b6cfac587ec7ac061daf9b3c10bf3709ac1fe Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 28 Oct 2016 10:52:44 -0500 Subject: [PATCH 092/959] SIMD Vector Classes for C++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9e95036eb..ed868ba57 100644 --- a/README.md +++ b/README.md @@ -416,6 +416,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [NT2](https://github.com/jfalcou/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) +* [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). ## Multimedia From 6951772d01585d80f7f137746f5ff02d701615f1 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 16 Nov 2016 16:21:40 -0600 Subject: [PATCH 093/959] Update todo.txt --- todo.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/todo.txt b/todo.txt index b3f875f50..73acfe9be 100644 --- a/todo.txt +++ b/todo.txt @@ -317,3 +317,6 @@ https://github.com/bagder/c-ares http://www.yeppp.info/ +https://github.com/AnthonyCalandra/modern-cpp-features + + From d6fc7d335ff676fcea2afd872d38cdc525727754 Mon Sep 17 00:00:00 2001 From: schoetbi Date: Fri, 18 Nov 2016 12:20:28 +0100 Subject: [PATCH 094/959] Added MuParser http://beltoforion.de/article.php?a=muparser --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed868ba57..31e7056fe 100644 --- a/README.md +++ b/README.md @@ -413,6 +413,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] +* [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] * [NT2](https://github.com/jfalcou/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) From 0a53996a1be130cd154dc970745111fa64599558 Mon Sep 17 00:00:00 2001 From: schoetbi Date: Fri, 18 Nov 2016 12:01:59 +0100 Subject: [PATCH 095/959] Added ExprTK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 31e7056fe..aa5de0f2a 100644 --- a/README.md +++ b/README.md @@ -409,6 +409,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CGal](http://www.cgal.org/) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] +* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [CPL] * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] From fbd0d31198a1dbfff0af167b7d174e905f4edf25 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 21 Nov 2016 10:58:20 -0600 Subject: [PATCH 096/959] Update todo.txt --- todo.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/todo.txt b/todo.txt index 73acfe9be..3fd62ae4e 100644 --- a/todo.txt +++ b/todo.txt @@ -319,4 +319,5 @@ http://www.yeppp.info/ https://github.com/AnthonyCalandra/modern-cpp-features +https://github.com/nothings/single_file_libs From 8c43297259a94b8c733c15e05e92d0e64eac7432 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 21 Nov 2016 14:14:06 -0600 Subject: [PATCH 097/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa5de0f2a..456e12f9d 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] * [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] * [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] -* [mbedTLS](https://github.com/ARMmbed/mbedtls) - Tiny crypto suite aimed at embedded development, previously known as PolarSSL. [Apache2] +* [mbedTLS](https://github.com/ARMmbed/mbedtls) - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] [website](https://tls.mbed.org/) * [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - A low-level cryptographic library. [LGPL] * [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [websire](http://www.openssl.org/) * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. From adc6645bad3f1c7d48595191c735f8c538c948af Mon Sep 17 00:00:00 2001 From: Egor Pugin Date: Tue, 6 Dec 2016 21:10:36 +0300 Subject: [PATCH 098/959] Add C++ Archive Network. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 456e12f9d..87f17a70f 100644 --- a/README.md +++ b/README.md @@ -653,6 +653,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. * [Biicode](https://www.biicode.com/) - Simple, file-based dependency manager. * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] +* [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. * [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. From cebb57227568871cf5692d255a99a8b4c1c4309a Mon Sep 17 00:00:00 2001 From: "Javier G. Sogo" Date: Wed, 7 Dec 2016 10:04:51 +0100 Subject: [PATCH 099/959] Add Conan and remove Biicode Biicode has been abandoned and the same idea (and almost the same team) is now developing Conan. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 87f17a70f..4183179fe 100644 --- a/README.md +++ b/README.md @@ -651,9 +651,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Build Systems * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. -* [Biicode](https://www.biicode.com/) - Simple, file-based dependency manager. * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. +* [Conan](https://conan.io/) - C/C++ Package Manager. * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. * [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. From 4742541d56843435f9ca327b09d047f36668705a Mon Sep 17 00:00:00 2001 From: "Javier G. Sogo" Date: Wed, 7 Dec 2016 12:22:57 +0100 Subject: [PATCH 100/959] Add license to Conan.io --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4183179fe..8ffa07437 100644 --- a/README.md +++ b/README.md @@ -653,7 +653,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. -* [Conan](https://conan.io/) - C/C++ Package Manager. +* [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. * [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. From ef970cdd645a131555600357e3952c662867c70c Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 7 Dec 2016 11:54:53 -0600 Subject: [PATCH 101/959] Update todo.txt --- todo.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/todo.txt b/todo.txt index 3fd62ae4e..738b90709 100644 --- a/todo.txt +++ b/todo.txt @@ -321,3 +321,6 @@ https://github.com/AnthonyCalandra/modern-cpp-features https://github.com/nothings/single_file_libs +A simple Minecraft clone written in C using modern OpenGL (shaders). +https://github.com/fogleman/Craft + From 65ae7880c182061e8fee2aff030506446a30ec7f Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sun, 11 Dec 2016 16:10:51 -0600 Subject: [PATCH 102/959] Update todo.txt --- todo.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo.txt b/todo.txt index 738b90709..aabb96f10 100644 --- a/todo.txt +++ b/todo.txt @@ -324,3 +324,5 @@ https://github.com/nothings/single_file_libs A simple Minecraft clone written in C using modern OpenGL (shaders). https://github.com/fogleman/Craft +https://github.com/agauniyal/rang + From 17db289c1c967a9b9699ec4888e57ae52770ebea Mon Sep 17 00:00:00 2001 From: David Demelier Date: Mon, 19 Dec 2016 10:36:11 +0100 Subject: [PATCH 103/959] GUI: Add nanapro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ffa07437..dfc98d744 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] * [libRocket](http://librocket.com/) - libRocket is a C++ HTML/CSS game interface middleware. [MIT] * [MyGUI](http://mygui.info/) - 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] * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] From d31895b07ad5dbf38775a451401da2e6429a5b75 Mon Sep 17 00:00:00 2001 From: "Michael V. DePalatis" Date: Mon, 19 Dec 2016 12:02:09 -0500 Subject: [PATCH 104/959] Remove header-only from blackhole description It was once header-only but now is built as a shared library. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dfc98d744..ad76be55e 100644 --- a/README.md +++ b/README.md @@ -376,7 +376,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Logging -* [Blackhole](https://github.com/3Hren/blackhole) - Header only attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] +* [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] * [easyloggingpp](https://github.com/easylogging/easyloggingpp) - Single header only C++ logging library. [MIT] [website](http://easylogging.org/) * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] From c64a7c8800b3b67a1c20967b5a6d1974a4a70cb3 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 19 Dec 2016 12:47:35 -0600 Subject: [PATCH 105/959] Update todo.txt --- todo.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/todo.txt b/todo.txt index aabb96f10..1c4a7c26a 100644 --- a/todo.txt +++ b/todo.txt @@ -320,6 +320,10 @@ http://www.yeppp.info/ https://github.com/AnthonyCalandra/modern-cpp-features https://github.com/nothings/single_file_libs +https://github.com/vurtun/mmx +https://github.com/vurtun/nuklear +https://github.com/richgel999/miniz +https://github.com/johnezang/pithy A simple Minecraft clone written in C using modern OpenGL (shaders). https://github.com/fogleman/Craft From c1dc02807744d64073193515dcbb16bd6ad34fa4 Mon Sep 17 00:00:00 2001 From: Eugene Pilyankevich Date: Thu, 22 Dec 2016 01:46:11 +0200 Subject: [PATCH 106/959] Add Themis crypto library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ad76be55e..d3e2a0b04 100644 --- a/README.md +++ b/README.md @@ -220,6 +220,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. * [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] * [Tiny AES128 in C](https://github.com/kokke/tiny-AES128-C) - A small and portable implementation of the AES128 ECB encryption algorithm implemented in C. [PublicDomain] +* [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] ## Database *Database Libraries, SQL Servers, ODBC Drivers, and Tools* From f6b7e43789846f29c91b00cfe23ff67f87f7592b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 24 Dec 2016 11:57:07 +0800 Subject: [PATCH 107/959] Add backward-cpp under Debug section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3e2a0b04..664d45b91 100644 --- a/README.md +++ b/README.md @@ -242,6 +242,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* +* [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] * [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] From 6bc4a4bb755338d612817f676d4bc11bdbdca67b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 24 Dec 2016 11:58:28 +0800 Subject: [PATCH 108/959] Remove several TODOs that are already done. --- todo.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/todo.txt b/todo.txt index 1c4a7c26a..70913d2d7 100644 --- a/todo.txt +++ b/todo.txt @@ -12,7 +12,6 @@ * [MariaDB](https://mariadb.com/) - A robust, scalable and reliable SQL server, designed to be a drop-in replacement for MySQL. [BSD] * [PostgreSQL]() - A powerful object-relational database system. [PostgreSQL licence] * [Redis]() - An advanced key-value store. [3-clause BSD]. -* [SQLite]() - A self-contained, serverless, zero-configuration, transactional SQL database engine with a C interface. [Public domain] * [UnQLite]() - A self-contained, serverless, zero-configuration, transactional NoSQL engine with a C interface. [FreeBSD] https://www.enlightenment.org/p.php?p=about/efl @@ -63,7 +62,6 @@ https://github.com/robbinfan/claire-protorpc https://github.com/chen3feng/typhoon-blade - Buildsystem http://industriousone.com/premake http://glm.g-truc.net/0.9.5/index.html - Math -https://github.com/paulhodge/EASTL https://code.google.com/p/distcc/ http://omniorb.sourceforge.net/ http://www.h323plus.org/ @@ -86,7 +84,6 @@ http://isocpp.org/blog/2012/12/c11-a-cheat-sheet-alex-sinyakov https://github.com/Tuplanolla/cheat https://github.com/vgvassilev/cling -https://github.com/BVLC/caffe https://github.com/Yelp/MOE https://github.com/cocos2d/cocos2d-x https://github.com/ideawu/ssdb @@ -137,7 +134,6 @@ http://en.wikipedia.org/wiki/GnuTLS https://github.com/mozilla/mozjpeg https://github.com/tinfoilboy/Explodable https://github.com/thrust/thrust -https://github.com/chenshuo/muduo https://github.com/shaih/HElib https://github.com/philsquared/Catch https://github.com/jlnr/gosu @@ -308,7 +304,6 @@ https://github.com/Microsoft/GSL https://github.com/scylladb/seastar https://github.com/google/brotli https://github.com/google/zopfli -https://github.com/google/styleguide https://github.com/WhisperSystems/libaxolotl-c http://gameprogrammingpatterns.com/ From 5937595b60ed9e5d54d45ebd44fc6b8d85ebb313 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 28 Dec 2016 13:06:50 -0600 Subject: [PATCH 109/959] Update todo.txt --- todo.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/todo.txt b/todo.txt index 70913d2d7..cee035739 100644 --- a/todo.txt +++ b/todo.txt @@ -325,3 +325,4 @@ https://github.com/fogleman/Craft https://github.com/agauniyal/rang +https://github.com/tomtom-international/cpp-dependencies From a69d6cbe0ed5dd9fd245331343dcbd921b242094 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 30 Dec 2016 23:51:07 -0600 Subject: [PATCH 110/959] facebook/infer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 664d45b91..653de6342 100644 --- a/README.md +++ b/README.md @@ -672,6 +672,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) * [include-what-you-use](https://code.google.com/p/include-what-you-use/) - A tool for use with clang to analyze includes in C and C++ source files. +* [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] * [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) * [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. * [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. From 73f2ed36ebfb071e3160bfb5cdd86c2eb3647366 Mon Sep 17 00:00:00 2001 From: Imesha Sudasingha Date: Tue, 3 Jan 2017 06:57:24 +0530 Subject: [PATCH 111/959] Updated tesseract-ocr URL tesseract-ocr has moved from https://code.google.com/p/tesseract-ocr/ to https://github.com/tesseract-ocr. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 653de6342..706bcb818 100644 --- a/README.md +++ b/README.md @@ -329,7 +329,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] -* [tesseract-ocr](https://code.google.com/p/tesseract-ocr/) - An OCR engine. [Apache2] +* [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] * [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 4df7bfa8d46da72fb67ae93823fd0d2892498672 Mon Sep 17 00:00:00 2001 From: "k.michaelkills" Date: Fri, 6 Jan 2017 00:32:57 +0100 Subject: [PATCH 112/959] DCMTK DICOM Toolkit library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 706bcb818..0961b8e4c 100644 --- a/README.md +++ b/README.md @@ -321,6 +321,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CxImage](http://www.xdp.it/cximage.htm) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] * [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) +* [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. * [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. * [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) From 55d13b718271d420228ccadef8aaa1bc9ad892e8 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 6 Jan 2017 16:34:50 -0600 Subject: [PATCH 113/959] Update todo.txt --- todo.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/todo.txt b/todo.txt index cee035739..0b2550a8a 100644 --- a/todo.txt +++ b/todo.txt @@ -326,3 +326,7 @@ https://github.com/fogleman/Craft https://github.com/agauniyal/rang https://github.com/tomtom-international/cpp-dependencies + +https://github.com/moderngpu/moderngpu +https://github.com/inkooboo/thread-pool-cpp + From eb11ab91e16f3d9a7aee021c3253ae667dbb875b Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 6 Jan 2017 20:27:32 -0600 Subject: [PATCH 114/959] Update todo.txt --- todo.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo.txt b/todo.txt index 0b2550a8a..018072319 100644 --- a/todo.txt +++ b/todo.txt @@ -14,6 +14,8 @@ * [Redis]() - An advanced key-value store. [3-clause BSD]. * [UnQLite]() - A self-contained, serverless, zero-configuration, transactional NoSQL engine with a C interface. [FreeBSD] +http://www.cs.colorado.edu/~main/cs1300/doc/bgi/ + https://www.enlightenment.org/p.php?p=about/efl https://github.com/stefanct/sglib https://bitbucket.org/zserge/jsmn/wiki/Home From c9051ec1c4c1e63b6870c2e130e90e9e28242abf Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 6 Jan 2017 20:29:26 -0600 Subject: [PATCH 115/959] Update todo.txt --- todo.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo.txt b/todo.txt index 018072319..dbe220a07 100644 --- a/todo.txt +++ b/todo.txt @@ -332,3 +332,5 @@ https://github.com/tomtom-international/cpp-dependencies https://github.com/moderngpu/moderngpu https://github.com/inkooboo/thread-pool-cpp +http://www-304.ibm.com/webapp/set2/sas/f/lopdiags/sdklop.html + From 82dd915a3f4a2a53f47cb73fc5b78081b3f2f518 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 6 Jan 2017 20:33:05 -0600 Subject: [PATCH 116/959] Update todo.txt --- todo.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/todo.txt b/todo.txt index dbe220a07..d69bcdb45 100644 --- a/todo.txt +++ b/todo.txt @@ -334,3 +334,17 @@ https://github.com/inkooboo/thread-pool-cpp http://www-304.ibm.com/webapp/set2/sas/f/lopdiags/sdklop.html +https://en.wikipedia.org/wiki/Integrated_Performance_Primitives +https://en.wikipedia.org/wiki/Threading_Building_Blocks +https://en.wikipedia.org/wiki/Intel_Parallel_Building_Blocks +https://en.wikipedia.org/wiki/Intel_Array_Building_Blocks +https://en.wikipedia.org/wiki/Cilk +https://en.wikipedia.org/wiki/Concurrent_Collections +https://en.wikipedia.org/wiki/Intel_Parallel_Studio +https://en.wikipedia.org/wiki/Parallel_Patterns_Library +https://en.wikipedia.org/wiki/Parallel_Extensions#Task_Parallel_Library +https://en.wikipedia.org/wiki/OpenMP +https://en.wikipedia.org/wiki/Math_Kernel_Library +https://en.wikipedia.org/wiki/VTune +https://en.wikipedia.org/wiki/List_of_performance_analysis_tools + From b1c3a5ae5e03ec93b5005d403036d81a3a812b4a Mon Sep 17 00:00:00 2001 From: Svyatoslav Date: Tue, 17 Jan 2017 09:44:26 +0300 Subject: [PATCH 117/959] PVS-Studio Add PVS-Studio static analyzer. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0961b8e4c..17d10d296 100644 --- a/README.md +++ b/README.md @@ -672,6 +672,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *List of tools for improving quality and reducing defects by code analysis* * [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) +* [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. * [include-what-you-use](https://code.google.com/p/include-what-you-use/) - A tool for use with clang to analyze includes in C and C++ source files. * [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] * [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) From 1f7264cee35edb1a4e118156adc2c0523232c70c Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 18 Jan 2017 21:55:25 -0600 Subject: [PATCH 118/959] Add @MattPD / cpplinks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 17d10d296..63051f43f 100644 --- a/README.md +++ b/README.md @@ -782,6 +782,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. * [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists. +* [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. * [Awesome C/C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. * [Awesome C/C++](https://cpp.libhunt.com/) - LibHunt's mirror. * [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 From c40a477bf7faa11920bff3f944db64058b3f74d8 Mon Sep 17 00:00:00 2001 From: Thibaut Date: Wed, 1 Feb 2017 17:27:10 +0100 Subject: [PATCH 119/959] Add hopscotch map to the list of containers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63051f43f..b251892a4 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] +* [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] ## Cryptography From c46d9492d17ed9e556cad83759b0318e8c8f9523 Mon Sep 17 00:00:00 2001 From: Devinsuit Date: Fri, 3 Feb 2017 00:39:54 +0300 Subject: [PATCH 120/959] Update broken link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b251892a4..ba26586bd 100644 --- a/README.md +++ b/README.md @@ -420,7 +420,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] -* [NT2](https://github.com/jfalcou/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] +* [NT2](https://github.com/Mathieu-/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] From 6abe87179de63eeabb852ad0ee946e7751af3cc1 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 6 Feb 2017 00:42:48 -0600 Subject: [PATCH 121/959] dlib --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ba26586bd..165b9ec2f 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] -* [Dlib](http://dlib.net/) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] +* [Dlib](https://github.com/davisking/dlib) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] From 847972d40d29d2d3311889809f936215c062a488 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 6 Feb 2017 01:07:59 -0600 Subject: [PATCH 122/959] mlpack --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 165b9ec2f..a58bd740c 100644 --- a/README.md +++ b/README.md @@ -398,7 +398,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] -* [mlpack](http://www.mlpack.org/) - A scalable c++ machine learning library. [LGPLv3] +* [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] From 18076bb117dfe82b028113d87829e1ebab04db9e Mon Sep 17 00:00:00 2001 From: Heiko Behrens Date: Wed, 15 Feb 2017 10:58:24 -0800 Subject: [PATCH 123/959] update link to Linux kernel coding style --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a58bd740c..a478a9ef2 100644 --- a/README.md +++ b/README.md @@ -722,7 +722,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [google-styleguide](https://github.com/google/styleguide) - Style guides for Google-originated open-source projects. * [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) * [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html) -* [Linux kernel coding style](https://www.kernel.org/doc/Documentation/CodingStyle) +* [Linux kernel coding style](https://www.kernel.org/doc/Documentation/process/coding-style.rst) * [LLVM Coding Standards](http://llvm.org/docs/CodingStandards.html) ## Talks From 4ce8cd9f812d895bfbe906af4d5a525f067dd92b Mon Sep 17 00:00:00 2001 From: Majid Date: Tue, 21 Feb 2017 13:19:42 +1100 Subject: [PATCH 124/959] Updated elpp link and desc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a478a9ef2..7bbd18994 100644 --- a/README.md +++ b/README.md @@ -382,7 +382,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] -* [easyloggingpp](https://github.com/easylogging/easyloggingpp) - Single header only C++ logging library. [MIT] [website](http://easylogging.org/) +* [Easylogging++](https://github.com/easylogging/easyloggingpp) - Single header only, extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] [website](https://muflihun.github.io/easyloggingpp) * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] From 9b171ba79110d8fca9b0576708255ae1a0f980f9 Mon Sep 17 00:00:00 2001 From: Yushin Washio Date: Sun, 26 Feb 2017 01:15:48 +0100 Subject: [PATCH 125/959] C++ Format renamed to {fmt}, license is Simplified BSD instead of BSD --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bbd18994..c07b4fbc1 100644 --- a/README.md +++ b/README.md @@ -553,7 +553,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] -* [C++ Format](https://github.com/cppformat/cppformat) - Small, safe and fast formatting library for C++. [BSD] +* [{fmt}](https://github.com/fmtlib/fmt) - Small, safe and fast formatting library for C++. [Simplified BSD] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] From 5f590dab57d5dbb046a283e75ab2165399cd2f95 Mon Sep 17 00:00:00 2001 From: Karan Desai Date: Fri, 3 Mar 2017 12:27:37 +0530 Subject: [PATCH 126/959] Update link of tiny-dnn framework --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c07b4fbc1..e5c6916e3 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] * [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] -* [tiny-cnn](https://github.com/nyanp/tiny-cnn) - A header only, dependency-free deep learning framework in C++11. [BSD] +* [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] * [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] ## Asynchronous Event Loop From 75ac69a42b3f5594e4967de9f2f7e3fc401ba363 Mon Sep 17 00:00:00 2001 From: Maksim Derbasov Date: Sun, 5 Mar 2017 01:56:40 +0300 Subject: [PATCH 127/959] Intel TBB license changed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e5c6916e3..17f817a68 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [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] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] -* [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [GPL2 with runtime exception] +* [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] From ff6fe634c310fc8a0ea792697e86ec1a242f7f02 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 17 Mar 2017 08:59:14 -0500 Subject: [PATCH 128/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17f817a68..4816b8dc7 100644 --- a/README.md +++ b/README.md @@ -553,7 +553,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] -* [{fmt}](https://github.com/fmtlib/fmt) - Small, safe and fast formatting library for C++. [Simplified BSD] +* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] From c8923f6cb781607643447d22138751e661db27a9 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 30 Mar 2017 10:17:31 -0500 Subject: [PATCH 129/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4816b8dc7..64684ea45 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] * [mbedTLS](https://github.com/ARMmbed/mbedtls) - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] [website](https://tls.mbed.org/) * [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - A low-level cryptographic library. [LGPL] -* [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [websire](http://www.openssl.org/) +* [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [website](http://www.openssl.org/) * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. * [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] * [Tiny AES128 in C](https://github.com/kokke/tiny-AES128-C) - A small and portable implementation of the AES128 ECB encryption algorithm implemented in C. [PublicDomain] From f441f3404d5cf17679513f3c7f4c5afd7af8aa1b Mon Sep 17 00:00:00 2001 From: Mohammadreza Hajianpour Date: Wed, 5 Apr 2017 02:48:20 +0430 Subject: [PATCH 130/959] Add Urho3D in Game Engine section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 64684ea45..03bf2d20b 100644 --- a/README.md +++ b/README.md @@ -278,6 +278,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) * [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) * [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) +* [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] ## GUI *Graphic User Interface* From c7ed5ba229b5a29e6ba41f922b154bbf27092b31 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 6 Apr 2017 09:36:20 -0500 Subject: [PATCH 131/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03bf2d20b..6b02e3c46 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] * [MiLi](https://bitbucket.org/fudepan/mili/) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](http://www.qt.io) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] +* [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] * [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] From a8a64f98d59a99e3f11f8794eec5e580e4f7e570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20=C3=81d=C3=A1m?= Date: Mon, 17 Apr 2017 13:17:50 +0200 Subject: [PATCH 132/959] Add Pistache --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b02e3c46..07a10a2af 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] +* [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) * [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] From ba080461231fc8f4c8ab5ffea457594ff3795fbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20=C3=81d=C3=A1m?= Date: Mon, 17 Apr 2017 13:21:51 +0200 Subject: [PATCH 133/959] Add lwan --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b02e3c46..b0436641e 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] +* [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] * [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/) * [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] From 1867ecf029f51581b1bb992fc82d05f1dc82d75e Mon Sep 17 00:00:00 2001 From: ArashPartow Date: Tue, 18 Apr 2017 09:17:28 +1000 Subject: [PATCH 134/959] Addition of two libraries and updated license for another already mentioned library Addition of Wykobi computational geometry library Addition of StrTk string processing library Updated the license of ExprTk library --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ab9b2e73..c996f308f 100644 --- a/README.md +++ b/README.md @@ -415,7 +415,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CGal](http://www.cgal.org/) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] -* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [CPL] +* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] @@ -426,6 +426,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). +* [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] ## Multimedia @@ -586,6 +587,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPL2/Commercial] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stb](https://github.com/nothings/stb) - A range of single-file libraries for C/C++. [PublicDomain] +* [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] From c3dc818da72ad638696cf3070e79a66915b993cf Mon Sep 17 00:00:00 2001 From: Dmitriy Vetutnev Date: Fri, 5 May 2017 17:55:34 +0300 Subject: [PATCH 135/959] add uvw --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c996f308f..e4da0fcbf 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] * [libuv](https://github.com/libuv/libuv) - Cross-platform asychronous I/O. [BSD] +* [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [BSD] ## Audio *Audio, Sound, Music, Digitized Voice Libraries* From 6c1d2585afc53f3d49d6fe6933df65b193c13e44 Mon Sep 17 00:00:00 2001 From: Dmitriy Vetutnev Date: Fri, 5 May 2017 18:02:49 +0300 Subject: [PATCH 136/959] fix license for uvw --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4da0fcbf..f1ae1c92d 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] * [libuv](https://github.com/libuv/libuv) - Cross-platform asychronous I/O. [BSD] -* [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [BSD] +* [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [MIT] ## Audio *Audio, Sound, Music, Digitized Voice Libraries* From a293da6c50593d393da90953d33a1900ff30a8fa Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 12 May 2017 18:03:41 -0500 Subject: [PATCH 137/959] Torrent --- todo.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/todo.txt b/todo.txt index d69bcdb45..768647ba1 100644 --- a/todo.txt +++ b/todo.txt @@ -348,3 +348,13 @@ https://en.wikipedia.org/wiki/Math_Kernel_Library https://en.wikipedia.org/wiki/VTune https://en.wikipedia.org/wiki/List_of_performance_analysis_tools +------------------------------------------------------------------------ +Torrent: +https://github.com/libragnar/ragnar +https://github.com/Rudde/mktorrent +https://github.com/hrkfdn/hrktorrent +https://github.com/rakshasa/rtorrent +https://github.com/svn2github/libtorrent-rasterbar +https://github.com/svn2github/libtorrent-rasterbar-trunk +https://github.com/qbittorrent/qBittorrent +https://github.com/svn2github/libtorrent-trunk From fc5e6c1537b0f800ea1df23a175ff1ab68e35325 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 12 May 2017 18:09:39 -0500 Subject: [PATCH 138/959] Update todo.txt --- todo.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/todo.txt b/todo.txt index 768647ba1..ad67377fe 100644 --- a/todo.txt +++ b/todo.txt @@ -358,3 +358,4 @@ https://github.com/svn2github/libtorrent-rasterbar https://github.com/svn2github/libtorrent-rasterbar-trunk https://github.com/qbittorrent/qBittorrent https://github.com/svn2github/libtorrent-trunk +http://sourceforge.net/projects/libtorrent/files/libtorrent/ From c5b63b5ddce1591ef10b52bd388836ed9e2187ee Mon Sep 17 00:00:00 2001 From: LiveAsynchronousVisualizedArchitecture Date: Mon, 15 May 2017 17:59:37 -0500 Subject: [PATCH 139/959] Added SimDB in the database category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f1ae1c92d..9c559a22e 100644 --- a/README.md +++ b/README.md @@ -238,6 +238,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [MySQL++](http://www.tangentsoft.net/mysql++/) - A C++ wrapper for MySQL's C API. [LGPL] * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] +* [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] From 10368ce286d49cd0e3d88cf9d8db9e067b312ca9 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 22 May 2017 07:51:47 -0500 Subject: [PATCH 140/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fabf915e8..d1690141d 100644 --- a/README.md +++ b/README.md @@ -240,8 +240,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] +* [sqlite_modern_cpp](https://github.com/aminroosta/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] -* [sqlite_modern_cpp](https://github.com/aminroosta/sqlite_modern_cpp): Modern C++14, header only. [MIT] ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* From 9d6204b4c3907a1c8434f71cfd3b8461d3a99b56 Mon Sep 17 00:00:00 2001 From: Guillaume Racicot Date: Mon, 22 May 2017 22:38:12 -0400 Subject: [PATCH 141/959] Added Kangaru library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1690141d..92d747cc1 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] +* [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] * [libsigc++](http://libsigc.sourceforge.net/) - A typesafe callback system for standard C++. [LGPL] * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] From 549feef87a06feb1ddcac10ab64f644ee8ce97c2 Mon Sep 17 00:00:00 2001 From: Lucas Lazare Date: Wed, 24 May 2017 20:34:55 +0200 Subject: [PATCH 142/959] Adding Breep Still lots of work needs to be done, but there is no peer-to-peer library linked here --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 92d747cc1..deea058d2 100644 --- a/README.md +++ b/README.md @@ -444,6 +444,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ACE](http://www.cs.wustl.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] From c1c6ba036f5ea5cc9eaf5140f4bd3349fdb9970f Mon Sep 17 00:00:00 2001 From: Sayan Bhowmik Date: Tue, 30 May 2017 13:29:59 +0530 Subject: [PATCH 143/959] Updated Google's C++ Guide style Line #31 --- books.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/books.md b/books.md index d1bfb6283..8cf2bd1f6 100644 --- a/books.md +++ b/books.md @@ -28,7 +28,7 @@ * [Data Structures and Algorithms with Object-Oriented Design Patterns in C++](http://www.brpreiss.com/books/opus4/index.html) * [Financial Numerical Recipes in C++](http://finance.bi.no/~bernt/gcc_prog/recipes/) - Bernt Arne Ødegaard * [Game Programming Patterns](http://gameprogrammingpatterns.com/) -* [Google's C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml) +* [Google's C++ Style Guide](https://google.github.io/styleguide/cppguide.html) * [How To Think Like a Computer Scientist: C++ Version](http://greenteapress.com/thinkcpp/index.html) - Allen B. Downey * [Introduction to Design Patterns in C++ with Qt](http://ptgmedia.pearsoncmg.com/images/9780131879058/downloads/0131879057_Ezust_book.pdf) * [Learn C++.](http://www.learncpp.com/) (PDF, Online) From 7df313fb52e57da37075a5ce859081f494972f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Harris=20Brakmi=C4=87?= Date: Sat, 3 Jun 2017 13:05:27 +0200 Subject: [PATCH 144/959] added BeeCrypt link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 92d747cc1..c1dc46da1 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Cryptography and Encryption Libraries* * [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. -* [BeeCrypt]() +* [BeeCrypt](http://beecrypt.sourceforge.net/) * [Botan](http://botan.randombit.net/) - A crypto library for C++. [BSD-2] * [Crypto++](http://www.cryptopp.com/) - A free C++ class library of cryptographic schemes. [Boost] * [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] From e2aa2fc6e8c92a438a0623f3f4e1ce1263ad6e29 Mon Sep 17 00:00:00 2001 From: Ergenekon Yigit Date: Fri, 9 Jun 2017 15:52:54 +0300 Subject: [PATCH 145/959] CNTK added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c1dc46da1..b7db799ed 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] * [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] +* [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] * [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] From bd75f5835cb1d82c878cc1ca800590d00b1b829f Mon Sep 17 00:00:00 2001 From: pravic Date: Sat, 10 Jun 2017 14:13:30 +0300 Subject: [PATCH 146/959] Add Vcpkg package manager. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7db799ed..74aef52ae 100644 --- a/README.md +++ b/README.md @@ -678,6 +678,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. +* [Vcpkg](https://github.com/microsoft/vcpkg) - VC++ Packaging Tool for Windows. ## Static Code Analysis *List of tools for improving quality and reducing defects by code analysis* From 7a765c86a560832aa9801f0ce59be95f96bf7da7 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 21 Jun 2017 20:16:02 -0500 Subject: [PATCH 147/959] Create CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 84 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..205be6985 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,84 @@ +# Code of Conduct + +## 1. Purpose + +A primary goal of Awesome C/C++ is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). + +This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. + +We invite all those who participate in Awesome C/C++ to help us create safe and positive experiences for everyone. + +## 2. Open Source Citizenship + +A supplemental goal of this Code of Conduct is to increase open source citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. + +Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. + +If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. + +## 3. Expected Behavior + +The following behaviors are expected and requested of all community members: + +* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. +* Exercise consideration and respect in your speech and actions. +* Attempt collaboration before conflict. +* Refrain from demeaning, discriminatory, or harassing behavior and speech. +* Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. +* Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. + +## 4. Unacceptable Behavior + +The following behaviors are considered harassment and are unacceptable within our community: + +* Violence, threats of violence or violent language directed against another person. +* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. +* Posting or displaying sexually explicit or violent material. +* Posting or threatening to post other people’s personally identifying information ("doxing"). +* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. +* Inappropriate photography or recording. +* Inappropriate physical contact. You should have someone’s consent before touching them. +* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. +* Deliberate intimidation, stalking or following (online or in person). +* Advocating for, or encouraging, any of the above behavior. +* Sustained disruption of community events, including talks and presentations. + +## 5. Consequences of Unacceptable Behavior + +Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. + +Anyone asked to stop unacceptable behavior is expected to comply immediately. + +If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). + +## 6. Reporting Guidelines + +If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. fffaraz@gmail.com. + + + +Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. + +## 7. Addressing Grievances + +If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify fffaraz with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. + + + +## 8. Scope + +We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community business. + +This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. + +## 9. Contact info + +fffaraz@gmail.com + +## 10. License and attribution + +This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). + +Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). + +Retrieved on November 22, 2016 from [http://citizencodeofconduct.org/](http://citizencodeofconduct.org/) From 55526a2091aec01792352945534829950d20a2cd Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 21 Jun 2017 20:24:21 -0500 Subject: [PATCH 148/959] Update LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 817db4640..ab90c67b0 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ - Copyright (C) 2015 Faraz Fallahi + Copyright (C) 2014-2017 Faraz Fallahi THE LIST IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES. From 68ab8fd3faea50c2591d4c6c17c73105e7ebdc97 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 30 Jun 2017 09:38:28 -0500 Subject: [PATCH 149/959] pdqsort --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d09becb83..2f074476e 100644 --- a/README.md +++ b/README.md @@ -581,6 +581,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libusb](http://www.libusb.org/) - 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] * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] +* [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From f02fe93268674dc0eac8fcf796d12503def9b114 Mon Sep 17 00:00:00 2001 From: Duncan Ogilvie Date: Mon, 3 Jul 2017 08:37:17 +0200 Subject: [PATCH 150/959] x64_dbg -> x64dbg --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f074476e..33f860135 100644 --- a/README.md +++ b/README.md @@ -639,7 +639,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [LLDB](http://lldb.llvm.org/) - The LLDB Debugger. * [Metashell](https://metashell.readthedocs.org) - An interactive template metaprogramming shell which includes the MDB metadebugger. * [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling. -* [x64_dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. +* [x64dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. ## Integrated Development Environment *List of C/C++ nominal IDEs.* From 36f1ef1737e5eb59f30acaeeb869c2fd7b90f558 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 15 Jul 2017 12:29:00 -0500 Subject: [PATCH 151/959] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 33f860135..3f9325906 100644 --- a/README.md +++ b/README.md @@ -593,7 +593,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SLDR](https://github.com/cesanta/sldr) - Super Light DNS Resolver. [GPL2/Commercial] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPL2/Commercial] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] -* [stb](https://github.com/nothings/stb) - A range of single-file libraries for C/C++. [PublicDomain] +* [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] @@ -795,7 +795,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. -* [awesome](https://github.com/sindresorhus/awesome) - A curated list of awesome lists. +* [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. * [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. * [Awesome C/C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. * [Awesome C/C++](https://cpp.libhunt.com/) - LibHunt's mirror. @@ -808,6 +808,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. * [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. * [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C/C++. +* [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. # Contributing Please see [CONTRIBUTING](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. From 2ff1e5d4be08201286217dc33cc9912db0a0560d Mon Sep 17 00:00:00 2001 From: Jacinto Branco Date: Mon, 17 Jul 2017 23:46:43 +0100 Subject: [PATCH 152/959] Added libmill --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f9325906..6d9dde7c9 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] +* [libmill](http://libmill.org/) - Introduces Go-style concurrency in C. [MIT] * [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter] * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. From 46651a62a117940b3f446f959af25e71be00ff39 Mon Sep 17 00:00:00 2001 From: Jacinto Branco Date: Tue, 18 Jul 2017 00:22:52 +0100 Subject: [PATCH 153/959] Added libdill, changed libmill url to github --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d9dde7c9..694d86440 100644 --- a/README.md +++ b/README.md @@ -187,7 +187,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] -* [libmill](http://libmill.org/) - Introduces Go-style concurrency in C. [MIT] +* [libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT] +* [libmill](https://github.com/sustrik/libmill/) - Introduces Go-style concurrency in C. [MIT] * [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter] * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. From a68fd7d44b3c2a0ea779da24f3701de29779be85 Mon Sep 17 00:00:00 2001 From: jeaye Date: Wed, 26 Jul 2017 19:26:18 -0700 Subject: [PATCH 154/959] Add stdman --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 694d86440..98441a38d 100644 --- a/README.md +++ b/README.md @@ -595,6 +595,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SLDR](https://github.com/cesanta/sldr) - Super Light DNS Resolver. [GPL2/Commercial] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPL2/Commercial] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] +* [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. From 04cca0c240d73ae950de0cf9d901e3ce85293190 Mon Sep 17 00:00:00 2001 From: jeaye Date: Wed, 26 Jul 2017 19:31:52 -0700 Subject: [PATCH 155/959] Add value-category-cheatsheet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 694d86440..8905f2ff0 100644 --- a/README.md +++ b/README.md @@ -598,6 +598,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [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://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] From 90661e459113cc31a3ca30afe657c4cdf20d772d Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 27 Jul 2017 10:16:06 -0500 Subject: [PATCH 156/959] Create minor.md --- minor.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 minor.md diff --git a/minor.md b/minor.md new file mode 100644 index 000000000..e02f35fee --- /dev/null +++ b/minor.md @@ -0,0 +1,4 @@ + +## Minor projects + +[jest](https://github.com/jeaye/jest) - A sane and minimal C++14 unit test framework. [MIT] From dd32cc58ecb12098c745058dddd882b408440026 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 27 Jul 2017 10:18:52 -0500 Subject: [PATCH 157/959] Update minor.md --- minor.md | 1 + 1 file changed, 1 insertion(+) diff --git a/minor.md b/minor.md index e02f35fee..5ba1fd620 100644 --- a/minor.md +++ b/minor.md @@ -1,4 +1,5 @@ ## Minor projects +A list of lesser-known C/C++ libraries, tools, and resources. [jest](https://github.com/jeaye/jest) - A sane and minimal C++14 unit test framework. [MIT] From 7d9a3a14b4a0bd8b0b2c80cb8d2f0953733fde5d Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 10 Aug 2017 19:00:07 -0500 Subject: [PATCH 158/959] Update minor.md --- minor.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/minor.md b/minor.md index 5ba1fd620..1571633d7 100644 --- a/minor.md +++ b/minor.md @@ -2,4 +2,5 @@ ## Minor projects A list of lesser-known C/C++ libraries, tools, and resources. -[jest](https://github.com/jeaye/jest) - A sane and minimal C++14 unit test framework. [MIT] +* [jest](https://github.com/jeaye/jest) - A sane and minimal C++14 unit test framework. [MIT] +* [libfixmath](https://github.com/PetteriAimonen/libfixmath) - A Cross Platform Fixed Point (Q16.16) Maths Library. [MIT] From a716cddf0ea60084e2e9ddfbd1a77c0a8579582b Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sun, 13 Aug 2017 15:25:54 -0500 Subject: [PATCH 159/959] Update minor.md --- minor.md | 1 + 1 file changed, 1 insertion(+) diff --git a/minor.md b/minor.md index 1571633d7..468c2380f 100644 --- a/minor.md +++ b/minor.md @@ -4,3 +4,4 @@ A list of lesser-known C/C++ libraries, tools, and resources. * [jest](https://github.com/jeaye/jest) - A sane and minimal C++14 unit test framework. [MIT] * [libfixmath](https://github.com/PetteriAimonen/libfixmath) - A Cross Platform Fixed Point (Q16.16) Maths Library. [MIT] +* [CallableTraits](https://github.com/badair/callable_traits) - Traits and metafunctions for callable types. [Boost] From b460a833bfe2d6587b6f776c252af255b7fc0c1f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 17 Aug 2017 15:06:18 +0800 Subject: [PATCH 160/959] Added libui under GUI section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c14438e97..8cb2eb39c 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] * [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] * [libRocket](http://librocket.com/) - libRocket is a C++ HTML/CSS game interface middleware. [MIT] +* [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] From 59755b397ff00a14931e8d7278f6b05047862340 Mon Sep 17 00:00:00 2001 From: Tyler Rockwood Date: Sat, 2 Sep 2017 20:45:17 -0700 Subject: [PATCH 161/959] Add Bazel to list of build tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8cb2eb39c..69cdf5abd 100644 --- a/README.md +++ b/README.md @@ -672,6 +672,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Build Systems +* [Bazel](https:/bazel.build) - A multi-language fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. From f6a216c3d41c769cae9e5bdaadb00fedd7676260 Mon Sep 17 00:00:00 2001 From: Tyler Rockwood Date: Sat, 2 Sep 2017 20:45:54 -0700 Subject: [PATCH 162/959] Add comma --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 69cdf5abd..b1f802d4a 100644 --- a/README.md +++ b/README.md @@ -672,7 +672,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Build Systems -* [Bazel](https:/bazel.build) - A multi-language fast and scalable build system from Google. [Apache] +* [Bazel](https:/bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. From 6f54591eb3a0ec59903772f9b881bd595bc804b6 Mon Sep 17 00:00:00 2001 From: Adi Shavit Date: Tue, 5 Sep 2017 14:13:03 +0300 Subject: [PATCH 163/959] Adds Argh! to CLI libraries. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b1f802d4a..ca4fd3036 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## CLI *Console/Terminal User Interface, Command Line Interface* + * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] From 608df3bedbd610767a4d17a69b2b45cb9321608e Mon Sep 17 00:00:00 2001 From: Adam Zahran Date: Thu, 14 Sep 2017 13:30:14 +0200 Subject: [PATCH 164/959] added kaldi toolkit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ca4fd3036..f7bd2b895 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] * [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] +* [Kaldi](https://github.com/kaldi-asr/kaldi) - Toolkit for speech recognition. [Apache] ## Asynchronous Event Loop From 29037718d50dfa5aa1b6d10ebc627924b8dcbb68 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 15 Sep 2017 17:37:00 +0800 Subject: [PATCH 165/959] Add json.h, utf8.h, utest.h --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index f7bd2b895..a0b18ae67 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] +* [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] * [VLD](http://vld.codeplex.com/) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. ## Game Engine @@ -351,6 +352,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [gettext](http://www.gnu.org/software/gettext/) - GNU `gettext'. [GPL2] * [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] +* [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] + ## Inter-process communication @@ -373,6 +376,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] * [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] +* [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] From a245fc6dbdac10174aa1967ea6a339204d9b6da5 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 15 Sep 2017 17:54:17 +0800 Subject: [PATCH 166/959] Add wdt --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a0b18ae67..c26c9db4f 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] + * [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [BSD] ## Compression @@ -305,7 +306,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] -* [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] @@ -472,6 +472,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] * [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] +* [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] ## Physics From 3551cbc924e7b22608fd14e2ba3351de9fcad148 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 15 Sep 2017 18:04:21 +0800 Subject: [PATCH 167/959] Add curlcpp under Networking --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c26c9db4f..ba10dc016 100644 --- a/README.md +++ b/README.md @@ -459,6 +459,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) +* [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] From cc131da341034e0c2e193d63445ef9df1ad5265f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 16 Sep 2017 19:37:09 +0800 Subject: [PATCH 168/959] Redirect PDCurses's repo link. Remove redundant empty line. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index ba10dc016..a036334eb 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] - * [PDCurses](http://pdcurses.sourceforge.net/) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] + * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [BSD] ## Compression @@ -354,7 +354,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] * [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] - ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] From 10cf1680f241dbd833476da9dfd4228ca24d2bf7 Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Sat, 7 Oct 2017 08:45:47 -0700 Subject: [PATCH 169/959] cppcon 2017 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a036334eb..1438e0b51 100644 --- a/README.md +++ b/README.md @@ -724,6 +724,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Articles *Fantastic C/C++ related articles.* +* [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. * [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. * [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. From 781c45cd573dcb54867de4a4f025c0156284c29d Mon Sep 17 00:00:00 2001 From: Cody Williams Date: Sat, 7 Oct 2017 15:04:53 -0700 Subject: [PATCH 170/959] Added fff under Debug section --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1438e0b51..9aa0e74ea 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] * [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] -* [Kaldi](https://github.com/kaldi-asr/kaldi) - Toolkit for speech recognition. [Apache] +* [Kaldi](https://github.com/kaldi-asr/kaldi) - Toolkit for speech recognition. [Apache] ## Asynchronous Event Loop @@ -262,6 +262,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] +* [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] From 0c000d35a49b80b8a49e40301865c24d23757375 Mon Sep 17 00:00:00 2001 From: Guy Lyons Date: Mon, 9 Oct 2017 15:39:30 -0400 Subject: [PATCH 171/959] fix broken link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9aa0e74ea..bd9479d7e 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL). * [C POSIX library](https://en.wikipedia.org/wiki/C_POSIX_library) - A specification of a C standard library for POSIX systems. * [ISO C++ Standards Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/) -* [The GNU C Library](http://elmerland.com/gnu_manual.html) - The purpose of this manual is to tell you how to use the facilities of the GNU C Library. +* [The GNU C Library](https://www.gnu.org/software/libc/manual) - The purpose of this manual is to tell you how to use the facilities of the GNU C Library. ## Frameworks *C++ generic frameworks and libraries.* From 445d2834dd5364e37022d6defa44877388082866 Mon Sep 17 00:00:00 2001 From: Manuel Herrmann <0@0x17.de> Date: Fri, 20 Oct 2017 00:53:35 +0200 Subject: [PATCH 172/959] Add seasocks websocket server to network section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd9479d7e..505ca31b8 100644 --- a/README.md +++ b/README.md @@ -471,6 +471,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) * [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] +* [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] * [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] From 794c65b8f2f3a8532475aac6c29971d4fccdf3ad Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 3 Nov 2017 15:31:25 +0800 Subject: [PATCH 173/959] Add abseil-cpp, nuklear, json-c, glog --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 505ca31b8..11642994d 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Frameworks *C++ generic frameworks and libraries.* +* [abseil-cpp](https://github.com/abseil/abseil-cpp) - Abseil C++ Common Libraries. [Apache2] * [Apache C++ Standard Library](http://stdcxx.apache.org/) - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2] * [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] @@ -304,6 +305,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] +* [nuklear](https://github.com/vurtun/nuklear) - A single-header ANSI C gui library. [PublicDomain] * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] @@ -377,6 +379,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] +* [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] @@ -398,6 +401,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] * [Easylogging++](https://github.com/easylogging/easyloggingpp) - Single header only, extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] [website](https://muflihun.github.io/easyloggingpp) * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] +* [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] * [plog](https://github.com/SergiusTheBest/plog) - Portable and simple C++ logging library. [MPL2] From dd72fb832b93890776d70c458339d1e74e1ac11f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 3 Nov 2017 15:32:19 +0800 Subject: [PATCH 174/959] Remove several TODOs --- todo.txt | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/todo.txt b/todo.txt index ad67377fe..a0593e003 100644 --- a/todo.txt +++ b/todo.txt @@ -62,14 +62,12 @@ https://github.com/ellisonleao/magictools https://github.com/robbinfan/claire-protorpc https://github.com/chen3feng/typhoon-blade - Buildsystem -http://industriousone.com/premake http://glm.g-truc.net/0.9.5/index.html - Math https://code.google.com/p/distcc/ http://omniorb.sourceforge.net/ http://www.h323plus.org/ http://ufmod.sourceforge.net/ https://github.com/almalk454/wGUI -https://code.google.com/p/google-glog/ http://www.cs.fsu.edu/~engelen/soap.html http://www.qt.io/ https://github.com/broadinstitute/gamgee @@ -87,7 +85,6 @@ https://github.com/Tuplanolla/cheat https://github.com/vgvassilev/cling https://github.com/Yelp/MOE -https://github.com/cocos2d/cocos2d-x https://github.com/ideawu/ssdb https://github.com/cms-sw/cmssw @@ -137,10 +134,8 @@ https://github.com/mozilla/mozjpeg https://github.com/tinfoilboy/Explodable https://github.com/thrust/thrust https://github.com/shaih/HElib -https://github.com/philsquared/Catch https://github.com/jlnr/gosu https://github.com/rakshasa/libtorrent -https://github.com/bittorrent/libutp https://github.com/vinniefalco/DSPFilters https://github.com/m-ou-se/moggle @@ -169,7 +164,6 @@ https://github.com/alecthomas/entityx https://github.com/chenshuo/recipes https://github.com/HeliumProject/Helium https://github.com/lballabio/quantlib -https://github.com/vczh/gac https://github.com/mosra/magnum https://github.com/imvu-open/istatd https://github.com/bytefish/libfacerec @@ -203,7 +197,6 @@ https://github.com/zeromq/cppzmq https://github.com/bytefish/opencv https://github.com/treefrogframework/treefrog-framework https://github.com/jverkoey/liteqr -https://github.com/protobuf-c/protobuf-c https://github.com/mli/parameter_server https://github.com/HSA-Libraries/Bolt https://github.com/iauns/cpm @@ -222,8 +215,6 @@ https://github.com/marioyc/Online-Judge-Solutions ---------------------------------------- -https://github.com/oclint/oclint - https://github.com/TTimo/doom3.gpl https://github.com/phusion/passenger https://github.com/id-Software/DOOM-3-BFG @@ -244,8 +235,6 @@ https://github.com/simsong/tcpflow https://github.com/stealth/sshttp https://github.com/munificent/game-programming-patterns -https://github.com/json-c/json-c - ---------------------------------------- http://libcxx.llvm.org/ @@ -299,8 +288,6 @@ https://www.youtube.com/playlist?list=PL3R9mYgM4NVw4m0PTXBzQZBV2DzCt92Sp ---------------------------------------- -https://github.com/isocpp/CppCoreGuidelines -https://github.com/lefticus/cppbestpractices https://github.com/dbohdan/compilers-targeting-c https://github.com/Microsoft/GSL https://github.com/scylladb/seastar @@ -318,7 +305,6 @@ https://github.com/AnthonyCalandra/modern-cpp-features https://github.com/nothings/single_file_libs https://github.com/vurtun/mmx -https://github.com/vurtun/nuklear https://github.com/richgel999/miniz https://github.com/johnezang/pithy From 2e7f2f95455fa1ffbd74b2301f08bf3ab1493152 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 3 Nov 2017 15:45:25 +0800 Subject: [PATCH 175/959] Add PDF section and two PDF libraries --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 11642994d..2666a5ccb 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin - [Math](#math) - [Multimedia](#multimedia) - [Networking](#networking) + - [PDF](#pdf) - [Physics](#physics) - [Robotics](#robotics) - [Scientific Computing](#scientific-computing) @@ -481,6 +482,12 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] +## PDF +*Libraries for parsing and manipulating PDF documents.* + +* [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] +* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] + ## Physics *Dynamics simulation engines* From 3a4bde16482c04e5c51b5fbf6ec352bba8ba934b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 3 Nov 2017 15:51:07 +0800 Subject: [PATCH 176/959] Spaces -> Tab --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2666a5ccb..c977ef97d 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin - [Math](#math) - [Multimedia](#multimedia) - [Networking](#networking) - - [PDF](#pdf) + - [PDF](#pdf) - [Physics](#physics) - [Robotics](#robotics) - [Scientific Computing](#scientific-computing) From 701b873cd2ec849676533462ffb3b60fc5b741e2 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 6 Nov 2017 09:03:28 +0800 Subject: [PATCH 177/959] Add Caffe2 under Machine Learning --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c977ef97d..8acbc302a 100644 --- a/README.md +++ b/README.md @@ -413,6 +413,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Machine Learning * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] +* [Caffe2](https://github.com/caffe2/caffe2) - A lightweight, modular, and scalable deep learning framework. [Apache2] [website](https://caffe2.ai/) * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) From 2c185faf2ab9914fa2574bed3ac94df560cc3b3d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 6 Nov 2017 09:43:05 +0800 Subject: [PATCH 178/959] Add Poppler --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8acbc302a..e65eb807d 100644 --- a/README.md +++ b/README.md @@ -488,6 +488,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] ## Physics *Dynamics simulation engines* From c4d752227e2c57297c166e97e6c44f354c2e8a57 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 6 Nov 2017 10:01:56 +0800 Subject: [PATCH 179/959] Add RNNLIB, linmath.h --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e65eb807d..6900ed416 100644 --- a/README.md +++ b/README.md @@ -421,6 +421,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] +* [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] * [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] @@ -442,6 +443,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] * [NT2](https://github.com/Mathieu-/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) +* [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [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). From 57d771ad507a4534a037bd2ca7a0670e45730abd Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 6 Nov 2017 10:10:55 +0800 Subject: [PATCH 180/959] Update CGAL repo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6900ed416..3ac57aecc 100644 --- a/README.md +++ b/README.md @@ -432,7 +432,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] * [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] -* [CGal](http://www.cgal.org/) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] +* [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] * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] From 49927a60f70406dc36c1ae846cbac0ad4fbdb952 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 7 Nov 2017 14:51:27 +0800 Subject: [PATCH 181/959] Cryptography: Add libhydrogen,remove libmcrypt,update licenses --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3ac57aecc..4e314313d 100644 --- a/README.md +++ b/README.md @@ -213,14 +213,14 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Cryptography *Cryptography and Encryption Libraries* -* [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. +* [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD] * [BeeCrypt](http://beecrypt.sourceforge.net/) * [Botan](http://botan.randombit.net/) - A crypto library for C++. [BSD-2] -* [Crypto++](http://www.cryptopp.com/) - A free C++ class library of cryptographic schemes. [Boost] +* [Crypto++](https://github.com/weidai11/cryptopp) - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/) * [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] * [GnuTLS](http://www.gnutls.org/) - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1] -* [Libgcrypt](http://www.gnu.org/software/libgcrypt/) -* [libmcrypt]() +* [Libgcrypt](http://www.gnu.org/software/libgcrypt/) - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+] +* [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library for constrained environments. [ISC] * [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] * [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] * [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] From 28f1422b9629f9fd0658f3fede440bed6ce2cb2d Mon Sep 17 00:00:00 2001 From: Arnav Borborah Date: Sun, 12 Nov 2017 20:30:21 -0500 Subject: [PATCH 182/959] Updated to actual stack overflow answer --- books.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/books.md b/books.md index 8cf2bd1f6..9d207df0a 100644 --- a/books.md +++ b/books.md @@ -39,4 +39,4 @@ * [The Boost C++ libraries](http://en.highscore.de/cpp/boost) * [The Rook's Guide to C++](http://rooksguide.org/2013/11/26/version-1-0-is-out/) (PDF) * [Thinking in C++, Second Edition, Vol. 1.](http://www.mindviewinc.com/downloads/TICPP-2nd-ed-Vol-one.zip) [(Vol. 2)](http://www.mindviewinc.com/downloads/TICPP-2nd-ed-Vol-two.zip) - Bruce Eckel -* Also see: [The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/511601) +* Also see: [The Definitive C++ Book Guide and List](https://stackoverflow.com/a/388282) From 3635ef17062a198da8c71ccc3c9b8f526dec4c23 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 13:52:47 +0800 Subject: [PATCH 183/959] Networking: Add libwebsockets --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e314313d..0fa44e4fd 100644 --- a/README.md +++ b/README.md @@ -471,6 +471,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] +* [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/) * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] * [net_skeleton](https://github.com/cesanta/fossa) - TCP client/server library for C/C++. [GPL2] From 913b21f3d10720ad45bdceb9127c6949aca415ff Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 14:12:38 +0800 Subject: [PATCH 184/959] Cryptography: Add description and license for BeeCrypt --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fa44e4fd..10fc3b717 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Cryptography and Encryption Libraries* * [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD] -* [BeeCrypt](http://beecrypt.sourceforge.net/) +* [BeeCrypt](http://beecrypt.sourceforge.net/) - A portable and fast cryptography library. [LGPLv2.1+] * [Botan](http://botan.randombit.net/) - A crypto library for C++. [BSD-2] * [Crypto++](https://github.com/weidai11/cryptopp) - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/) * [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] From 65a74eca1e0f6fd7289ec802e2ccabc4228d68e3 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 15:28:13 +0800 Subject: [PATCH 185/959] Networking: Add libquic --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 10fc3b717..7a9ff8319 100644 --- a/README.md +++ b/README.md @@ -471,6 +471,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] +* [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] * [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/) * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] From 5108aa0b072ad15d70cf3bdcce3b3a7259e51c9d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 15:47:27 +0800 Subject: [PATCH 186/959] Networking: Remove net_skeleton(fossa) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 7a9ff8319..5558132cb 100644 --- a/README.md +++ b/README.md @@ -475,7 +475,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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/) * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] -* [net_skeleton](https://github.com/cesanta/fossa) - TCP client/server library for C/C++. [GPL2] * [nope.c](https://github.com/riolet/nope.c) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) From 0ae4420f7760eb34bf7beb5e9b0da201610b280a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 15:55:05 +0800 Subject: [PATCH 187/959] Miscellaneous: Remove SLDR --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5558132cb..5fa15823d 100644 --- a/README.md +++ b/README.md @@ -618,7 +618,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] * [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] -* [SLDR](https://github.com/cesanta/sldr) - Super Light DNS Resolver. [GPL2/Commercial] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPL2/Commercial] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] From 96dda0cad7822b6b921bac575041da71c76f43ab Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 16:06:49 +0800 Subject: [PATCH 188/959] Add Regular Expression section --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5fa15823d..c9c5976d2 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin - [Networking](#networking) - [PDF](#pdf) - [Physics](#physics) + - [Regular Expression](#regular-expression) - [Robotics](#robotics) - [Scientific Computing](#scientific-computing) - [Scripting](#scripting) @@ -505,6 +506,13 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [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] +## Regular Expression + +* [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] +* [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] +* [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] +* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] + ## Robotics * [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles. @@ -593,7 +601,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] -* [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [c-smart-pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] @@ -608,9 +615,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](http://www.libusb.org/) - 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] -* [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] -* [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] @@ -618,7 +623,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] * [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] -* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPL2/Commercial] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] From 2a3f6f5ce911d6c00d19cde6ffbd1cb907f9255e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 16:21:00 +0800 Subject: [PATCH 189/959] Miscellaneous: Move `HTTP Parser` to Networking section --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c9c5976d2..fd8962c61 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin - [Networking](#networking) - [PDF](#pdf) - [Physics](#physics) - - [Regular Expression](#regular-expression) + - [Regular Expression](#regular-expression) - [Robotics](#robotics) - [Scientific Computing](#scientific-computing) - [Scripting](#scripting) @@ -470,6 +470,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] +* [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] @@ -606,7 +607,6 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. -* [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] * [libsigc++](http://libsigc.sourceforge.net/) - A typesafe callback system for standard C++. [LGPL] From aea9ee18ae8045597c57b6e56cdbb278e2672837 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 16:41:55 +0800 Subject: [PATCH 190/959] Game Engine: Add KlayGE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd8962c61..a8fdf9ab4 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] +* [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) From 6bae4b5bad40960032c209874ff919e03a8c7dd8 Mon Sep 17 00:00:00 2001 From: Pavel Belikov Date: Sat, 18 Nov 2017 11:28:39 +0300 Subject: [PATCH 191/959] Adds Taywee/args to CLI libraries --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8fdf9ab4..dcf7c800d 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Console/Terminal User Interface, Command Line Interface* * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] + * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] From 974f80fb943a6e815912efb577b7dba39adfc4b6 Mon Sep 17 00:00:00 2001 From: nabijaczleweli Date: Wed, 25 Oct 2017 07:32:42 +0200 Subject: [PATCH 192/959] Add TCLAP to CLI library list --- README.md | 1 + todo.txt | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dcf7c800d..9907bb8ce 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] + * [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. [BSD] ## Compression diff --git a/todo.txt b/todo.txt index a0593e003..229c511fe 100644 --- a/todo.txt +++ b/todo.txt @@ -88,8 +88,6 @@ https://github.com/Yelp/MOE https://github.com/ideawu/ssdb https://github.com/cms-sw/cmssw -http://tclap.sourceforge.net/ - http://sourceforge.net/projects/libcrn/ http://glm.g-truc.net/ @@ -309,7 +307,7 @@ https://github.com/richgel999/miniz https://github.com/johnezang/pithy A simple Minecraft clone written in C using modern OpenGL (shaders). -https://github.com/fogleman/Craft +https://github.com/fogleman/Craft https://github.com/agauniyal/rang From 70cdca0f95e53e85e04472140f78fad6a1934bcb Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 20 Nov 2017 14:51:32 +0800 Subject: [PATCH 193/959] Math: Add OpenBLAS, Add Armadillo GitHub repo link --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9907bb8ce..cfa668c38 100644 --- a/README.md +++ b/README.md @@ -432,7 +432,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Math * [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] -* [Armadillo](http://arma.sourceforge.net/) - A high quality C++ linear algebra library, aiming towards a good balance between speed and ease of use. The syntax (API) is deliberately similar to Matlab. [MPL2] +* [Armadillo](https://github.com/conradsnicta/armadillo-code/) - A high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use. The syntax (API) is deliberately similar to Matlab. [MPL2] [website](http://arma.sourceforge.net/) * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] * [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] @@ -448,6 +448,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [NT2](https://github.com/Mathieu-/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] +* [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [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). From 87c64055c8c1f6ef22105b8f7e93ab48fcb2c01f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 23 Nov 2017 19:52:07 +0800 Subject: [PATCH 194/959] Multimedia: Add MediaInfoLib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfa668c38..f24dd8287 100644 --- a/README.md +++ b/README.md @@ -459,6 +459,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] * [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] * [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] +* [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] * [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) * [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] * [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) From a200b693b0ac14e88fbec57d0267493cd453215d Mon Sep 17 00:00:00 2001 From: Alex Gaudio Date: Mon, 27 Nov 2017 19:17:55 -0500 Subject: [PATCH 195/959] Adds cxxopts to the list of command line parsers. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9907bb8ce..3c332f750 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] From fe7c880057ffff5d02af94ae84dca7cb29b9a9aa Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 28 Nov 2017 16:31:12 +0800 Subject: [PATCH 196/959] Clean --- todo.txt | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/todo.txt b/todo.txt index 229c511fe..c1eac1684 100644 --- a/todo.txt +++ b/todo.txt @@ -50,9 +50,6 @@ https://github.com/psi-im/iris https://github.com/psi-im/jdns https://github.com/psi-im/libpsi -https://github.com/CopernicaMarketingSoftware - -http://www.swig.org/ QUIC & UDT @@ -133,7 +130,6 @@ https://github.com/tinfoilboy/Explodable https://github.com/thrust/thrust https://github.com/shaih/HElib https://github.com/jlnr/gosu -https://github.com/rakshasa/libtorrent https://github.com/vinniefalco/DSPFilters https://github.com/m-ou-se/moggle @@ -151,18 +147,14 @@ https://github.com/blackberry/GamePlay https://github.com/apache/thrift https://github.com/biometrics/openbr https://github.com/MailCore/mailcore2 -https://github.com/zaphoyd/websocketpp https://github.com/beark/ftl https://github.com/opencog/opencog -https://github.com/CopernicaMarketingSoftware/PHP-CPP https://github.com/GraphChi/graphchi-cpp https://github.com/webcoyote/coho https://github.com/facebook/fbthrift https://github.com/alecthomas/entityx https://github.com/chenshuo/recipes https://github.com/HeliumProject/Helium -https://github.com/lballabio/quantlib -https://github.com/mosra/magnum https://github.com/imvu-open/istatd https://github.com/bytefish/libfacerec https://github.com/esnme/ultramemcache @@ -186,18 +178,14 @@ https://github.com/cppformat/cppformat https://github.com/otland/forgottenserver/tree/master/src https://github.com/matt-42/iod https://github.com/geometer/FBReader -https://github.com/easylogging/easyloggingpp https://github.com/lastfm/libmoost https://github.com/jscheiny/Streams https://github.com/lemire/FastPFor https://github.com/pennyliang/MachineLearning-C---code https://github.com/zeromq/cppzmq https://github.com/bytefish/opencv -https://github.com/treefrogframework/treefrog-framework https://github.com/jverkoey/liteqr https://github.com/mli/parameter_server -https://github.com/HSA-Libraries/Bolt -https://github.com/iauns/cpm https://github.com/progschj/ThreadPool https://github.com/cameron314/readerwriterqueue https://github.com/antinucleon/cxxnet @@ -220,10 +208,8 @@ https://github.com/ideawu/ssdb https://github.com/OpenNI/OpenNI https://github.com/ceph/ceph https://github.com/rescrv/HyperDex -https://github.com/PointCloudLibrary/pcl https://github.com/libRocket/libRocket https://github.com/bro/bro -https://github.com/bombela/backward-cpp https://github.com/Razor-qt/razor-qt https://github.com/ideawu/icomet https://github.com/gigablast/open-source-search-engine @@ -245,12 +231,6 @@ http://www.netlib.org/fdlibm/ ---------------------------------------- -https://github.com/arrayfire/arrayfire -https://github.com/google/flatbuffers -https://github.com/google/protobuf - ----------------------------------------- - http://en.wikipedia.org/wiki/Category:C%2B%2B_libraries http://en.wikipedia.org/wiki/List_of_C%2B%2B_template_libraries @@ -273,7 +253,6 @@ http://en.wikibooks.org/wiki/Optimizing_C++/Code_optimization/Faster_operations https://mattmccutchen.net/bigint/ https://code.google.com/p/infint/ http://cpp-bigint.sourceforge.net/ -https://gmplib.org/ https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus @@ -289,7 +268,6 @@ https://www.youtube.com/playlist?list=PL3R9mYgM4NVw4m0PTXBzQZBV2DzCt92Sp https://github.com/dbohdan/compilers-targeting-c https://github.com/Microsoft/GSL https://github.com/scylladb/seastar -https://github.com/google/brotli https://github.com/google/zopfli https://github.com/WhisperSystems/libaxolotl-c @@ -301,7 +279,6 @@ http://www.yeppp.info/ https://github.com/AnthonyCalandra/modern-cpp-features -https://github.com/nothings/single_file_libs https://github.com/vurtun/mmx https://github.com/richgel999/miniz https://github.com/johnezang/pithy @@ -313,7 +290,6 @@ https://github.com/agauniyal/rang https://github.com/tomtom-international/cpp-dependencies -https://github.com/moderngpu/moderngpu https://github.com/inkooboo/thread-pool-cpp http://www-304.ibm.com/webapp/set2/sas/f/lopdiags/sdklop.html From c090a7a298c0750fae11e070d34cf09172736df8 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 28 Nov 2017 16:42:46 +0800 Subject: [PATCH 197/959] Graphics: Add DirectXTK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24cd9d01d..ffb64158f 100644 --- a/README.md +++ b/README.md @@ -322,6 +322,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] +* [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] From 49a43c70bcd2f3951b6bf2b09f4a47daa3f368ba Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 1 Dec 2017 09:43:22 +0800 Subject: [PATCH 198/959] Scripting: Add Boost.Python, Cython, libffi, JavaCpp, pybind11, SIP; Update SWIG --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ffb64158f..325da530d 100644 --- a/README.md +++ b/README.md @@ -538,11 +538,17 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Scripting +* [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) +* [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/) * [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] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] -* [SWIG](http://www.swig.org/) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] +* [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] +* [SIP](https://riverbankcomputing.com/software/sip/intro) - C/C++ Bindings Generator for Python v2 and v3. [GPL] +* [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](http://code.google.com/p/v8/) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] * [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] From 23494f0a62fa9556d563252804bb70537852ab14 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 1 Dec 2017 09:58:13 +0800 Subject: [PATCH 199/959] Build Systems: Add cget; add Bear license --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 325da530d..7ed4acfae 100644 --- a/README.md +++ b/README.md @@ -714,7 +714,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Build Systems * [Bazel](https:/bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] -* [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. +* [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] +* [cget](https://github.com/pfultz2/cget) - Cmake package retrieval used to download and install cmake packages. [Boost] * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. * [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] From 249dae48679d5f717f4c118a91876f7b83eef5d7 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 17:08:39 +0800 Subject: [PATCH 200/959] Networking: Add nghttp2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ed4acfae..f2a5cebe3 100644 --- a/README.md +++ b/README.md @@ -484,6 +484,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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/) * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] +* [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) * [nope.c](https://github.com/riolet/nope.c) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) From ac2eb20e5571d1970a83c635f31db7d02dca1298 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 17:18:53 +0800 Subject: [PATCH 201/959] Scripting: Add cppimport, CppSharp --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f2a5cebe3..c8e6e855a 100644 --- a/README.md +++ b/README.md @@ -540,6 +540,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Scripting * [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] +* [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] +* [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) * [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/) * [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) From 70848ce2415e14798e57fba8cb582600bbe8c6a1 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 17:27:03 +0800 Subject: [PATCH 202/959] Static Code Analysis: Update include-what-you-use repo link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8e6e855a..aad8c182f 100644 --- a/README.md +++ b/README.md @@ -738,7 +738,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) * [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. -* [include-what-you-use](https://code.google.com/p/include-what-you-use/) - A tool for use with clang to analyze includes in C and C++ source files. +* [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) * [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] * [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) * [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. From b1e751985b3bba0dd9686efdcdbff3aaa1ec9e1e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 17:48:24 +0800 Subject: [PATCH 203/959] Networking: Add uWebSockets --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index aad8c182f..bfceb71dc 100644 --- a/README.md +++ b/README.md @@ -493,6 +493,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] * [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] +* [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] @@ -549,6 +550,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] +* [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C/C++ Bindings Generator for Python v2 and v3. [GPL] * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) From fe927890bd394366ea1e69b3842c48b2216fdebe Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 17:55:03 +0800 Subject: [PATCH 204/959] GUI: Add NanoGUI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bfceb71dc..5a2ae9aec 100644 --- a/README.md +++ b/README.md @@ -311,6 +311,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] +* [NanoGui](https://github.com/wjakob/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] * [nuklear](https://github.com/vurtun/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 aecd3ce0e5f90184b3e8ab892af313e97a4ca3e2 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 18:09:50 +0800 Subject: [PATCH 205/959] Debug: Add Catch2, CppUTest --- README.md | 2 ++ todo.txt | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a2ae9aec..c52bd57c1 100644 --- a/README.md +++ b/README.md @@ -263,7 +263,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] * [Catch](https://github.com/philsquared/Catch) - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] +* [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] diff --git a/todo.txt b/todo.txt index c1eac1684..db431c91b 100644 --- a/todo.txt +++ b/todo.txt @@ -173,7 +173,6 @@ https://github.com/gwaldron/osgearth https://github.com/xiw/stack https://github.com/mozy/mordor https://github.com/jeremyong/Selene -https://github.com/cpputest/cpputest https://github.com/cppformat/cppformat https://github.com/otland/forgottenserver/tree/master/src https://github.com/matt-42/iod From 59b8c06f9b624013e700478608f55d6eff0e852a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 18:12:53 +0800 Subject: [PATCH 206/959] Database: Add sqlite_orm --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c52bd57c1..27b85a4e3 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [sqlite_modern_cpp](https://github.com/aminroosta/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] +* [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [BSD-3-Clause] * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] ## Debug From ceb5c7564ff1f0119c17ad019a35c12f98ac3390 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 2 Dec 2017 18:19:32 +0800 Subject: [PATCH 207/959] Asynchronous Event Loop: Add Asio, CAF --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 27b85a4e3..360b5570a 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Asynchronous Event Loop +* [Asio](https://github.com/chriskohlhoff/asio/) - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] [website](http://think-async.com/) * [Boost.Asio](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] * [libuv](https://github.com/libuv/libuv) - Cross-platform asychronous I/O. [BSD] From a54b84eab74e349832a995148b58d2a958736acc Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 4 Dec 2017 09:43:12 +0800 Subject: [PATCH 208/959] GUI: Add Yue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 360b5570a..14f6fdb8f 100644 --- a/README.md +++ b/README.md @@ -323,6 +323,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] +* [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] ## Graphics From b5c9b85729a936cd1df40a43e9578d163ed17332 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 4 Dec 2017 09:51:33 +0800 Subject: [PATCH 209/959] Frameworks: Add GLib, tbox --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 14f6fdb8f..d50579834 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] +* [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] @@ -94,6 +95,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] * [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] * [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost] +* [tbox](https://github.com/tboox/tbox) - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/) * [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] * [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] * [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] From 5ece56d7bd4488118bf75a874351a77ca1c6d7d0 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 4 Dec 2017 09:57:03 +0800 Subject: [PATCH 210/959] Concurrency: Add concurrentqueue, readerwriterqueue --- README.md | 2 ++ todo.txt | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d50579834..c5d70ebd7 100644 --- a/README.md +++ b/README.md @@ -194,6 +194,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] +* [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] * [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] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] @@ -207,6 +208,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] +* [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] diff --git a/todo.txt b/todo.txt index db431c91b..c55ac40d7 100644 --- a/todo.txt +++ b/todo.txt @@ -186,7 +186,6 @@ https://github.com/bytefish/opencv https://github.com/jverkoey/liteqr https://github.com/mli/parameter_server https://github.com/progschj/ThreadPool -https://github.com/cameron314/readerwriterqueue https://github.com/antinucleon/cxxnet https://github.com/kylemcdonald/FaceTracker https://github.com/miguelmartin75/anax From 5b46acf7c8d793358146595d9a4e4bdc6e2acf6b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 4 Dec 2017 09:58:58 +0800 Subject: [PATCH 211/959] Scripting: Add ctypes.sh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5d70ebd7..b87020464 100644 --- a/README.md +++ b/README.md @@ -555,6 +555,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] * [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) +* [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] * [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) * [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] From 31685f634c43aafac9c615d3d500f26d14802eb4 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 4 Dec 2017 10:06:43 +0800 Subject: [PATCH 212/959] Graphics: Add herebedragons, Ion --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b87020464..d2911e912 100644 --- a/README.md +++ b/README.md @@ -335,7 +335,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] +* [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] +* [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [magnum](https://github.com/mosra/magnum) - C++11 and OpenGL 2D/3D graphics engine. [MIT] [website](http://mosra.cz/blog/magnum.php) * [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] From 09901d23c5c781c8f65e01633f0998acecee63c4 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 4 Dec 2017 10:11:40 +0800 Subject: [PATCH 213/959] Static Code Analysis: Add cpp-dependencies --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2911e912..4dcc929e9 100644 --- a/README.md +++ b/README.md @@ -754,6 +754,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) * [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. +* [cpp-dependencies](https://github.com/tomtom-international/cpp-dependencies) - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] * [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) * [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] * [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) From 6973858a544e8ef5e0e0f4a26929dbc79581691b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 4 Dec 2017 10:17:09 +0800 Subject: [PATCH 214/959] Scientific Computing: Add Torch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4dcc929e9..8402bc38e 100644 --- a/README.md +++ b/README.md @@ -550,6 +550,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] * [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] +* [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) ## Scripting From af16c78f8776c90d934d925b0935b7fd6c765218 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 5 Dec 2017 13:35:54 +0100 Subject: [PATCH 215/959] Add alpaka & cupla **alpaka** and **cupla** are two coupled libraries that allow programming accelerator hardware (GPUs, Xeon Phi, etc.) via a common, single-source, performance-portable, standard C++11 programming model. alpaka/cuplda are used in various scientific codes, e.g. PIConGPU, HASEonGPU, ISAAC and Mephisto. A list of publications (including OA links) explain the concepts behind alpaka/cupla: * DOI:10.1109/IPDPSW.2016.50 (http://arxiv.org/abs/1602.08477), paper in AsHES2016 * DOI:10.5281/zenodo.49768 (thesis: diploma) * DOI:10.1007/978-3-319-67630-2_36 (https://arxiv.org/abs/1706.10086), paper in ISC17 (P3MA) * DOI:10.1007/978-3-319-46079-6_21 (https://arxiv.org/abs/1606.02862), paper in ISC16 (IWOPH) * Live-Porting from CUDA to alpaka/cupla, talk in GTC2016: https://mygtc.gputechconf.com/events/32/schedules/2792 Video: http://on-demand.gputechconf.com/gtc/2016/video/S6298.html --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 8402bc38e..7d79b2cf4 100644 --- a/README.md +++ b/README.md @@ -190,12 +190,14 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin ## Concurrency *Concurrency and Multithreading* +* [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka) - Abstraction library for parallel kernel acceleration. [LGPLv3+] * [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] * [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] +* [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] From b38be30ce9a0ff664f8efa195d3f3489b5ca6b21 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 5 Dec 2017 14:19:04 +0100 Subject: [PATCH 216/959] Add: Spack Spack is a flexible package manager that supports multiple versions, configurations, platforms, and compilers. It's perfectly suited for complex software toolchains as often seen on clusters and seamlessly allows to combine C/C++, Fortran, Python, R, ... projects and bindings with a high user-control on variants, flags and dependencies of all packages. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8402bc38e..b96092403 100644 --- a/README.md +++ b/README.md @@ -745,6 +745,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. * [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. * [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. +* [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [LGPLv2.1] * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. From 8c9f55c6a1d47717c92d3ebcca52b90b0ab1970f Mon Sep 17 00:00:00 2001 From: Stanley00 Date: Mon, 18 Dec 2017 09:21:27 +0700 Subject: [PATCH 217/959] Update C++ Now 2016 url and description - Use more updated boostcon's repo url - Change description for more consistent --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d79b2cf4..7713274c4 100644 --- a/README.md +++ b/README.md @@ -786,7 +786,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. * [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. * [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. -* [C++Now 2016 Presentations](https://github.com/brycelelbach/cppnow_presentations_2016) - Presentation materials for C++Now 2016. +* [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. * [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. * [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. * [C++Now 2013 Presentations](https://github.com/boostcon/cppnow_presentations_2013) - Presentation materials presented at C++Now 2013. From 09d74212f17cba348f56952ade4f2f9f73e06024 Mon Sep 17 00:00:00 2001 From: Stanley00 Date: Mon, 18 Dec 2017 09:32:22 +0700 Subject: [PATCH 218/959] Add C++ Now 2017 Presentation materials link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7713274c4..f38dcc7d3 100644 --- a/README.md +++ b/README.md @@ -786,6 +786,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. * [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. * [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. +* [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. * [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. * [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. * [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. From 97817a1b88ac7eedb4a59fe7fd387f7556232a0d Mon Sep 17 00:00:00 2001 From: Can Bal Date: Sun, 17 Dec 2017 21:31:25 -0800 Subject: [PATCH 219/959] Add Vireo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d79b2cf4..fee18050f 100644 --- a/README.md +++ b/README.md @@ -592,6 +592,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) * [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) * [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] +* [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] ## Virtual Machines From 08c940c78a427c9ba8a4cdefc7ae9fa63fcedeef Mon Sep 17 00:00:00 2001 From: Saurabh-hooda <34857609+Saurabh-hooda@users.noreply.github.com> Date: Tue, 26 Dec 2017 18:58:57 +0530 Subject: [PATCH 220/959] Adding a resource to learn C++ Online Hello, I am Saurabh, co-founder of Hackr.io. Hackr.io is a programming community & a great place to find the best online programming courses and tutorials. It's a one stop solution for tutorial recommendations with 5000+ tutorial of more than 140 programming languages. I was looking at your learning resources page and found it pretty useful. I believe that Hackr.io would be really useful to the developer community in finding the right programming course/tutorial and would make a nice addition to your resource page. Hackr is also listed on other esteemed websites like Lehigh University's resource page and official Official Python wiki page to name a few. Thanks for the list of great resources you have compiled. Enjoy your week:) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2146ffc20..a7673becf 100644 --- a/README.md +++ b/README.md @@ -846,6 +846,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C/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. ## Weblogs *Useful C/C++ related weblogs.* From b32254618aad76a9f23b45154ee345d3dfdbef05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Juan=20P=C3=A9rez?= Date: Wed, 27 Dec 2017 12:42:15 +0100 Subject: [PATCH 221/959] added evpp library in networking --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7673becf..3acee1f4d 100644 --- a/README.md +++ b/README.md @@ -492,6 +492,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] +* [evpp](https://github.com/Qihoo360/evpp) - Network library for high performance network services with TCP/UDP/HTTP protocols. [BSD] * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] From 8a5f62bded93f33bf834dda6d37b2d0de8e00112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Juan=20P=C3=A9rez?= Date: Wed, 27 Dec 2017 12:44:14 +0100 Subject: [PATCH 222/959] updated description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3acee1f4d..9fcb9d397 100644 --- a/README.md +++ b/README.md @@ -492,7 +492,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] -* [evpp](https://github.com/Qihoo360/evpp) - Network library for high performance network services with TCP/UDP/HTTP protocols. [BSD] +* [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] From 727e934259e679592ad3778db9ead4310dd08981 Mon Sep 17 00:00:00 2001 From: Daniel Nicoletti Date: Wed, 3 Jan 2018 15:41:22 -0200 Subject: [PATCH 223/959] Add Cutelyst Web Framewok --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7673becf..3a0f609e8 100644 --- a/README.md +++ b/README.md @@ -605,6 +605,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] +* [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/) * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] * [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] From 07ba24c74cdf3d16ea49fe393f52a5a6f09a9fdf Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 8 Jan 2018 09:20:48 +0800 Subject: [PATCH 224/959] Add AwesomePerfCpp under Other Awesome Lists --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3a0f609e8..a901c35e5 100644 --- a/README.md +++ b/README.md @@ -877,6 +877,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Awesome C/C++](https://cpp.libhunt.com/) - LibHunt's mirror. * [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 * [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 +* [AwesomePerfCpp](https://github.com/fenbf/AwesomePerfCpp) - A curated list of awesome C/C++ performance optimization resources. * [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. * [Inqlude](http://inqlude.org/) - The Qt library archive. * [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. From a042baaab82ab71dfa001dc56b3fd7e80a447cd1 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 8 Jan 2018 09:34:20 +0800 Subject: [PATCH 225/959] Add Containers::sparsepp, Logging::loguru, ML::xgboost --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index a901c35e5..1c520d953 100644 --- a/README.md +++ b/README.md @@ -221,6 +221,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] +* [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] ## Cryptography *Cryptography and Encryption Libraries* @@ -426,6 +427,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] +* [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] * [plog](https://github.com/SergiusTheBest/plog) - Portable and simple C++ logging library. [MPL2] * [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] * [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. @@ -445,6 +447,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] * [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] +* [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] ## Math From 5ef244dddf6a46a9b45c192b3ce64b327d273a4a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 8 Jan 2018 09:44:05 +0800 Subject: [PATCH 226/959] Add Scripting::djinni --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1c520d953..307728e1d 100644 --- a/README.md +++ b/README.md @@ -565,6 +565,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) * [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] * [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) +* [djinni](https://github.com/dropbox/djinni) - A tool for generating cross-language type declarations and interface bindings. [Apache2] * [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) * [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) From 92bd8af4294ef06ed08b84ecb450dcb8605fe7e1 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Tue, 9 Jan 2018 10:13:03 -0600 Subject: [PATCH 227/959] tiny-AES-c --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 307728e1d..30446bbfc 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [website](http://www.openssl.org/) * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. * [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] -* [Tiny AES128 in C](https://github.com/kokke/tiny-AES128-C) - A small and portable implementation of the AES128 ECB encryption algorithm implemented in C. [PublicDomain] +* [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] ## Database From 87b9a61db5147d49032fd04d44cbbbb64c1d87ec Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Tue, 9 Jan 2018 22:11:06 +0100 Subject: [PATCH 228/959] fixes issue #397 (FunctionalPlus, frugally-deep) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 30446bbfc..9fdbb4699 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] +* [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] @@ -106,6 +107,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) - A GPU (CUDA) based Artificial Neural Network library. [LGPL] * [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] +* [frugally-deep](https://github.com/Dobiasd/frugally-deep) - Header-only library for using Keras models in C++. [MIT] * [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] * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] From 8246627a5e22ad84703b9878c4d1622229889352 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leroy Date: Mon, 15 Jan 2018 15:38:02 -0500 Subject: [PATCH 229/959] yomm11 -> yomm2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b4491caba..b4fb35792 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] * [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] * [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] -* [Yomm11](https://github.com/jll63/yomm11) - Open multi-methods for C++11. [Boost] +* [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] ## Artificial Intelligence From 2f8f69f78720f91efc2acc366829f1a3afa38312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 16 Jan 2018 10:23:03 +0100 Subject: [PATCH 230/959] Update website and description for Magnum --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b4fb35792..ac1fd2315 100644 --- a/README.md +++ b/README.md @@ -344,7 +344,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] -* [magnum](https://github.com/mosra/magnum) - C++11 and OpenGL 2D/3D graphics engine. [MIT] [website](http://mosra.cz/blog/magnum.php) +* [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) * [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] * [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] From 3849284ede1d4d76fa931d65e5d0e7a26df9fae2 Mon Sep 17 00:00:00 2001 From: Alex Reustle Date: Sun, 28 Jan 2018 10:37:05 -0500 Subject: [PATCH 231/959] Added TileDB to Database and Scientific Computing categories. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ac1fd2315..988e2b0f6 100644 --- a/README.md +++ b/README.md @@ -265,6 +265,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [sqlite_modern_cpp](https://github.com/aminroosta/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] * [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [BSD-3-Clause] +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] ## Debug @@ -557,6 +558,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] * [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] * [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) From 9a48ae372456eed146cbb9daee573ea9f58f5800 Mon Sep 17 00:00:00 2001 From: David Hirvonen Date: Sun, 28 Jan 2018 12:03:20 -0500 Subject: [PATCH 232/959] =?UTF-8?q?Add=20Hunter=20to=20=E2=80=9CBuild=20Sy?= =?UTF-8?q?stems=E2=80=9D=20section.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac1fd2315..64b00f075 100644 --- a/README.md +++ b/README.md @@ -752,6 +752,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. +* [Hunter](https://www.github.com/ruslo/hunter) - CMake driven cross-platform package manager for C++. [BSD-2] * [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. * [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. * [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. From 3068166cdc52931d96e0ad9d084a1779bc0ff8ca Mon Sep 17 00:00:00 2001 From: Alex Reustle Date: Mon, 29 Jan 2018 11:19:17 -0500 Subject: [PATCH 233/959] Add TileDB website link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7de2e046a..ab129ae5e 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [sqlite_modern_cpp](https://github.com/aminroosta/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] * [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [BSD-3-Clause] -* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] ## Debug @@ -558,7 +558,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [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] -* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] * [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) From 2159fcee2d41f6b0d0190c48919ae8f405cea886 Mon Sep 17 00:00:00 2001 From: kerukuro Date: Tue, 30 Jan 2018 15:16:29 +0300 Subject: [PATCH 234/959] Update README.md Added digestpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab129ae5e..ff4199cd4 100644 --- a/README.md +++ b/README.md @@ -232,6 +232,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [BeeCrypt](http://beecrypt.sourceforge.net/) - A portable and fast cryptography library. [LGPLv2.1+] * [Botan](http://botan.randombit.net/) - A crypto library for C++. [BSD-2] * [Crypto++](https://github.com/weidai11/cryptopp) - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/) +* [digestpp](https://github.com/kerukuro/digestpp) - C++11 header-only message digest (hash) library. [PublicDomain] * [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] * [GnuTLS](http://www.gnutls.org/) - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1] * [Libgcrypt](http://www.gnu.org/software/libgcrypt/) - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+] From 1cb1c627d285cad6e0c0cca64780c0930cdc088c Mon Sep 17 00:00:00 2001 From: Alex Reustle Date: Tue, 30 Jan 2018 20:24:47 -0500 Subject: [PATCH 235/959] Add Awesome lists badge. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab129ae5e..1a40f73c0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome C/C++ +# Awesome C/C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. - [Awesome C/C++](#awesome-cpp) From 98f7ba38e91e4ccb6e92e9700d040287137bb925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20D=C3=BCrrenberger?= Date: Thu, 1 Feb 2018 00:03:32 +0100 Subject: [PATCH 236/959] Add minimp3 public domain MP3 decoder Just today, I learned about this awesome, public domain, header-only MP3 decoder with a clean-room implementation (not infringing on any copyrights) by @lieff and thought this should definitely be put on this list. https://github.com/lieff/minimp3 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 168d72222..46ea1f032 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD] * [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense] * [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] +* [minimp3](https://github.com/lieff/minimp3) - Public domain, header-only MP3 decoder with clean-room implementation. [CC0] ## Biology *Bioinformatics, Genomics, Biotech* From b6dd2f303b371c383894b2406859c40a23a647a5 Mon Sep 17 00:00:00 2001 From: Michael Hofmann Date: Thu, 1 Feb 2018 21:02:08 +0100 Subject: [PATCH 237/959] Replaced mentions of "C/C++" by "C [and|or] C++". The project title is now "Awesome C++" to reflect the fact that most mentioned libraries are indeed C++ libraries. Mentions in projects' self-descriptions remain unchanged, if "C/C++" was the chosen wording by the project author. This fixes https://github.com/fffaraz/awesome-cpp/issues/431. --- README.md | 52 ++++++++++++++++++++++++++-------------------------- minor.md | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 46ea1f032..2a3123d04 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# Awesome C/C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) -A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. +# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) +A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. -- [Awesome C/C++](#awesome-cpp) +- [Awesome C++](#awesome-cpp) - [Standard Libraries](#standard-libraries) - [Frameworks](#frameworks) - [Artificial Intelligence](#artificial-intelligence) @@ -292,7 +292,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] * [MemTrack](http://www.almostinfinite.com/memtrack.html) - Tracking memory allocations in C++. * [microprofile](https://bitbucket.org/jonasmeyer/microprofile/overview) - Profiler with web-view for multiple platforms. [PublicDomain] -* [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C/C++ self-contained in a single header file. [MIT] +* [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. * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] @@ -467,7 +467,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] -* [GMP](https://gmplib.org/) - A C/C++ library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] +* [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] * [NT2](https://github.com/Mathieu-/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] @@ -580,7 +580,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] -* [SIP](https://riverbankcomputing.com/software/sip/intro) - C/C++ Bindings Generator for Python v2 and v3. [GPL] +* [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](http://code.google.com/p/v8/) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] @@ -591,7 +591,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] -* [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C/C++. [Apache2] [website](http://msgpack.org/) +* [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) * [protobuf](https://github.com/google/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] @@ -685,7 +685,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin *Software for creating a development environment.* ## Compiler -*List of C/C++ compilers* +*List of C or C++ compilers* * [8cc](https://github.com/rui314/8cc) - A Small C Compiler. * [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] @@ -700,7 +700,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] ## Online Compiler -*List of online C/C++ compilers* +*List of online C or C++ compilers* * [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. * [CodeTwist](http://codetwist.com/) - A simple online compiler/interpreter, where you can paste your C, C++ or Java code and execute it online and see results. @@ -713,7 +713,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. ## Debugger -*List of C/C++ debuggers* +*List of C or C++ debuggers* * [Comparison of debuggers](https://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. * [GDB](https://www.gnu.org/software/gdb/) - GNU Debugger. @@ -723,14 +723,14 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [x64dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. ## Integrated Development Environment -*List of C/C++ nominal IDEs.* +*List of C or C++ nominal IDEs.* * [Anjuta DevStudio](http://anjuta.org/) - The GNOME IDE. [GPL3] * [AppCode](http://www.jetbrains.com/objc/) - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform. -* [Cevelop](https://www.cevelop.com) - Cross-platform C/C++ IDE based on Eclipse CDT with additional plug-ins. -* [CLion](http://www.jetbrains.com/clion/) - Cross-platform C/C++ IDE from JetBrains. +* [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/C++ IDE. [GPL2 with an exception for plugins] +* [CodeLite](http://codelite.org/) - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins] * [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] * [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. * [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. @@ -795,7 +795,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Designing Qt-Style C++ APIs](https://doc.qt.io/archives/qq/qq13-apis.html) ## Articles -*Fantastic C/C++ related articles.* +*Fantastic C++ related articles.* * [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. @@ -809,9 +809,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [C++Now 2012 Presentations](https://github.com/boostcon/cppnow_presentations_2012) - Presentation materials presented at C++Now 2012. ## Books -*Fantastic C/C++ related books.* +*Fantastic C or C++ related books.* -* [List of Free C/C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) +* [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) * [Free C Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c) - vhf/free-programming-books/C. * [Free C++ Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c-1) - vhf/free-programming-books/C++. * [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. @@ -833,9 +833,9 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) ## Videos -*Fantastic C/C++ related videos.* +*Fantastic C or C++ related videos.* -* [List of C/C++ YouTube Videos](https://github.com/fffaraz/awesome-cpp/blob/master/videos.md) +* [List of C or C++ YouTube Videos](https://github.com/fffaraz/awesome-cpp/blob/master/videos.md) * [Awesome C Programming Tutorials in Hi Def [HD]](https://www.youtube.com/playlist?list=PLCB9F975ECF01953C) - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers. * [C++](https://www.youtube.com/playlist?list=PL2F919ADECA5E39A6) - by VoidRealms. * [C++ Qt Programming](https://www.youtube.com/playlist?list=PL2D1942A4688E9D63) - by VoidRealms. @@ -846,7 +846,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... ## Websites -*Useful C/C++ related websites.* +*Useful C or C++ related websites.* * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. * [CppCon](http://cppcon.org/) - The C++ Conference. @@ -859,11 +859,11 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [Meeting C++](http://meetingcpp.com/) * [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) -* [C++ Hints](http://cpphints.com/) - Every business day hints about most often C/C++ mistakes and ways to solve them from PVS-Studio Team. +* [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. ## Weblogs -*Useful C/C++ related weblogs.* +*Useful C or C++ related weblogs.* * [Coding For Speed](https://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time. * [Eric Niebler](http://ericniebler.com/) @@ -877,7 +877,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. * [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. -* [C/C++ Awesome Pack](https://github.com/JunianNet/CppAwesomePack) - Contains some awesome c++ codes, packed in one. +* [C++ Awesome Pack](https://github.com/JunianNet/CppAwesomePack) - Contains some awesome c++ codes, packed in one. # Other Awesome Lists *Other amazingly awesome lists* @@ -886,8 +886,8 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. * [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. * [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. -* [Awesome C/C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. -* [Awesome C/C++](https://cpp.libhunt.com/) - LibHunt's mirror. +* [Awesome C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. +* [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. * [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 * [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 * [AwesomePerfCpp](https://github.com/fenbf/AwesomePerfCpp) - A curated list of awesome C/C++ performance optimization resources. @@ -897,7 +897,7 @@ A curated list of awesome C/C++ frameworks, libraries, resources, and shiny thin * [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. * [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. * [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. -* [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C/C++. +* [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. * [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. # Contributing diff --git a/minor.md b/minor.md index 468c2380f..b86477d0a 100644 --- a/minor.md +++ b/minor.md @@ -1,6 +1,6 @@ ## Minor projects -A list of lesser-known C/C++ libraries, tools, and resources. +A list of lesser-known C or C++ libraries, tools, and resources. * [jest](https://github.com/jeaye/jest) - A sane and minimal C++14 unit test framework. [MIT] * [libfixmath](https://github.com/PetteriAimonen/libfixmath) - A Cross Platform Fixed Point (Q16.16) Maths Library. [MIT] From d849b3e330b711a89a38110576c4ea56a8a286b0 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 6 Feb 2018 15:22:15 +0800 Subject: [PATCH 238/959] Add Database::SQLiteC++; Update Database::sqlite_modern_cpp repo link; --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a3123d04..d685dd0ea 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] -* [sqlite_modern_cpp](https://github.com/aminroosta/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] +* [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] +* [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] * [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [BSD-3-Clause] * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] From 7fbaeaa5fb6ba64837feb7bb71f003879d8a06d8 Mon Sep 17 00:00:00 2001 From: TotalKrill Date: Tue, 6 Feb 2018 13:24:37 +0100 Subject: [PATCH 239/959] Update robwork link Old link is broken --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a3123d04..a7d2047a6 100644 --- a/README.md +++ b/README.md @@ -553,7 +553,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] * [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) * [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] -* [RobWork](http://www.robwork.dk/jrobwork/) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] +* [RobWork](http://www.robwork.dk/apidoc/nightly/rw/index.html) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] ## Scientific Computing From c2dd017587c209b77f86572d3081098b8a303595 Mon Sep 17 00:00:00 2001 From: CoderGears Date: Tue, 13 Feb 2018 08:35:08 +0000 Subject: [PATCH 240/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f14861a4b..27f602c3f 100644 --- a/README.md +++ b/README.md @@ -772,6 +772,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *List of tools for improving quality and reducing defects by code analysis* * [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) +* [CppDepend](https://www.cppdepend.com/) - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code. * [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. * [cpp-dependencies](https://github.com/tomtom-international/cpp-dependencies) - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] * [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) From ab8e9643c00e1f28fac797b3ed45b9c971e81f43 Mon Sep 17 00:00:00 2001 From: Marcin Konarski Date: Thu, 15 Feb 2018 10:30:27 +0100 Subject: [PATCH 241/959] Add CLI::replxx library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27f602c3f..53dae7498 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] + * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] * [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. [BSD] From 1523dfefc1446c39c28a3274d62f207d670cb9b7 Mon Sep 17 00:00:00 2001 From: Junian Triajianto Date: Tue, 20 Feb 2018 14:59:42 +0700 Subject: [PATCH 242/959] Change C++ Awesome Pack url The url for C++ Awesome Pack is changed to new organization and different project name. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 53dae7498..ba78848c2 100644 --- a/README.md +++ b/README.md @@ -880,7 +880,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. * [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. -* [C++ Awesome Pack](https://github.com/JunianNet/CppAwesomePack) - Contains some awesome c++ codes, packed in one. +* [C++ Awesome Pack](https://github.com/juniandotnet/cpp-awesome-pack) - Contains some awesome c++ codes, packed in one. # Other Awesome Lists *Other amazingly awesome lists* From 5ca405922a9c56152e045b8ad6ced93671e31ce8 Mon Sep 17 00:00:00 2001 From: Deleaker Date: Tue, 20 Feb 2018 13:50:42 +0300 Subject: [PATCH 243/959] Update README.md Added Deleaker. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 53dae7498..0c3365e5f 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] +* [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] From aa4805b5beccc6d113b3b900825b2ed159830fe3 Mon Sep 17 00:00:00 2001 From: Adam Cavendish Date: Sun, 4 Mar 2018 22:44:05 +0800 Subject: [PATCH 244/959] Add cquery C++ code completer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd70ebc9e..7f13dfa20 100644 --- a/README.md +++ b/README.md @@ -748,6 +748,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. * [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. * [YouCompleteMe](https://valloric.github.io/YouCompleteMe/) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. +* [cquery](https://github.com/cquery-project/cquery/) - A C++ code completion engine for vscode, emacs, vim, etc. ## Build Systems From 2d069d92b5c1d401e305630f962e5e30ff6200e4 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Thu, 8 Mar 2018 11:44:21 +0100 Subject: [PATCH 245/959] Adding CLI11 to Command Line Parsers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f13dfa20..b936a42fe 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] From 34da6ecfbeb5095f4ef0b6b9c236e954a6f41f9e Mon Sep 17 00:00:00 2001 From: DiligentGraphics Date: Wed, 14 Mar 2018 18:24:45 -0700 Subject: [PATCH 246/959] Updated readme: added Diligent Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b936a42fe..33446dc1d 100644 --- a/README.md +++ b/README.md @@ -345,6 +345,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] +* [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) From 971ab5b9c4ba1c96c9f233640877624f8f941333 Mon Sep 17 00:00:00 2001 From: Rob Loach Date: Thu, 15 Mar 2018 08:45:02 -0400 Subject: [PATCH 247/959] Add SoLoud Audio Engine [SoLoud](http://soloud-audio.com/) is a easy-to-use portable audio engine that is Zlib/LibPng at its core. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b936a42fe..9e184bb0e 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] * [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] +* [SoLoud](https://github.com/jarikomppa/soloud) - Easy, portable audio engine for games. [zlib] * [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD] * [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense] * [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] From 3b1edf39bc923b0b3e62fda2da7f6f4d73bbd2c7 Mon Sep 17 00:00:00 2001 From: dhu23 <36485423+dhu23@users.noreply.github.com> Date: Thu, 15 Mar 2018 16:48:11 -0400 Subject: [PATCH 248/959] Update README.md Added repl.it to online compiler --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b936a42fe..f707dae06 100644 --- a/README.md +++ b/README.md @@ -712,6 +712,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. +* [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. * [Rise4Fun](http://webcompiler.cloudapp.net/) - Online Visual C++ compiler. * [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. From 4d15a5b6a48d63fe8d1d0b2036dcc7ee0f629a5b Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 12:47:23 +1200 Subject: [PATCH 249/959] Add plf containers, classes, also ring_span --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3af57fa3c..4e77c892e 100644 --- a/README.md +++ b/README.md @@ -223,12 +223,17 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers +* [Colony](http://www.plflib.org/colony.htm) - An unordered "bag"-style container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] +* [plf::list](http://www.plflib.org/list.htm) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] +* [plf::stack](http://www.plflib.org/stack.htm) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] +* [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Guy Davidson & Arthur O'dwyer's ring_span - a circular buffer view. [zLib] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] + ## Cryptography *Cryptography and Encryption Libraries* @@ -299,6 +304,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [microprofile](https://bitbucket.org/jonasmeyer/microprofile/overview) - Profiler with web-view for multiple platforms. [PublicDomain] * [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. +* [Nanotimer](http://www.plflib.org/nanotimer.htm) - Lowest-overhead cross-platform microsecond-precision simple timer class for benchmarking. [zLib] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] From f1dd449636bdae829664134a71426d05c6492948 Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 12:57:22 +1200 Subject: [PATCH 250/959] Add GFX's Timsort --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 4e77c892e..cf6a72374 100644 --- a/README.md +++ b/README.md @@ -608,6 +608,10 @@ 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] +## Sorting + +* [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms for reversed or semi-sorted data. [MIT] + ## Video * [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD] From bc80e6df372a9c1081a6116a2b7eba1365001f5c Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 13:02:18 +1200 Subject: [PATCH 251/959] Corrected weblinks --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cf6a72374..2773938f3 100644 --- a/README.md +++ b/README.md @@ -223,13 +223,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers -* [Colony](http://www.plflib.org/colony.htm) - An unordered "bag"-style container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] +* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website] (http://www.plflib.org/colony.htm) * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] -* [plf::list](http://www.plflib.org/list.htm) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] -* [plf::stack](http://www.plflib.org/stack.htm) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] +* [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website] (http://www.plflib.org/list.htm) +* [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website] (http://www.plflib.org/stack.htm) * [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Guy Davidson & Arthur O'dwyer's ring_span - a circular buffer view. [zLib] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] From 2512038e7660c85ced831d9352ba8b1f1e265fbe Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 13:03:34 +1200 Subject: [PATCH 252/959] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2773938f3..5c635c33c 100644 --- a/README.md +++ b/README.md @@ -223,13 +223,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers -* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website] (http://www.plflib.org/colony.htm) +* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] -* [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website] (http://www.plflib.org/list.htm) -* [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website] (http://www.plflib.org/stack.htm) +* [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) +* [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) * [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Guy Davidson & Arthur O'dwyer's ring_span - a circular buffer view. [zLib] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] From c9ca1e0c52afdb4bc4d703d124343604eca157c2 Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 13:04:39 +1200 Subject: [PATCH 253/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c635c33c..6dd31d0e9 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) * [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) -* [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Guy Davidson & Arthur O'dwyer's ring_span - a circular buffer view. [zLib] +* [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Guy Davidson & Arthur O'dwyer's ring_span - a circular buffer view. [MIT] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] From 5e57c0964202dea611f7f221f707df1eadd80ee6 Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 13:07:24 +1200 Subject: [PATCH 254/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6dd31d0e9..c26a7a31b 100644 --- a/README.md +++ b/README.md @@ -610,7 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Sorting -* [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms for reversed or semi-sorted data. [MIT] +* [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] ## Video From 494dabdbcbaeba8bfbf54648160275e66f88943c Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 13:11:20 +1200 Subject: [PATCH 255/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c26a7a31b..c846fa997 100644 --- a/README.md +++ b/README.md @@ -304,7 +304,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [microprofile](https://bitbucket.org/jonasmeyer/microprofile/overview) - Profiler with web-view for multiple platforms. [PublicDomain] * [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. -* [Nanotimer](http://www.plflib.org/nanotimer.htm) - Lowest-overhead cross-platform microsecond-precision simple timer class for benchmarking. [zLib] +* [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) * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] From 722931be14bafb37cb96b827a9786ddb18df0991 Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Fri, 6 Apr 2018 13:13:14 +1200 Subject: [PATCH 256/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c846fa997..0ee1a0ddf 100644 --- a/README.md +++ b/README.md @@ -223,8 +223,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers -* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] +* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] From b379e14b22bc55b0cac6476c07140fc8d960c923 Mon Sep 17 00:00:00 2001 From: mattreecebentley Date: Mon, 9 Apr 2018 12:55:44 +1200 Subject: [PATCH 257/959] Corrections Removed line, added category, edited ring_span description --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0ee1a0ddf..4a404281a 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Scientific Computing](#scientific-computing) - [Scripting](#scripting) - [Serialization](#serialization) + - [Sorting](#sorting) - [Video](#video) - [Virtual Machines](#virtual-machines) - [Web Application Framework](#web-application-framework) @@ -230,10 +231,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) * [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) -* [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Guy Davidson & Arthur O'dwyer's ring_span - a circular buffer view. [MIT] +* [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] - ## Cryptography *Cryptography and Encryption Libraries* From b2fdb8f91ec989c0ebf92f8050be868948d3e18b Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Sun, 15 Apr 2018 17:27:19 +0200 Subject: [PATCH 258/959] Add Intel PSTL --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a404281a..ed2f62273 100644 --- a/README.md +++ b/README.md @@ -206,6 +206,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] +* [Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] From 672c12fb1d4999003e29132e4ac4ef48c3fddee5 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Mon, 23 Apr 2018 21:24:36 +0200 Subject: [PATCH 259/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed2f62273..ee74a2f7b 100644 --- a/README.md +++ b/README.md @@ -316,6 +316,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] +* [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] From a31d478dd6108cdd12f9ba1fc3da0b6edea2f36e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 25 Apr 2018 19:53:48 +0800 Subject: [PATCH 260/959] ML: Add VLFeat --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee74a2f7b..cc179eebf 100644 --- a/README.md +++ b/README.md @@ -466,6 +466,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] * [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] +* [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) * [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] ## Math From cdae530738e2bcaace49ddfcc874106ad51da965 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 26 Apr 2018 17:47:23 +0800 Subject: [PATCH 261/959] Networking: Add ENet(#351) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc179eebf..cbc9d1597 100644 --- a/README.md +++ b/README.md @@ -515,6 +515,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [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] * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] From bfdd07beb3c8207296d3b31533ddc9954e35c99f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 1 May 2018 12:16:57 +0800 Subject: [PATCH 262/959] Graphics: Add libigl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cbc9d1597..f97ca8111 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] +* [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) * [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] From a6512f3e67f410a05c97f2296cebbdae88e4bfd3 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 1 May 2018 12:28:02 +0800 Subject: [PATCH 263/959] Graphics: Add NanoVG --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f97ca8111..1f86cfa80 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) +* [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] * [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] * [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] From e7ac8aa6e8b704223fa21fb5157d398cd9589135 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 4 May 2018 15:04:26 +0800 Subject: [PATCH 264/959] Build Systems: Add clib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f86cfa80..5f751e875 100644 --- a/README.md +++ b/README.md @@ -775,6 +775,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bazel](https:/bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] * [cget](https://github.com/pfultz2/cget) - Cmake package retrieval used to download and install cmake packages. [Boost] +* [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] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. * [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] From 45075a96d209eca0bd818d634d6cafcb167beb7a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 4 May 2018 15:05:09 +0800 Subject: [PATCH 265/959] Build Systems: Add waf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f751e875..2815dc705 100644 --- a/README.md +++ b/README.md @@ -791,6 +791,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. * [Vcpkg](https://github.com/microsoft/vcpkg) - VC++ Packaging Tool for Windows. +* [waf](https://github.com/waf-project/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) ## Static Code Analysis *List of tools for improving quality and reducing defects by code analysis* From 9dcfa5a727c73c2d0ab65ef85925062246641917 Mon Sep 17 00:00:00 2001 From: Manu Gil Date: Fri, 8 Jun 2018 17:36:35 +0100 Subject: [PATCH 266/959] Graphics: Add bs::framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2815dc705..b458449ec 100644 --- a/README.md +++ b/README.md @@ -353,6 +353,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Graphics * [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] +* [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] From 3e133c0b130e6f531060600360fa024c0272f40d Mon Sep 17 00:00:00 2001 From: cDc Date: Tue, 12 Jun 2018 09:04:51 +0300 Subject: [PATCH 267/959] Add TinyEXIF to Image Processing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2815dc705..6ae636b99 100644 --- a/README.md +++ b/README.md @@ -390,6 +390,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] * [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] +* [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] * [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] * [VIGRA](https://github.com/ukoethe/vigra) - A generic C++ computer vision library for image analysis. [MIT X11] * [VTK](http://www.vtk.org/) - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD] From 64698703856e6aeb709c4df7bc9368ed26fe3cf7 Mon Sep 17 00:00:00 2001 From: Edward FANG Date: Thu, 14 Jun 2018 00:27:30 +0800 Subject: [PATCH 268/959] fix wrong bazel URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ae636b99..304d07f35 100644 --- a/README.md +++ b/README.md @@ -773,7 +773,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Build Systems -* [Bazel](https:/bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] +* [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] * [cget](https://github.com/pfultz2/cget) - Cmake package retrieval used to download and install cmake packages. [Boost] * [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] From 28a5a48e4dc86fe5cdf752e84da377eba3133df9 Mon Sep 17 00:00:00 2001 From: Manu Gil Date: Wed, 20 Jun 2018 11:47:00 +0200 Subject: [PATCH 269/959] Game Engine: Add Banshee Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8f27579a..7360df3e9 100644 --- a/README.md +++ b/README.md @@ -314,6 +314,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Game Engine * [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] +* [Banshee 3D](https://github.com/BearishSun/BansheeEngine) - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. [LGPL3/Commercial] * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] * [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] From 5c07d8f187ec1b3138cfb02bb6a8735434731e7e Mon Sep 17 00:00:00 2001 From: twhuang Date: Mon, 2 Jul 2018 11:28:24 -0500 Subject: [PATCH 270/959] add cpp-taskflow to concurrency --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7360df3e9..ef297d344 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] +* [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] * [CUB](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] From b422942b6359ef8da495ecbd2cf8eeabad8e052c Mon Sep 17 00:00:00 2001 From: Matthew Albrecht Date: Mon, 9 Jul 2018 20:18:26 -0500 Subject: [PATCH 271/959] Added reference to Flounder Game Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef297d344..55043815b 100644 --- a/README.md +++ b/README.md @@ -319,6 +319,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] * [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] +* [Flounder](https://github.com/Equilibrium-Games/Flounder) - A high speed C++17 Vulkan game engine. [MIT] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] From c944623d932dce941bd75cd958308a1086d33fb0 Mon Sep 17 00:00:00 2001 From: Keith O'Hara Date: Tue, 10 Jul 2018 18:49:52 -0400 Subject: [PATCH 272/959] Add StatsLib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55043815b..8ddd168a0 100644 --- a/README.md +++ b/README.md @@ -497,6 +497,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] * [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) +* [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] From 8f58be6443d306bb854014ab76002c4051fc38c3 Mon Sep 17 00:00:00 2001 From: Stefan Novak Date: Mon, 30 Jul 2018 14:09:14 -0400 Subject: [PATCH 273/959] add GTE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ddd168a0..df0a558ac 100644 --- a/README.md +++ b/README.md @@ -487,6 +487,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] +* [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] From 4925be3280f635b439a144c0243e237db42a2a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20D=C3=BCrrenberger?= Date: Thu, 2 Aug 2018 17:26:06 +0200 Subject: [PATCH 274/959] Added toyengine to the game engine list Fixes #516 > toy is a thin and modular c++ game engine. it aims to provide the thinnest and simplest stack of technology for making games directly from c++. toy offers simple expressive c++ idioms for user interface, rendering, audio, and the seamless extension of your game code with zero-cost tools, editors and scripting, to design full featured 2d or 3d games in fast iterations. toy is built on top of the underlying mud library, which provides most functionality. > toy is under heavy development, not yet stable, fully documented or production ready. this mean we can't guarantee any kind of stability yet (including the git history too) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df0a558ac..536ab59b8 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) * [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) * [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) +* [toy engine](https://toyengine.io/) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] ## GUI From 1d64dcbec7270393f721fcca0069642f9fb43ceb Mon Sep 17 00:00:00 2001 From: Christian Blume Date: Fri, 3 Aug 2018 22:48:55 +1200 Subject: [PATCH 275/959] add transwarp library under concurrency section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 536ab59b8..4c5a6f537 100644 --- a/README.md +++ b/README.md @@ -221,6 +221,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [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] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] From e558cb10e754072b30ac8f8aa697f7941c90a8e5 Mon Sep 17 00:00:00 2001 From: David Reid Date: Thu, 9 Aug 2018 21:13:47 +1000 Subject: [PATCH 276/959] Add mini_al --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4c5a6f537..c6c642a84 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] +* [mini_al](https://github.com/dr-soft/mini_al) - Single file audio playback and capture library. [Unlicense] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] * [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] From 0af68fb61dc7af148b8de9bdef8d540632f41eb8 Mon Sep 17 00:00:00 2001 From: Sergey <31692499+sergeyblagodarnyy@users.noreply.github.com> Date: Mon, 20 Aug 2018 11:58:05 +0300 Subject: [PATCH 277/959] Update README.md Annen a P7Baical logging library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c6c642a84..c5da5b165 100644 --- a/README.md +++ b/README.md @@ -461,6 +461,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] * [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. * [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] +* [P7Baical](http://baical.net/p7.html) - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL] ## Machine Learning From 12b2c38ec10497d9bd6c7e079914a0b51276ba48 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 23 Aug 2018 18:12:11 +0800 Subject: [PATCH 278/959] Networking: Add H2O --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5da5b165..11d7adbb7 100644 --- a/README.md +++ b/README.md @@ -530,6 +530,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] +* [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] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] From 2cb4ab88a16023a29f7ee2808cc13563c513c26b Mon Sep 17 00:00:00 2001 From: Lewis Van Winkle Date: Thu, 23 Aug 2018 13:47:32 -0500 Subject: [PATCH 279/959] Added Tulip Indicators --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11d7adbb7..04f029719 100644 --- a/README.md +++ b/README.md @@ -709,6 +709,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] +* [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] * [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] From 8dc10c124550953e5c006c7a137f48bc24a1e815 Mon Sep 17 00:00:00 2001 From: Matthew Albrecht Date: Fri, 24 Aug 2018 20:58:51 -0500 Subject: [PATCH 280/959] Renamed Flounder to Acid Engine name was changed recently to Acid. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 04f029719..8475f9d11 100644 --- a/README.md +++ b/README.md @@ -316,12 +316,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Game Engine +* [Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT] * [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] * [Banshee 3D](https://github.com/BearishSun/BansheeEngine) - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. [LGPL3/Commercial] * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] * [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] -* [Flounder](https://github.com/Equilibrium-Games/Flounder) - A high speed C++17 Vulkan game engine. [MIT] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] From 4d3fc4c99d66a405cd40f30601d89e72e4a3c504 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 25 Aug 2018 14:03:24 +0800 Subject: [PATCH 281/959] Database: Add nanodbc, ODB --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 04f029719..72723554b 100644 --- a/README.md +++ b/README.md @@ -273,6 +273,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for MongoDB. [Apache2] * [MongoDB Libbson](https://github.com/mongodb/libbson) - A BSON utility library. [Apache2] * [MySQL++](http://www.tangentsoft.net/mysql++/) - A C++ wrapper for MySQL's C API. [LGPL] +* [nanodbc](https://github.com/nanodbc/nanodbc) - A small C++ wrapper for the native C ODBC API. [MIT] +* [ODB](https://www.codesynthesis.com/products/odb/) - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2] * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] From c906ea51700374e91db33ef4d4fa1b3bd89bbdf1 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 25 Aug 2018 14:09:22 +0800 Subject: [PATCH 282/959] IPC: Add nng --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72723554b..ffa2940d4 100644 --- a/README.md +++ b/README.md @@ -418,6 +418,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] * [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) +* [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) * [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] * [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) * [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] From c8250d4b39991df56eded1f38a666dce27cd3a16 Mon Sep 17 00:00:00 2001 From: Lewis Van Winkle Date: Sat, 25 Aug 2018 15:21:25 -0500 Subject: [PATCH 283/959] Added TinyExpr --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a838c6533..0940aaf18 100644 --- a/README.md +++ b/README.md @@ -506,6 +506,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) +* [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] From 002098ed34cc6cf1a08763f16c49aade6d5c7e9c Mon Sep 17 00:00:00 2001 From: Lewis Van Winkle Date: Sat, 25 Aug 2018 15:22:33 -0500 Subject: [PATCH 284/959] Added Genann --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a838c6533..e705486e1 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] * [frugally-deep](https://github.com/Dobiasd/frugally-deep) - Header-only library for using Keras models in C++. [MIT] +* [Genann](https://github.com/codeplea/genann) - Simple neural network library in C. [zlib] * [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] * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] From ca9301cf60f5d62e1a57d87e4d52a1584ab74f44 Mon Sep 17 00:00:00 2001 From: Sagar Date: Wed, 29 Aug 2018 20:22:20 +0530 Subject: [PATCH 285/959] Fixes Issue #334 README.md contained a broken link in Online Compiler Section. The link points to codetwist.com which no longer exists. The link is now removed. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ee2ac4f00..feb8ef5a0 100644 --- a/README.md +++ b/README.md @@ -743,7 +743,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *List of online C or C++ compilers* * [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. -* [CodeTwist](http://codetwist.com/) - A simple online compiler/interpreter, where you can paste your C, C++ or Java code and execute it online and see results. * [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. From 768c597ce312c4224a3ef5ca8e1e9260478706aa Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 30 Aug 2018 18:28:54 +0800 Subject: [PATCH 286/959] Cryptography: Add sha1collisiondetection --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee2ac4f00..d91156100 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [website](http://www.openssl.org/) * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. * [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] +* [sha1collisiondetection](https://github.com/cr-marcstevens/sha1collisiondetection) - Library and command line tool to detect SHA-1 collision in a file. [MIT] * [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] From 4505119be191dffb780ce8530ff86976f9a2ab3d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 2 Sep 2018 11:09:24 +0800 Subject: [PATCH 287/959] Cryptography: Add Google Tink --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c172d722b..a0b14d5a7 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. * [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] * [sha1collisiondetection](https://github.com/cr-marcstevens/sha1collisiondetection) - Library and command line tool to detect SHA-1 collision in a file. [MIT] +* [Tink](https://github.com/google/tink) - A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0] * [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] From 20a1913e0b0018e0a226f2389856883eb168363c Mon Sep 17 00:00:00 2001 From: Ramses Ladlani Date: Tue, 4 Sep 2018 00:24:46 +0200 Subject: [PATCH 288/959] Added missing talks entry to TOC. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0b14d5a7..eba6e9dcf 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Articles](#articles) - [Books](#books) - [Coding Style](#coding-style) + - [Talks](#talks) - [Videos](#videos) - [Websites](#websites) - [Other Awesome Lists](#other-awesome-lists) From a47cd3add51605c2fee28f8d9ff11f0d972d9064 Mon Sep 17 00:00:00 2001 From: Ramses Ladlani Date: Tue, 4 Sep 2018 00:25:11 +0200 Subject: [PATCH 289/959] Added CppCast to new Podcasts section. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index eba6e9dcf..7f7958fd3 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Articles](#articles) - [Books](#books) - [Coding Style](#coding-style) + - [Podcasts](#podcasts) - [Talks](#talks) - [Videos](#videos) - [Websites](#websites) @@ -873,6 +874,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Linux kernel coding style](https://www.kernel.org/doc/Documentation/process/coding-style.rst) * [LLVM Coding Standards](http://llvm.org/docs/CodingStandards.html) +## Podcasts + +* [CppCast](http://cppcast.com) - The first podcast by C++ developers for C++ developers. + ## Talks * [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. From a0100c280ae356c4a3cdbaee122d9978e0365ac6 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Tue, 4 Sep 2018 08:04:46 +0100 Subject: [PATCH 290/959] Added Embedded Template Library (ETL) A template library tailored for embedded applications. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0b14d5a7..3417059b1 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] +* [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library. [MIT] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] From 1119467c1d5133350a85d1c24046c12d17f3eafe Mon Sep 17 00:00:00 2001 From: Armandas Date: Fri, 14 Sep 2018 10:47:23 +0900 Subject: [PATCH 291/959] Added SimpleSignal. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59d1b02aa..cef67942f 100644 --- a/README.md +++ b/README.md @@ -725,6 +725,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] +* [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] # Software *Software for creating a development environment.* From 520c36754b8b842d8c3c1307a33372596d147e95 Mon Sep 17 00:00:00 2001 From: Armandas Date: Fri, 14 Sep 2018 10:53:28 +0900 Subject: [PATCH 292/959] Moved the entry to the correct position. Moved the entry to the correct position to be in alphabetical order. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cef67942f..34680c851 100644 --- a/README.md +++ b/README.md @@ -715,6 +715,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] * [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] +* [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] @@ -725,7 +726,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] -* [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] # Software *Software for creating a development environment.* From b0fb538e400d1c593a774cdfbb513499d7a6d8bf Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 22 Sep 2018 11:00:40 +0800 Subject: [PATCH 293/959] Concurrency: Add Async++ --- README.md | 1 + todo.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34680c851..7d06a1e7b 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka) - Abstraction library for parallel kernel acceleration. [LGPLv3+] * [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] +* [Async++](https://github.com/Amanieu/asyncplusplus) - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT] * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] diff --git a/todo.txt b/todo.txt index c55ac40d7..1b96fa415 100644 --- a/todo.txt +++ b/todo.txt @@ -168,7 +168,6 @@ https://github.com/lsegal/my_toy_compiler https://github.com/openexr/openexr https://github.com/google/snappy https://github.com/spesmilo/libbitcoin -https://github.com/Amanieu/asyncplusplus https://github.com/gwaldron/osgearth https://github.com/xiw/stack https://github.com/mozy/mordor From 6bdaacb5394c2f5e2143d099231bfabad34b3b39 Mon Sep 17 00:00:00 2001 From: Matthias Stauber Date: Sat, 29 Sep 2018 14:37:40 +0000 Subject: [PATCH 294/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d06a1e7b..43e85c1be 100644 --- a/README.md +++ b/README.md @@ -530,7 +530,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Networking -* [ACE](http://www.cs.wustl.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] +* [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] From c33e5739d806ce1522370153bcc353f555dc0543 Mon Sep 17 00:00:00 2001 From: Nikita Kniazev Date: Sat, 29 Sep 2018 20:57:42 +0300 Subject: [PATCH 295/959] Update termbox license Closes #548 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 43e85c1be..a21c48d49 100644 --- a/README.md +++ b/README.md @@ -175,7 +175,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] * [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. [BSD] + * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] ## Compression *Compression and Archiving Libraries* From b29bd1e1cbd31c0763508a0ca0e7509c8ad3ff09 Mon Sep 17 00:00:00 2001 From: kokuB <43787211+kokuB@users.noreply.github.com> Date: Tue, 2 Oct 2018 20:35:07 +0530 Subject: [PATCH 296/959] Added PoDoFo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d49..1ebf10f8c 100644 --- a/README.md +++ b/README.md @@ -567,6 +567,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] ## Physics From 28d20b6acbc1a30d597799c77ace81982eb2553d Mon Sep 17 00:00:00 2001 From: kokuB <43787211+kokuB@users.noreply.github.com> Date: Tue, 2 Oct 2018 20:45:11 +0530 Subject: [PATCH 297/959] Added Xpdf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d49..1dbe23b52 100644 --- a/README.md +++ b/README.md @@ -568,6 +568,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] +* [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] ## Physics *Dynamics simulation engines* From dfcb92dccd70b269118aa0d4ebc15e07dc4a1f54 Mon Sep 17 00:00:00 2001 From: kokuB <43787211+kokuB@users.noreply.github.com> Date: Tue, 2 Oct 2018 21:37:37 +0530 Subject: [PATCH 298/959] Added BioC++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d49..e87914bb1 100644 --- a/README.md +++ b/README.md @@ -149,6 +149,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Biology *Bioinformatics, Genomics, Biotech* +* [BioC++](http://biocpp.sourceforge.net/) - C++ Computational Libraries for Bioinformatics. [BSD] * [libsequence](http://molpopgen.github.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] * [SeqAn](http://www.seqan.de/) - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause] * [Vcflib](https://github.com/ekg/vcflib) - A C++ library for parsing and manipulating VCF files. [MIT] From 76b4efe303f41f327fb73dc4ee36a788716d10df Mon Sep 17 00:00:00 2001 From: kokuB <43787211+kokuB@users.noreply.github.com> Date: Tue, 2 Oct 2018 21:45:55 +0530 Subject: [PATCH 299/959] Added Chaste --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d49..174d64a7d 100644 --- a/README.md +++ b/README.md @@ -149,6 +149,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Biology *Bioinformatics, Genomics, Biotech* +* [Chaste](http://www.cs.ox.ac.uk/chaste/) - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD-3-Clause] * [libsequence](http://molpopgen.github.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] * [SeqAn](http://www.seqan.de/) - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause] * [Vcflib](https://github.com/ekg/vcflib) - A C++ library for parsing and manipulating VCF files. [MIT] From ec503e73f83036203fdd7a3971bac086c8e348f2 Mon Sep 17 00:00:00 2001 From: kokuB <43787211+kokuB@users.noreply.github.com> Date: Tue, 2 Oct 2018 22:12:32 +0530 Subject: [PATCH 300/959] Added Try It Online --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d49..90ac74fab 100644 --- a/README.md +++ b/README.md @@ -757,6 +757,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. * [Rise4Fun](http://webcompiler.cloudapp.net/) - Online Visual C++ compiler. +* [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. * [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. ## Debugger From 4b1abb21819b6ee5d5132aef9a79c11cfa8e7feb Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 5 Oct 2018 10:07:01 -0500 Subject: [PATCH 301/959] Memory Allocation Section --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index fd16f1ee6..7fca72bad 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Logging](#logging) - [Machine Learning](#machine-learning) - [Math](#math) + - [Memory Allocation](#memory-allocation) - [Multimedia](#multimedia) - [Networking](#networking) - [PDF](#pdf) @@ -520,6 +521,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] +## Memory Allocation + +* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) +* [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) + + ## Multimedia * [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] From 28fcb39d5b482c4756090bc3193bfad5195debd5 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 8 Oct 2018 17:41:48 +0800 Subject: [PATCH 302/959] Articles: Add CppCon 2018, C++Now 2018 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7fca72bad..6a6a6e3f0 100644 --- a/README.md +++ b/README.md @@ -860,10 +860,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Articles *Fantastic C++ related articles.* +* [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. * [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. * [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. * [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. +* [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. * [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. * [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. * [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. From 4007b9d4a2d5412153c40d61b6608ec7c1e58ccc Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 11 Oct 2018 12:01:46 +0800 Subject: [PATCH 303/959] XML: Add mxml --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a6a6e3f0..362d9e37e 100644 --- a/README.md +++ b/README.md @@ -688,6 +688,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT] * [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT] * [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPL2] +* [Mini-XML](https://github.com/michaelrsweet/mxml) - A small XML parsing library written in ANSI C. [LGPL2 with exceptions] * [PugiXML](http://pugixml.org/) - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT] * [RapidXml](http://rapidxml.sourceforge.net/) - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost] * [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] From b90524e97c514245522f111c9414ca327514d504 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 12 Oct 2018 07:57:35 +0800 Subject: [PATCH 304/959] Scripting: Add LuaBridge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 362d9e37e..592ad31ff 100644 --- a/README.md +++ b/README.md @@ -629,6 +629,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) * [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] +* [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] From 9e890be47faf8c7851d34723279e4a8b6a60e13b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 12 Oct 2018 08:11:14 +0800 Subject: [PATCH 305/959] Compression: Add libarchive --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 592ad31ff..8fa07f5a5 100644 --- a/README.md +++ b/README.md @@ -188,6 +188,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://quickgit.kde.org/?p=karchive.git) - 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/Cyan4973/lz4) - Extremely Fast Compression algorithm. [BSD] * [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. * [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] From f43e7addd99683bbc4fa8336038733cae5d3de05 Mon Sep 17 00:00:00 2001 From: Martin Gaudreault Date: Fri, 12 Oct 2018 11:51:33 -0700 Subject: [PATCH 306/959] Added cpplint to the list of static code analysis tools. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8fa07f5a5..741c78f02 100644 --- a/README.md +++ b/README.md @@ -837,6 +837,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) * [CppDepend](https://www.cppdepend.com/) - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code. +* [cpplint](https://github.com/cpplint/cpplint) - A C++ style checker following Google's C++ style guide. * [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. * [cpp-dependencies](https://github.com/tomtom-international/cpp-dependencies) - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] * [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) From f67d97f701c54ef6acbf065a61feaa6e4a308774 Mon Sep 17 00:00:00 2001 From: niXman Date: Wed, 17 Oct 2018 22:01:59 +0300 Subject: [PATCH 307/959] libhydrogen & YAS added subj --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 741c78f02..82bb881da 100644 --- a/README.md +++ b/README.md @@ -261,6 +261,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library for constrained environments. [ISC] * [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] * [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] +* [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC] * [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] * [mbedTLS](https://github.com/ARMmbed/mbedtls) - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] [website](https://tls.mbed.org/) * [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - A low-level cryptographic library. [LGPL] @@ -649,6 +650,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [protobuf](https://github.com/google/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] +* [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] ## Sorting From 82191f816d1fa954a1a4b1014850a7d0018a55a6 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Thu, 18 Oct 2018 21:57:15 +0200 Subject: [PATCH 308/959] Added meta, a runtime reflection library Added meta: header-only, non-intrusive and macro-free runtime reflection system written in C++17. MIT license. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82bb881da..cdbce5aab 100644 --- a/README.md +++ b/README.md @@ -724,6 +724,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](http://www.libusb.org/) - 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] +* [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From 1a73d41778b355fd0ab36af5a3da46649060b3a6 Mon Sep 17 00:00:00 2001 From: My Name Date: Sat, 20 Oct 2018 23:07:37 +0300 Subject: [PATCH 309/959] added Pixel Game Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cdbce5aab..0eb1a2bb9 100644 --- a/README.md +++ b/README.md @@ -342,6 +342,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) +* [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) * [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) * [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) From a34acfbb4e95df7941a4991d902d049489ce5215 Mon Sep 17 00:00:00 2001 From: Ondrej Kokes Date: Wed, 24 Oct 2018 10:45:49 +0200 Subject: [PATCH 310/959] Added compile time regular expressions A library presented at this year's CppCon https://www.youtube.com/watch?v=QM3W36COnE4 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0eb1a2bb9..efc379174 100644 --- a/README.md +++ b/README.md @@ -598,6 +598,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Regular Expression * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] +* [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] From 0c469a9979d810d9a8269833188710286f716e79 Mon Sep 17 00:00:00 2001 From: Patrick Bos Date: Thu, 25 Oct 2018 13:18:07 +0200 Subject: [PATCH 311/959] Add xtensor --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index efc379174..12a3919f0 100644 --- a/README.md +++ b/README.md @@ -523,6 +523,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] +* [xtensor](https://github.com/QuantStack/xtensor) - A C++14 library for numerical analysis with multi-dimensional +array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://quantstack.net/xtensor) ## Memory Allocation From ac4f203608eb0d919246adb2958e2ab08da2cd4d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 29 Oct 2018 17:45:42 +0800 Subject: [PATCH 312/959] Multimedia: Add TagLib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 12a3919f0..068de96ce 100644 --- a/README.md +++ b/README.md @@ -541,6 +541,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) * [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] * [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) +* [TagLib](https://github.com/taglib/taglib) - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/) ## Networking From 2dbd53ac30e98dcb922190c64ebfbb291e7bcd24 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 30 Oct 2018 13:44:55 +0800 Subject: [PATCH 313/959] add xmake --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 068de96ce..79cf58be3 100644 --- a/README.md +++ b/README.md @@ -839,6 +839,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. * [Vcpkg](https://github.com/microsoft/vcpkg) - VC++ Packaging Tool for Windows. * [waf](https://github.com/waf-project/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) +* [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] ## Static Code Analysis *List of tools for improving quality and reducing defects by code analysis* From 829e151a3a1c6f834ecea8208b4585eb99f8668a Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Tue, 30 Oct 2018 15:06:17 -0700 Subject: [PATCH 314/959] spack was relicensed to dual Apache-2.0/MIT --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 79cf58be3..ef29b1526 100644 --- a/README.md +++ b/README.md @@ -431,7 +431,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] * [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) -* [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) +* [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) * [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] * [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) * [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] @@ -523,7 +523,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] -* [xtensor](https://github.com/QuantStack/xtensor) - A C++14 library for numerical analysis with multi-dimensional +* [xtensor](https://github.com/QuantStack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://quantstack.net/xtensor) ## Memory Allocation @@ -833,7 +833,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. * [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. * [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. -* [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [LGPLv2.1] +* [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. From 7b681b6f2199f38be3744aa2aef6299aa103e4cc Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 1 Nov 2018 12:05:05 +0800 Subject: [PATCH 315/959] Scripting: Add sol2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef29b1526..d3c8eea7b 100644 --- a/README.md +++ b/README.md @@ -641,6 +641,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] +* [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](http://code.google.com/p/v8/) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] From 235fc3aa6c2156066b1f77466b2fc320ec33ea73 Mon Sep 17 00:00:00 2001 From: ensign Curvedhand Date: Thu, 1 Nov 2018 10:28:35 +0300 Subject: [PATCH 316/959] Add OpenXRay engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef29b1526..7637fcc20 100644 --- a/README.md +++ b/README.md @@ -340,6 +340,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) +* [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] From 8f568bfb96668321fc7e65d6aa7ec97418b7c851 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 4 Nov 2018 12:34:19 +0800 Subject: [PATCH 317/959] Graphics: Add TinySpline --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 207eff943..760f8f16c 100644 --- a/README.md +++ b/README.md @@ -394,6 +394,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] * [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] * [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [webpage](https://sites.google.com/site/skiadocs/home) +* [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] * [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] ## Image Processing From c8784222e9685e639f938246c232badac8f07e07 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 4 Nov 2018 12:48:23 +0800 Subject: [PATCH 318/959] Multimedia: Add libav --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 207eff943..479e743d7 100644 --- a/README.md +++ b/README.md @@ -536,6 +536,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Multimedia * [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] +* [libav](https://github.com/libav/libav) - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/) * [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] * [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] * [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] From b83960f7af213e8640b83c7aabb1b170bd7ce24c Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 4 Nov 2018 12:58:41 +0800 Subject: [PATCH 319/959] JSON: Update LIBUCL license info --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 207eff943..cdb74322f 100644 --- a/README.md +++ b/README.md @@ -456,7 +456,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] * [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] * [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] -* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [?] +* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] * [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] * [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] * [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] From f07b811f0f7a2889c67b42d5e133c0d92a66145e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 31 Oct 2018 18:01:09 +0800 Subject: [PATCH 320/959] Serialization: Add upb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fd959b24..fe694574c 100644 --- a/README.md +++ b/README.md @@ -659,6 +659,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [protobuf](https://github.com/google/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] +* [upb](https://github.com/google/upb) - A small protobuf implementation in C. [BSD] * [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] ## Sorting From c197889dfad4d8d50a5bafd164bb719e5ff4b9b1 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 4 Nov 2018 14:25:43 +0800 Subject: [PATCH 321/959] Networking: Add Wangle --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fd959b24..e1c50f00f 100644 --- a/README.md +++ b/README.md @@ -577,6 +577,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] +* [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] From afa25beb6a45c2090af12f41be2cf5041450afbb Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 5 Nov 2018 20:40:34 +0800 Subject: [PATCH 322/959] CLI: Add linenoise --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1de5d48ff..fe180314d 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] + * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] From 365eed7d23f5a2645b65c37e4c2362b4808f133a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 5 Nov 2018 20:47:49 +0800 Subject: [PATCH 323/959] CLI: Add linenoise-ng --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe180314d..b063735e3 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] + * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] From 0d6089e5aeaeddc7a1f8971fb6b26d1699d38574 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 7 Nov 2018 17:39:57 +0800 Subject: [PATCH 324/959] Networking: Add libmicrohttpd --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b063735e3..f91861135 100644 --- a/README.md +++ b/README.md @@ -565,6 +565,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] +* [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] * [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/) * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] From 8db0596b9b02f6256ea746adebf6e24b50c9f34a Mon Sep 17 00:00:00 2001 From: Bo Date: Mon, 12 Nov 2018 23:37:47 -0500 Subject: [PATCH 325/959] Add the facil.io framework The facil.io framework is an evened framework written in C. The framework is used to power the [iodine Ruby server](https://github.com/boazsegev/iodine) which focuses on serving real-time applications. It's MIT licensed and free (as in freedom, as well as - I guess - beer). Visit the [website for more information](http://facil.io). --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f91861135..0e4b13236 100644 --- a/README.md +++ b/README.md @@ -691,6 +691,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] * [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/) +* [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] * [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] From 23a38742302fa95131a3666db096e1758b686cd8 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 14 Nov 2018 17:53:44 +0800 Subject: [PATCH 326/959] IPC: Add Ice to close #390 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0e4b13236..1cf1ca009 100644 --- a/README.md +++ b/README.md @@ -433,6 +433,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] * [Cap'n Proto](http://kentonv.github.io/capnproto/) - Fast data interchange format and capability-based RPC system. [MIT] * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) +* [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] * [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) * [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) From 51afaff37fa5027b24d2a196dc881147de493b3e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 14 Nov 2018 18:04:43 +0800 Subject: [PATCH 327/959] Networking: Add libpcap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0e4b13236..03b0538f5 100644 --- a/README.md +++ b/README.md @@ -566,6 +566,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] * [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] +* [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] * [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/) * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] From e08494a8995824216a07d77a1fbff1a08e032ad1 Mon Sep 17 00:00:00 2001 From: Denis Demidov Date: Fri, 16 Nov 2018 09:23:04 +0300 Subject: [PATCH 328/959] Scientific computing/AMGCL Closes #503 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 41ae8d9ea..0e4510a9b 100644 --- a/README.md +++ b/README.md @@ -626,6 +626,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Scientific Computing +* [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] * [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] * [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) From 7338081e35d2195b87d1f969bcd021b0a249a7e3 Mon Sep 17 00:00:00 2001 From: Yohanan Baruchel Date: Fri, 16 Nov 2018 12:15:05 +0200 Subject: [PATCH 329/959] Move "DynaPDF" from Misc to PDF --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41ae8d9ea..d5b67f702 100644 --- a/README.md +++ b/README.md @@ -594,6 +594,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] * [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] +* [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] ## Physics *Dynamics simulation engines* @@ -731,7 +732,6 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [c-smart-pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] -* [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] From 7df032267ab51329a1420b8ad0830a5778bcce87 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 14 Nov 2018 21:35:40 +0800 Subject: [PATCH 330/959] Concurrency: Add libdispatch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68438c92d..925911713 100644 --- a/README.md +++ b/README.md @@ -225,6 +225,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] * [libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT] +* [libdispatch](https://github.com/apple/swift-corelibs-libdispatch) - Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] [website](https://apple.github.io/swift-corelibs-libdispatch/) * [libmill](https://github.com/sustrik/libmill/) - Introduces Go-style concurrency in C. [MIT] * [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] From 33f4e20daf62bb96d3b4824fc513f9223f989783 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 19 Nov 2018 08:28:54 +0800 Subject: [PATCH 331/959] Database: Add sqlpp11 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 925911713..e2cc6c7ba 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] * [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] * [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [BSD-3-Clause] +* [sqlpp11](https://github.com/rbock/sqlpp11) - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] From 0c739b7b1be4044142f22d041025c402324e65af Mon Sep 17 00:00:00 2001 From: b1shal711 <44868884+b1shal711@users.noreply.github.com> Date: Tue, 20 Nov 2018 14:25:31 +0530 Subject: [PATCH 332/959] Update books.md --- books.md | 1 + 1 file changed, 1 insertion(+) diff --git a/books.md b/books.md index 8cf2bd1f6..0e37919a6 100644 --- a/books.md +++ b/books.md @@ -40,3 +40,4 @@ * [The Rook's Guide to C++](http://rooksguide.org/2013/11/26/version-1-0-is-out/) (PDF) * [Thinking in C++, Second Edition, Vol. 1.](http://www.mindviewinc.com/downloads/TICPP-2nd-ed-Vol-one.zip) [(Vol. 2)](http://www.mindviewinc.com/downloads/TICPP-2nd-ed-Vol-two.zip) - Bruce Eckel * Also see: [The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/511601) +* [Object Oriented Programmming](https://www.javatpoint.com/cpp-oops-concepts) From a51816c2045a702ae6300c958a93647ec8ab2817 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 19 Nov 2018 18:19:20 +0800 Subject: [PATCH 333/959] Graphics: Add assimp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2cc6c7ba..22334232c 100644 --- a/README.md +++ b/README.md @@ -378,6 +378,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Graphics +* [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) * [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] * [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] From e109262554316cd94f24563896fcb95ab87e5f00 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 22 Nov 2018 07:49:33 +0800 Subject: [PATCH 334/959] Serialization: Add Bond --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 22334232c..094cae288 100644 --- a/README.md +++ b/README.md @@ -663,6 +663,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Serialization +* [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] From 9cff31e21f05e1856eace90de6b51ca1df050066 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 24 Nov 2018 21:09:53 +0800 Subject: [PATCH 335/959] IPC: Add rpclib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 094cae288..e64cd220d 100644 --- a/README.md +++ b/README.md @@ -440,6 +440,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] * [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) * [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) +* [rpclib](https://github.com/rpclib/rpclib) - A modern C++ msgpack-RPC server and client library. [MIT] * [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] * [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) * [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] From 4c5653cb07cae61f6b51b1959e3dfe699c68476d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 24 Nov 2018 21:18:49 +0800 Subject: [PATCH 336/959] JSON: Add sajson --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 094cae288..ea15266dd 100644 --- a/README.md +++ b/README.md @@ -468,6 +468,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] * [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] * [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] +* [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] * [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] From 3140e3df32257703e7fe3e58f31895b8d905cb2f Mon Sep 17 00:00:00 2001 From: Muttley Date: Mon, 26 Nov 2018 18:28:44 +0100 Subject: [PATCH 337/959] gettext: fix quotation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e2eb16124..7f8ab61b5 100644 --- a/README.md +++ b/README.md @@ -426,7 +426,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Internationalization -* [gettext](http://www.gnu.org/software/gettext/) - GNU `gettext'. [GPL2] +* [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] * [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] * [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] From b86291ce3985ae1a8a2b4437f464c9ca1e594880 Mon Sep 17 00:00:00 2001 From: Muttley Date: Mon, 26 Nov 2018 18:33:19 +0100 Subject: [PATCH 338/959] Coding Style Tools: Add Artistic Style --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2eb16124..9b620b276 100644 --- a/README.md +++ b/README.md @@ -877,6 +877,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Coding Style Tools +* [Artistic Style](http://astyle.sourceforge.net/) - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle. * [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. * [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. * [Uncrustify](https://github.com/bengardner/uncrustify) - Code beautifier. From caeba480a7a728d6a6d84de6322cd7a713309785 Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Sat, 14 Oct 2017 10:04:58 +0300 Subject: [PATCH 339/959] Add stb-image link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f8de59d8d..cb8d5315f 100644 --- a/README.md +++ b/README.md @@ -418,6 +418,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] +* [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] * [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] * [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] * [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] From a5e24cc90a1286da46ef54d801d70cb29628416d Mon Sep 17 00:00:00 2001 From: Colin Hirsch Date: Mon, 19 Jan 2015 21:42:20 +0100 Subject: [PATCH 340/959] Add PEGTL to Miscellaneous section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cb8d5315f..a0752a832 100644 --- a/README.md +++ b/README.md @@ -751,6 +751,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] +* [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] From 16fda2b07000fb2e1ea5ab42a82b6aac252a9749 Mon Sep 17 00:00:00 2001 From: Josh Engebretson Date: Sun, 22 Mar 2015 17:38:04 -0700 Subject: [PATCH 341/959] Adding Atomic Game Engine to Game Engines --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0752a832..118b6b169 100644 --- a/README.md +++ b/README.md @@ -336,6 +336,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] +* [Atomic Game Engine](https://github.com/AtomicGameEngine/AtomicGameEngine) - A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. [Commercial] * [Banshee 3D](https://github.com/BearishSun/BansheeEngine) - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. [LGPL3/Commercial] * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] From ef4cb8072cffd049834ee798e01c6b2456c8001b Mon Sep 17 00:00:00 2001 From: Leonid Stryzhevskyi Date: Sat, 13 Oct 2018 23:37:35 +0300 Subject: [PATCH 342/959] oatpp web-framework added to the list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 118b6b169..409592a07 100644 --- a/README.md +++ b/README.md @@ -707,6 +707,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] * [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] +* [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) * [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) From f30d78911fc6951b3e377dafde14e0d726c84ad0 Mon Sep 17 00:00:00 2001 From: andy5995 Date: Mon, 3 Dec 2018 14:58:44 -0600 Subject: [PATCH 343/959] add .travis.yml with awesome_bot closes #166 separate files with a space --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..1be4c06d8 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,3 @@ +language: ruby +before_script: gem install awesome_bot +script: awesome_bot -f README.md, books.md, minor.md, videos.md --allow-redirect --skip-save-results From c67270a9ddbf7b618f067a38a04123f864e739b6 Mon Sep 17 00:00:00 2001 From: Borislav Stanimirov Date: Tue, 11 Dec 2018 02:49:47 +0200 Subject: [PATCH 344/959] Added DynaMix (#373) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 409592a07..d78ff124e 100644 --- a/README.md +++ b/README.md @@ -736,6 +736,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] From a0e3914423c5231b2b481ddd9c1c71a6dbea53c8 Mon Sep 17 00:00:00 2001 From: Sergey Podobry Date: Tue, 19 May 2015 15:36:44 +0300 Subject: [PATCH 345/959] Update plog description. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d78ff124e..32a5c8577 100644 --- a/README.md +++ b/README.md @@ -485,7 +485,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] * [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] -* [plog](https://github.com/SergiusTheBest/plog) - Portable and simple C++ logging library. [MPL2] +* [plog](https://github.com/SergiusTheBest/plog) - Portable and simple log for C++ in less than 1000 lines of code. [MPL2] * [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] * [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. * [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] From 65d27fc8d8f67554e81f0434d9be81e60ecfe81b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 11 Dec 2018 21:33:14 +0800 Subject: [PATCH 346/959] Partially revert #410 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 32a5c8577..b2c3614ee 100644 --- a/README.md +++ b/README.md @@ -845,7 +845,6 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] -* [cget](https://github.com/pfultz2/cget) - Cmake package retrieval used to download and install cmake packages. [Boost] * [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] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. From 3e20e656c89341073581d17caf252bb9bc2db80c Mon Sep 17 00:00:00 2001 From: Paul Fultz II Date: Fri, 24 Feb 2017 20:37:01 -0600 Subject: [PATCH 347/959] Add a link to cget --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b2c3614ee..16d550014 100644 --- a/README.md +++ b/README.md @@ -848,6 +848,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [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] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. +* [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) * [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. * [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. From f34a9b8ff5f821fd0b3f05a2c1f6ec462199ea26 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 11 Dec 2018 21:37:31 +0800 Subject: [PATCH 348/959] Sorting: Add pdqsort --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 16d550014..4401a1504 100644 --- a/README.md +++ b/README.md @@ -680,6 +680,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Sorting +* [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] * [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] ## Video @@ -753,7 +754,6 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [libusb](http://www.libusb.org/) - 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] * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] -* [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From 00475c4c253af80e8d59c2a3a11011ed39350160 Mon Sep 17 00:00:00 2001 From: Fabio Pellacini Date: Tue, 11 Dec 2018 17:09:34 +0100 Subject: [PATCH 349/959] Added Yocto/GL graphics library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4401a1504..151a8b338 100644 --- a/README.md +++ b/README.md @@ -402,6 +402,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [webpage](https://sites.google.com/site/skiadocs/home) * [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] * [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] +* [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] ## Image Processing From d15e22b82dd4b1f0dc9f02374d0dce81c13bb5ce Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 12 Dec 2018 20:59:41 +0800 Subject: [PATCH 350/959] Physics: Add Project Chrono --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 151a8b338..785f2dc08 100644 --- a/README.md +++ b/README.md @@ -614,6 +614,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] * [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] +* [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [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] ## Regular Expression From 525c347ee9fedcc4982656ec1869d1ee4bf16992 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 12 Dec 2018 21:03:26 +0800 Subject: [PATCH 351/959] Physics: Add PhysX --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 785f2dc08..559866a21 100644 --- a/README.md +++ b/README.md @@ -614,6 +614,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] * [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] +* [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] From 70f154099a4fe33791fa5b73631850971bef6024 Mon Sep 17 00:00:00 2001 From: Peter Steinbach Date: Wed, 12 Dec 2018 14:09:23 +0100 Subject: [PATCH 352/959] added x265 (#628) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 559866a21..d99f7623e 100644 --- a/README.md +++ b/README.md @@ -691,6 +691,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD] * [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2] * [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) +* [x265](https://bitbucket.org/multicoreware/x265/wiki/Home) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/default/) * [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) * [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] * [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] From 3f36662704bd55e169f4d8768cf94f6c085c540e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 20 Dec 2018 17:47:19 +0800 Subject: [PATCH 353/959] Networking: Add c-ares --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d99f7623e..a0c708f3c 100644 --- a/README.md +++ b/README.md @@ -564,6 +564,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] +* [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] From abbbe71122dfedbaf1a54a737376010238a2bbcc Mon Sep 17 00:00:00 2001 From: MambaWong Date: Thu, 20 Dec 2018 17:57:21 +0800 Subject: [PATCH 354/959] CxImag's link is no longer valid CxImag's link is no longer valid --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a0c708f3c..e2a4586d2 100644 --- a/README.md +++ b/README.md @@ -408,7 +408,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] -* [CxImage](http://www.xdp.it/cximage.htm) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] +* [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] * [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) * [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. From 209ac5dd89b17191926c0e0eff7e657f8848bd60 Mon Sep 17 00:00:00 2001 From: MambaWong Date: Thu, 20 Dec 2018 18:08:21 +0800 Subject: [PATCH 355/959] Add a C++ image processing library: 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. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2a4586d2..46a1815cb 100644 --- a/README.md +++ b/README.md @@ -420,6 +420,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] +* [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] * [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] * [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] * [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] From 49639ed8ae1ea47aac3668cb1ccfaefadf8ef7ff Mon Sep 17 00:00:00 2001 From: MambaWong Date: Fri, 21 Dec 2018 13:48:37 +0800 Subject: [PATCH 356/959] Add MXNet MXNet: A flexible and efficient library for deep learning. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 46a1815cb..6fa56e590 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,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) * [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] * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] From e0ec75c81a600ce795c2971a23fa9c4e83127702 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 21 Dec 2018 17:51:47 +0800 Subject: [PATCH 357/959] Networking: Add PicoHTTPParser --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 46a1815cb..e18ddc81f 100644 --- a/README.md +++ b/README.md @@ -585,6 +585,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) * [nope.c](https://github.com/riolet/nope.c) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] +* [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) * [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] From 75e3dbfcf98382f86792c33479648c7da49d518d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 21 Dec 2018 18:02:21 +0800 Subject: [PATCH 358/959] Regex: Add sregex --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e18ddc81f..315bad096 100644 --- a/README.md +++ b/README.md @@ -628,6 +628,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] +* [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] ## Robotics From 00ce907d704041cf353f988ef51f8513663f4163 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 21 Dec 2018 18:06:04 +0800 Subject: [PATCH 359/959] JSON: Add Jsmn --- README.md | 1 + todo.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 315bad096..e91d8528f 100644 --- a/README.md +++ b/README.md @@ -457,6 +457,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] * [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] * [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] +* [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] * [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] diff --git a/todo.txt b/todo.txt index 1b96fa415..5b1c4c657 100644 --- a/todo.txt +++ b/todo.txt @@ -18,7 +18,6 @@ http://www.cs.colorado.edu/~main/cs1300/doc/bgi/ https://www.enlightenment.org/p.php?p=about/efl https://github.com/stefanct/sglib -https://bitbucket.org/zserge/jsmn/wiki/Home http://itpp.sourceforge.net/ http://www.catb.org/esr/structure-packing/ From 39cddb5cd4b3f03c4d4fe4936d826587d5309364 Mon Sep 17 00:00:00 2001 From: MambaWong Date: Sun, 23 Dec 2018 09:13:27 +0800 Subject: [PATCH 360/959] Remove Caffe2 All code in this repository has been removed. And the Caffe2 Source code now lives in the [PyTorch](https://github.com/pytorch/pytorch) repository. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d4f087d10..df3273bce 100644 --- a/README.md +++ b/README.md @@ -498,7 +498,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Machine Learning * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] -* [Caffe2](https://github.com/caffe2/caffe2) - A lightweight, modular, and scalable deep learning framework. [Apache2] [website](https://caffe2.ai/) * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) From e4527e99a819d9841c218fa0124bd5033c294530 Mon Sep 17 00:00:00 2001 From: MambaWong Date: Sun, 23 Dec 2018 09:22:27 +0800 Subject: [PATCH 361/959] Add PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df3273bce..3fad632b4 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [frugally-deep](https://github.com/Dobiasd/frugally-deep) - Header-only library for using Keras models in C++. [MIT] * [Genann](https://github.com/codeplea/genann) - Simple neural network library in C. [zlib] * [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) +* [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) * [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] * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] From 5fe9ca12e0dab052151da42e98d2b159f2bd8e1a Mon Sep 17 00:00:00 2001 From: Dendi Suhubdy Date: Sun, 23 Dec 2018 08:46:22 +0700 Subject: [PATCH 362/959] adding Wav2Letter++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4f087d10..de022cea1 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense] * [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] * [minimp3](https://github.com/lieff/minimp3) - Public domain, header-only MP3 decoder with clean-room implementation. [CC0] +* [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency [BSD] ## Biology *Bioinformatics, Genomics, Biotech* From f33ccddebdc7b69b05434bd010d0d981f93cc7d2 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 24 Dec 2018 19:40:37 +0800 Subject: [PATCH 363/959] Database: Add SOCI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 528ccd138..b94e0770b 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] +* [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [BSL-1.0] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] * [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] From f72b0377850b2487c3be03eda24fc53362e0ce26 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 29 Dec 2018 17:41:20 +0800 Subject: [PATCH 364/959] Serialization: Add nanopb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b94e0770b..ddb5894ed 100644 --- a/README.md +++ b/README.md @@ -683,6 +683,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) +* [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] * [protobuf](https://github.com/google/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] From 9218b02450fdedbd3b969198a004d00d7aed67aa Mon Sep 17 00:00:00 2001 From: "Alexander \"Ananace\" Olofsson" Date: Mon, 31 Dec 2018 04:44:04 +0100 Subject: [PATCH 365/959] Scripting: Add AngelScript (#636) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ddb5894ed..59e336c3e 100644 --- a/README.md +++ b/README.md @@ -654,6 +654,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Scripting +* [AngelScript](https://www.angelcode.com/angelscript/) - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] * [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] * [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] * [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] From 1962421f286c347ceffef4712133cb2d386035b4 Mon Sep 17 00:00:00 2001 From: "Davis E. King" Date: Mon, 31 Dec 2018 22:16:37 -0500 Subject: [PATCH 366/959] Added dlib to more topically relevant sections (#434) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 59e336c3e..215703e56 100644 --- a/README.md +++ b/README.md @@ -413,6 +413,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] * [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) * [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. @@ -502,6 +503,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] @@ -523,6 +525,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] * [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) From 07c0a23db48c64b6942d8896a171eed768a616a0 Mon Sep 17 00:00:00 2001 From: Mahmoud Adas Date: Sat, 5 Jan 2019 03:36:23 +0200 Subject: [PATCH 367/959] V8 engine link redirects to issues page (#638) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 215703e56..ae1e3a70a 100644 --- a/README.md +++ b/README.md @@ -677,7 +677,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] -* [V8](http://code.google.com/p/v8/) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] +* [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] * [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] ## Serialization From b34eaee6d6d56785a5336912f52c04a23850e3c7 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 7 Jan 2019 18:00:31 +0800 Subject: [PATCH 368/959] Memory Allocation: Add bdwgc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ae1e3a70a..3aa2fb56f 100644 --- a/README.md +++ b/README.md @@ -549,6 +549,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Memory Allocation +* [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) * [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) * [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) From fa15e9069c3c183311a3553bd6b5f36553a7cab6 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 12 Jan 2019 15:06:54 +0800 Subject: [PATCH 369/959] Image Processing: Add libjpeg-turbo --- README.md | 1 + todo.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3aa2fb56f..0dee80cc8 100644 --- a/README.md +++ b/README.md @@ -419,6 +419,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] +* [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [Magick++](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C++. [Apache2] * [MagickWnd](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C. [Apache2] diff --git a/todo.txt b/todo.txt index 5b1c4c657..51472a653 100644 --- a/todo.txt +++ b/todo.txt @@ -219,7 +219,6 @@ https://github.com/munificent/game-programming-patterns http://libcxx.llvm.org/ http://www.ijg.org/ -http://sourceforge.net/projects/libjpeg-turbo/ http://libpng.org/ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html https://code.google.com/p/sfntly/ From bb81f8f8cc872de9d2913246548f32854deb028d Mon Sep 17 00:00:00 2001 From: akshett Date: Sat, 12 Jan 2019 23:18:12 -0500 Subject: [PATCH 370/959] Added lp_solve library to the list in Math section (#647) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0dee80cc8..da7bf3628 100644 --- a/README.md +++ b/README.md @@ -538,6 +538,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [NT2](https://github.com/Mathieu-/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] +* [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) * [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) From c77133bdf4b54d19303c0187976fca32cf5f7a36 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 16 Jan 2019 21:09:39 +0800 Subject: [PATCH 371/959] Misc: Update libusb to close #519 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index da7bf3628..3395f7679 100644 --- a/README.md +++ b/README.md @@ -771,7 +771,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] -* [libusb](http://www.libusb.org/) - A universal USB library which allows for portable access to USB devices. [LGPL2] +* [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] * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] From 40d01f3b39169981229b801e5f364a858f70eb4b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 21 Jan 2019 20:46:01 +0800 Subject: [PATCH 372/959] Debug: Add libcheck --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3395f7679..336907072 100644 --- a/README.md +++ b/README.md @@ -311,6 +311,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] * [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] +* [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] * [Catch](https://github.com/philsquared/Catch) - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost] * [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] From e21640c85fbf05cb92507603dec3e0563012ee4e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 21 Jan 2019 21:04:21 +0800 Subject: [PATCH 373/959] Math: Update Armadillo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 336907072..7b131597b 100644 --- a/README.md +++ b/README.md @@ -521,7 +521,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Math * [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] -* [Armadillo](https://github.com/conradsnicta/armadillo-code/) - A high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use. The syntax (API) is deliberately similar to Matlab. [MPL2] [website](http://arma.sourceforge.net/) +* [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] * [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] From 694f50fe6dc3102242e1338537fd5d269aec257b Mon Sep 17 00:00:00 2001 From: Git Admin Date: Tue, 22 Jan 2019 11:59:07 -0300 Subject: [PATCH 374/959] cxxomfort library description updated with a more general scope --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b131597b..28411632a 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] -* [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] +* [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library. [MIT] From 5a0f5dc6104d940a59c14a995cfd6b198ca8574c Mon Sep 17 00:00:00 2001 From: Alexander Damian Date: Wed, 6 Feb 2019 19:06:13 -0500 Subject: [PATCH 375/959] Added Quantum coroutine library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28411632a..fe8bf9c61 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] +* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). ## Containers From 8f1d45c6b9512c5b54edd01c78c00dd4086b8ca3 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 14 Feb 2019 18:32:21 +0800 Subject: [PATCH 376/959] Memory Allocation: Add memory --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe8bf9c61..dc2f9a24f 100644 --- a/README.md +++ b/README.md @@ -556,6 +556,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) * [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) * [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) +* [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] ## Multimedia From 50033fc46aa4b06d2ac74bd870ef91ae1afe769f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 14 Feb 2019 18:47:37 +0800 Subject: [PATCH 377/959] CLI: Add Clara Fix #408 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dc2f9a24f..072dfe375 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] From c823f9805f37b3f7b73cca2808c492a17ca5f004 Mon Sep 17 00:00:00 2001 From: seladb Date: Fri, 15 Feb 2019 11:48:09 -0800 Subject: [PATCH 378/959] Networking: Add PcapPlusPlus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 072dfe375..f952c2d4b 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] +* [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] ## PDF *Libraries for parsing and manipulating PDF documents.* From 1dee76b02f4911d9c706a22a5c19cdb9f947a702 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 16 Feb 2019 20:20:49 -0600 Subject: [PATCH 379/959] Update LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index ab90c67b0..e5aa24a97 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ - Copyright (C) 2014-2017 Faraz Fallahi + Copyright (C) 2014-2019 Faraz Fallahi THE LIST IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES. From 7eb483dd0171b81207436c9eec439924e1268351 Mon Sep 17 00:00:00 2001 From: yhirose Date: Sat, 16 Feb 2019 22:16:07 -0500 Subject: [PATCH 380/959] Networking: Add cpp-httplib (#670) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f952c2d4b..de3f6edbf 100644 --- a/README.md +++ b/README.md @@ -580,6 +580,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] * [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] +* [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS sever library. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] From ae9b99070a6cbdc5adc71baed0d057121b854fc3 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 24 Feb 2019 16:19:19 +0800 Subject: [PATCH 381/959] Regex: Add Oniguruma --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de3f6edbf..4b1d10cee 100644 --- a/README.md +++ b/README.md @@ -641,6 +641,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] * [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] +* [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] From 6f80a6427e2c06ac062f364ea5dbfdc918750c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20D=C3=BCrrenberger?= Date: Mon, 25 Feb 2019 11:18:12 +0100 Subject: [PATCH 382/959] Added Halley game engine Fixes #680 Game engine heavily based on a entity-component system. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b1d10cee..b85da2636 100644 --- a/README.md +++ b/README.md @@ -351,6 +351,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] +* [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] From cab320343170e9e118e06380a626a9885407d9d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20D=C3=BCrrenberger?= Date: Tue, 5 Mar 2019 15:45:55 +0100 Subject: [PATCH 383/959] Updated the miniz link and adjusted the license Google Code has been shutdown for a while, miniz has been continued on GitHub. Due to adding ZIP64 support, which came from valve's vogl project, the license was changed to MIT. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b85da2636..15df868e7 100644 --- a/README.md +++ b/README.md @@ -200,7 +200,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] * [LZMA](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] * [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL] -* [miniz](https://code.google.com/p/miniz/) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [Unlicense] +* [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] * [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] From ba4c7261939ed153c3c094f89dea3046134646f1 Mon Sep 17 00:00:00 2001 From: Jacob Kahn Date: Tue, 5 Mar 2019 14:25:07 -0800 Subject: [PATCH 384/959] Machine learning: add flashlight library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 15df868e7..7a513a709 100644 --- a/README.md +++ b/README.md @@ -510,6 +510,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) +* [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) From 0534b6e62eeebd397bd1a5adef37a315c5cf4aec Mon Sep 17 00:00:00 2001 From: David Reid Date: Thu, 7 Mar 2019 20:25:03 +1000 Subject: [PATCH 385/959] mini_al to miniaudio mini_al has been rebranded to miniaudio. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a513a709..0cad9e351 100644 --- a/README.md +++ b/README.md @@ -139,8 +139,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] -* [mini_al](https://github.com/dr-soft/mini_al) - Single file audio playback and capture library. [Unlicense] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] +* [miniaudio](https://github.com/dr-soft/miniaudio) - Single file audio playback and capture library. [Unlicense] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] * [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] * [SoLoud](https://github.com/jarikomppa/soloud) - Easy, portable audio engine for games. [zlib] From fc7d59cadfd197e3ed8b4085ffd2006147b7abbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20D=C3=BCrrenberger?= Date: Sat, 9 Mar 2019 17:46:29 +0100 Subject: [PATCH 386/959] Containers: Added the Forest library Forest is a template library implementing an AVL, a Binary Search, a KD and a Quad Tree. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0cad9e351..ad1a1faf2 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) +* [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] From b0ae5c128542afc85979ec4deb7836533782a235 Mon Sep 17 00:00:00 2001 From: Bhupesh-V Date: Sun, 10 Mar 2019 21:14:34 +0530 Subject: [PATCH 387/959] added 8 new weblogs --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index ad1a1faf2..b07525d62 100644 --- a/README.md +++ b/README.md @@ -1008,6 +1008,14 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Paul Fultz II's Blog](http://pfultz2.com/blog/) * [ridiculousfish](http://ridiculousfish.com/blog/posts/will-it-optimize.html) - Will It Optimize? * [Embedded in Academia](http://blog.regehr.org/) +* [Simplify C++](https://arne-mertz.de/) +* [Fluent C++](https://www.fluentcpp.com/) +* [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) +* [Kenny Kerr](https://kennykerr.ca/articles/) +* [Sutter’s Mill](https://herbsutter.com/gotw/) +* [thoughts on cpp](https://thoughts-on-cpp.com/) +* [Vorbrodt's C++ Blog](https://vorbrodt.blog/) +* [foonathan::blog()](https://foonathan.net/index.html) ## Other Awesome Projects *Collection of useful codes, snippets, ...* From 4287866abaad15c3e78115dea4a65bea5c2a7648 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 12 Mar 2019 12:31:01 +0800 Subject: [PATCH 388/959] Build System: Update vcpkg description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b07525d62..019fd5ef7 100644 --- a/README.md +++ b/README.md @@ -891,7 +891,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. -* [Vcpkg](https://github.com/microsoft/vcpkg) - VC++ Packaging Tool for Windows. +* [Vcpkg](https://github.com/microsoft/vcpkg) - C++ library manager for Windows, Linux, and MacOS. [MIT] * [waf](https://github.com/waf-project/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) * [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] From 2f98e328c133da0dc9c7bae623785a79ba79962d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 12 Mar 2019 12:54:04 +0800 Subject: [PATCH 389/959] Networking: Add restclient-cpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 019fd5ef7..8f5a32c70 100644 --- a/README.md +++ b/README.md @@ -607,6 +607,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) * [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] +* [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] * [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] From 28dea05b8dcec67d14cf8723fdf33302838ded98 Mon Sep 17 00:00:00 2001 From: Bhupesh-V Date: Thu, 14 Mar 2019 16:18:25 +0530 Subject: [PATCH 390/959] added stl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f5a32c70..ea4cb9278 100644 --- a/README.md +++ b/README.md @@ -1024,6 +1024,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. * [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. * [C++ Awesome Pack](https://github.com/juniandotnet/cpp-awesome-pack) - Contains some awesome c++ codes, packed in one. +* [30 Seconds of C++](https://github.com/Bhupesh-V/30-seconds-of-cpp) # Other Awesome Lists *Other amazingly awesome lists* From 0c641bdc9e46a443a6ca456a41d3619d61452904 Mon Sep 17 00:00:00 2001 From: Gabriel Galli Date: Thu, 14 Mar 2019 10:57:19 -0300 Subject: [PATCH 391/959] Added CppChat to list of podcasts --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f5a32c70..a80295428 100644 --- a/README.md +++ b/README.md @@ -963,6 +963,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Podcasts * [CppCast](http://cppcast.com) - The first podcast by C++ developers for C++ developers. +* [CppChat](cpp.chat) - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community. ## Talks From 38c9c415841c517cd804ecced14cea6ee74e76db Mon Sep 17 00:00:00 2001 From: Gabriel Galli Date: Thu, 14 Mar 2019 10:59:06 -0300 Subject: [PATCH 392/959] Fixed CppChat URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a80295428..22c9e8428 100644 --- a/README.md +++ b/README.md @@ -963,7 +963,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Podcasts * [CppCast](http://cppcast.com) - The first podcast by C++ developers for C++ developers. -* [CppChat](cpp.chat) - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community. +* [CppChat](http://cpp.chat) - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community. ## Talks From 0a8f5c3a984e02f13a0f7fce5e565f973e54bbe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?WebFolder=20O=C3=9C?= Date: Thu, 14 Mar 2019 23:02:55 +0300 Subject: [PATCH 393/959] Added restinio --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 16210e4bb..92dc99841 100644 --- a/README.md +++ b/README.md @@ -582,6 +582,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] +* [Restinio](https://github.com/Stiffstream/restinio) - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD] * [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] * [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS sever library. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] From d7c4ecd4d22e643423407880c005a78bfcd619d8 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 15 Mar 2019 11:08:16 -0500 Subject: [PATCH 394/959] Add libfacedetection. Closes #704 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 92dc99841..59da5ca6d 100644 --- a/README.md +++ b/README.md @@ -424,6 +424,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] +* [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [Magick++](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C++. [Apache2] From f7a5f08de25b4999f1fc4071b73c23354f0b8427 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 17 Mar 2019 12:30:30 +0800 Subject: [PATCH 395/959] Multimedia: Add libass (fix #650) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59da5ca6d..5aa79c66f 100644 --- a/README.md +++ b/README.md @@ -567,6 +567,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua ## Multimedia * [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] +* [libass](https://github.com/libass/libass) - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] * [libav](https://github.com/libav/libav) - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/) * [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] * [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] From b0811f4f60ec0004619c1ddabb0cd2e8b2aa5640 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 17 Mar 2019 12:55:35 +0800 Subject: [PATCH 396/959] Networking: Add cpp-netlib/uri (fix #700) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5aa79c66f..63b95097d 100644 --- a/README.md +++ b/README.md @@ -588,6 +588,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] * [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS sever library. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] +* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] From 7bc52883ef7d27d217d055201f1e62ccad338c3e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 17 Mar 2019 13:06:27 +0800 Subject: [PATCH 397/959] Networking: Add uriparser (fix #639) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63b95097d..45018d779 100644 --- a/README.md +++ b/README.md @@ -615,6 +615,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] * [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [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] * [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] From 7812c9da1f411400f8d0b99d60a71c6622983690 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 17 Mar 2019 13:13:01 +0800 Subject: [PATCH 398/959] Math: Add SymEngine (fix #675) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 45018d779..0552c54f2 100644 --- a/README.md +++ b/README.md @@ -549,6 +549,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) +* [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] * [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). From a96dd26d97abc61dac59263d2821127049956fa2 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Tue, 19 Mar 2019 01:40:30 +0100 Subject: [PATCH 399/959] Add libsndfile (#709) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0552c54f2..97c02b813 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] +* [libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] * [miniaudio](https://github.com/dr-soft/miniaudio) - Single file audio playback and capture library. [Unlicense] From a615abd1ae7253e8381f081b4f5b396d7f8c6783 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 20 Mar 2019 09:29:44 -0500 Subject: [PATCH 400/959] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 97c02b813..9433ab44f 100644 --- a/README.md +++ b/README.md @@ -1056,4 +1056,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. # Contributing -Please see [CONTRIBUTING](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. +Please take a quick gander at the [contribution guidelines](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. +Thanks to all [contributors](https://github.com/fffaraz/awesome-cpp/graphs/contributors); you rock! + +#### *If you see a project or link here that is no longer maintained or is not a good fit, please submit a pull request to improve this document. Thank you!* From 59a75a3e1b8f77b63ca9d445215836f90631402b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?WebFolder=20O=C3=9C?= Date: Thu, 21 Mar 2019 10:15:14 +0300 Subject: [PATCH 401/959] Added iup gui library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 92dc99841..723ad39ba 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] * [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] * [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] +* [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] * [libRocket](http://librocket.com/) - libRocket is a C++ HTML/CSS game interface middleware. [MIT] * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] From ee8aa76ae128993dd8af735bc40c6a6eb0aad996 Mon Sep 17 00:00:00 2001 From: Daniil Goncharov Date: Fri, 22 Mar 2019 10:02:37 +0500 Subject: [PATCH 402/959] Add nameof --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index af2df37fb..999f6ab05 100644 --- a/README.md +++ b/README.md @@ -793,6 +793,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [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] * [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) - Nameof operator for modern C++. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From 4c391d30c1a5236a8fb1e6426221edd4c3b36087 Mon Sep 17 00:00:00 2001 From: Daniil Goncharov Date: Fri, 22 Mar 2019 10:04:28 +0500 Subject: [PATCH 403/959] Update nameof --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 999f6ab05..765881654 100644 --- a/README.md +++ b/README.md @@ -793,7 +793,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [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] * [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) - Nameof operator for modern C++. [MIT] +* [Nameof](https://github.com/Neargye/nameof) - A header only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro and enum. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From 8b98c385090c232bda0bc2a6a82085936408f659 Mon Sep 17 00:00:00 2001 From: Daniil Goncharov Date: Mon, 25 Mar 2019 15:27:15 +0500 Subject: [PATCH 404/959] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 765881654..3a4ee7391 100644 --- a/README.md +++ b/README.md @@ -793,7 +793,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [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] * [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) - A header only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro and enum. [MIT] +* [Nameof](https://github.com/Neargye/nameof) - A header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From 0aaa81c4081b7b9751a08ded5cb94e17ae51c3be Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 20 Jan 2016 12:11:20 -0800 Subject: [PATCH 405/959] Update README URLs based on HTTP redirects (#188) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3a4ee7391..518172afc 100644 --- a/README.md +++ b/README.md @@ -608,7 +608,6 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] * [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) -* [nope.c](https://github.com/riolet/nope.c) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] * [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) @@ -620,6 +619,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] * [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] +* [WAFer](https://github.com/riolet/WAFer) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] @@ -918,7 +918,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) * [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. * [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. -* [List of tools for static code analysis](http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. +* [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. ## Coding Style Tools From 5ce0f1a423134e683a776179301b1c6ed376e9ad Mon Sep 17 00:00:00 2001 From: Axel Menzel Date: Sat, 23 Jan 2016 15:09:58 +0100 Subject: [PATCH 406/959] added section for reflection libs (#189) --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 518172afc..446ca5a44 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Networking](#networking) - [PDF](#pdf) - [Physics](#physics) + - [Reflection](#reflection) - [Regular Expression](#regular-expression) - [Robotics](#robotics) - [Scientific Computing](#scientific-computing) @@ -649,6 +650,15 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [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] +## Reflection + +* [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) +* [clReflect](https://bitbucket.org/dwilliamson/clreflect) - C++ Reflection using clang. [MIT] +* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) +* [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] +* [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] +* [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) + ## Regular Expression * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] From 9f55e00fbf97aaf326367a8246e9b45608058604 Mon Sep 17 00:00:00 2001 From: Liam Bindle Date: Fri, 29 Mar 2019 23:06:18 -0300 Subject: [PATCH 407/959] Added MQTT-C (#599) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 446ca5a44..5eacdc7a7 100644 --- a/README.md +++ b/README.md @@ -607,6 +607,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] * [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/) * [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) * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] * [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] From ea1ff1d83bb67cd14954202cc42a890b44e2b6f0 Mon Sep 17 00:00:00 2001 From: Alex M Date: Tue, 5 Jul 2016 16:56:33 -0400 Subject: [PATCH 408/959] Added PortAudio library (fix #175) (#248) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5eacdc7a7..661f3e08d 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] * [miniaudio](https://github.com/dr-soft/miniaudio) - Single file audio playback and capture library. [Unlicense] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] +* [PortAudio](http://www.portaudio.com/) - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT] * [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] * [SoLoud](https://github.com/jarikomppa/soloud) - Easy, portable audio engine for games. [zlib] * [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD] From 2f42ea5a0cb8b5d7406c79969f6f9e9b63dd4dd1 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 30 Mar 2019 10:43:14 +0800 Subject: [PATCH 409/959] Memory Allocation: Add memory-allocators (fix #660) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 661f3e08d..2d0d853a5 100644 --- a/README.md +++ b/README.md @@ -567,7 +567,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) * [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] - +* [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] ## Multimedia From dae06f2669553b837245591fb88a2959ff06e4da Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 30 Mar 2019 10:54:44 +0800 Subject: [PATCH 410/959] Networking: Add Boost.Beast Closes #267 Closes #332 Closes #358 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2d0d853a5..68720e5a1 100644 --- a/README.md +++ b/README.md @@ -586,6 +586,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](www.boost.org/libs/beast) * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] From 5143fc3906e592f12c90ea07278951c55ec79c04 Mon Sep 17 00:00:00 2001 From: Daniil Goncharov Date: Sat, 30 Mar 2019 09:19:53 +0500 Subject: [PATCH 411/959] Move Nameof to Reflection section (#720) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 68720e5a1..982a4e26d 100644 --- a/README.md +++ b/README.md @@ -659,6 +659,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [clReflect](https://bitbucket.org/dwilliamson/clreflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] +* [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) @@ -806,7 +807,6 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [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] * [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) - A header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From d7ce94abb917656e8699bd46a0e3f530139b95a0 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 3 Apr 2019 09:24:23 -0500 Subject: [PATCH 412/959] Fixes #722 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 982a4e26d..c5ebb07dc 100644 --- a/README.md +++ b/README.md @@ -198,7 +198,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://quickgit.kde.org/?p=karchive.git) - 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/Cyan4973/lz4) - Extremely Fast Compression algorithm. [BSD] +* [LZ4](https://github.com/lz4/lz4) - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/) * [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. * [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] * [LZMA](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] From 7cd874f8e2d3abbb0ab795148f83f982f547500b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 4 Apr 2019 17:46:02 +0800 Subject: [PATCH 413/959] Game Engine: Add raylib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5ebb07dc..7d01a94c3 100644 --- a/README.md +++ b/README.md @@ -362,6 +362,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) +* [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) * [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) * [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) * [toy engine](https://toyengine.io/) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. From 50cfeda12d6dba64e9bec5038902ced49b7c082a Mon Sep 17 00:00:00 2001 From: Daniil Goncharov Date: Tue, 9 Apr 2019 15:16:30 +0500 Subject: [PATCH 414/959] Add static reflection for enums lib (#727) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d01a94c3..48cafe24b 100644 --- a/README.md +++ b/README.md @@ -660,6 +660,7 @@ array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://qua * [clReflect](https://bitbucket.org/dwilliamson/clreflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] +* [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) From cfe70dd25674c6dccbee24e95c7a47daaa569b15 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 9 Apr 2019 18:23:33 +0800 Subject: [PATCH 415/959] Game Engine: Add Spring --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 48cafe24b..6bc603f37 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) * [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) +* [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) * [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) * [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) * [toy engine](https://toyengine.io/) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. From c7db810183fcdffff130d90f858905f663fc20bb Mon Sep 17 00:00:00 2001 From: Theodore Omtzigt Date: Wed, 10 Apr 2019 19:29:30 -0400 Subject: [PATCH 416/959] adding universal numbers library --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6bc603f37..add4e594d 100644 --- a/README.md +++ b/README.md @@ -560,8 +560,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] -* [xtensor](https://github.com/QuantStack/xtensor) - A C++14 library for numerical analysis with multi-dimensional -array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://quantstack.net/xtensor) +* [xtensor](https://github.com/QuantStack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://quantstack.net/xtensor) +* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] [website](http://www.stillwater-sc.com/assets/content/stillwater-universal-sw.html) ## Memory Allocation From 169a981ff3eced3c8120d5299c73ee42e95e1a8a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 11 Apr 2019 18:05:30 +0800 Subject: [PATCH 417/959] Graphics: Add Blend2D (fix #620) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index add4e594d..5a38bddab 100644 --- a/README.md +++ b/README.md @@ -396,6 +396,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) * [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] +* [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) * [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] From ab8302fad77a670511331de0a35810614a2b82b1 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 13 Apr 2019 15:27:56 +0800 Subject: [PATCH 418/959] Debug: Add Unity --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a38bddab..897397c94 100644 --- a/README.md +++ b/README.md @@ -340,6 +340,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] +* [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] * [VLD](http://vld.codeplex.com/) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. From 3cee29e880023365f96725b34e683f893d0aa85f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 13 Apr 2019 15:39:39 +0800 Subject: [PATCH 419/959] Clean todo.txt --- todo.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/todo.txt b/todo.txt index 51472a653..798e91aef 100644 --- a/todo.txt +++ b/todo.txt @@ -65,7 +65,6 @@ http://www.h323plus.org/ http://ufmod.sourceforge.net/ https://github.com/almalk454/wGUI http://www.cs.fsu.edu/~engelen/soap.html -http://www.qt.io/ https://github.com/broadinstitute/gamgee http://www.reddit.com/r/programming/ @@ -101,7 +100,6 @@ Oracle Template Library http://otl.sourceforge.net/ Intel Parallel Building Blocks -Intel Threading Building Blocks Intel Array Building Blocks Intel Cilk Plus @@ -165,7 +163,6 @@ https://github.com/Kosta-Github/http-cpp https://github.com/adafruit/Adafruit-GFX-Library https://github.com/lsegal/my_toy_compiler https://github.com/openexr/openexr -https://github.com/google/snappy https://github.com/spesmilo/libbitcoin https://github.com/gwaldron/osgearth https://github.com/xiw/stack @@ -268,14 +265,11 @@ https://github.com/WhisperSystems/libaxolotl-c http://gameprogrammingpatterns.com/ -https://github.com/bagder/c-ares - http://www.yeppp.info/ https://github.com/AnthonyCalandra/modern-cpp-features https://github.com/vurtun/mmx -https://github.com/richgel999/miniz https://github.com/johnezang/pithy A simple Minecraft clone written in C using modern OpenGL (shaders). @@ -290,7 +284,6 @@ https://github.com/inkooboo/thread-pool-cpp http://www-304.ibm.com/webapp/set2/sas/f/lopdiags/sdklop.html https://en.wikipedia.org/wiki/Integrated_Performance_Primitives -https://en.wikipedia.org/wiki/Threading_Building_Blocks https://en.wikipedia.org/wiki/Intel_Parallel_Building_Blocks https://en.wikipedia.org/wiki/Intel_Array_Building_Blocks https://en.wikipedia.org/wiki/Cilk From d81fb5638379e9a498d0c3ad86913b05e509cc3b Mon Sep 17 00:00:00 2001 From: Gabriel Homsi Date: Sun, 14 Apr 2019 13:38:54 -0400 Subject: [PATCH 420/959] added icecream-cpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 897397c94..1f7f0817f 100644 --- a/README.md +++ b/README.md @@ -802,6 +802,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [c-smart-pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] +* [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] From 63ce87d117e753640efd6c0d9aa01499ce0c2700 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 16 Apr 2019 17:57:37 +0800 Subject: [PATCH 421/959] Networking: Add librdkafka --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f7f0817f..7999d07f7 100644 --- a/README.md +++ b/README.md @@ -611,6 +611,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] * [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] +* [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] * [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) * [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) From 06f5ad02e60faf9e5db3c7cc077d187e681ef587 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 16 Apr 2019 18:02:42 +0800 Subject: [PATCH 422/959] Miscellaneous: Add CPPIterTools (fix #740) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7999d07f7..9cd298d4e 100644 --- a/README.md +++ b/README.md @@ -796,6 +796,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] From b4dfb2c1bc4c7bbe1e076bb9745da31b9ae973e9 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 16 Apr 2019 18:06:13 +0800 Subject: [PATCH 423/959] Miscellaneous: Add mio (fix #688) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9cd298d4e..b4541e67e 100644 --- a/README.md +++ b/README.md @@ -815,6 +815,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] * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] +* [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] From ef277b877c0d7bce006147e8fa93e9a3819da547 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 16 Apr 2019 18:10:43 +0800 Subject: [PATCH 424/959] Miscellaneous: Remove Better Enums --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b4541e67e..eeac8cba5 100644 --- a/README.md +++ b/README.md @@ -793,7 +793,6 @@ 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] -* [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] From 40c4d89a914cf0a950d5435aa3f2b133065bcc07 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 16 Apr 2019 18:12:42 +0800 Subject: [PATCH 425/959] Miscellaneous: Move meta to Reflection section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eeac8cba5..399d2a53c 100644 --- a/README.md +++ b/README.md @@ -665,6 +665,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] +* [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) @@ -813,7 +814,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] -* [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [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 c7074c7347c736a9d9e6d76bad9fd6f9dc14e9eb Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 16 Apr 2019 18:14:35 +0800 Subject: [PATCH 426/959] Miscellaneous: Move PHP-CPP to Scripting section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 399d2a53c..41be7f869 100644 --- a/README.md +++ b/README.md @@ -715,6 +715,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] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] +* [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] @@ -816,7 +817,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] -* [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] From b4385b49ecf175c094a8cc90d6c2b58c50c7107a Mon Sep 17 00:00:00 2001 From: Chigozirim C Date: Wed, 17 Apr 2019 03:46:35 -0600 Subject: [PATCH 427/959] Move ZeroMQ to Networking section (#714) ZeroMQ is more than just for IPC, so I moved it to a more general section (Networking). Also updated the link to point to the GitHub repository. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41be7f869..77539e71c 100644 --- a/README.md +++ b/README.md @@ -468,7 +468,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] * [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) * [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] -* [ZeroMQ](http://zeromq.org/) - High-speed, modular asynchronous communication library. [LGPL] ## JSON @@ -633,6 +632,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] * [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] +* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL] [website](http://zeromq.org/) ## PDF *Libraries for parsing and manipulating PDF documents.* From 1266f6218feea2e3f04fb4c746d53888b2e8a28d Mon Sep 17 00:00:00 2001 From: Lectem Date: Wed, 24 Apr 2019 14:58:58 +0200 Subject: [PATCH 428/959] Add Intel Games Task Scheduler - Fixes #730 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 77539e71c..60756a0b3 100644 --- a/README.md +++ b/README.md @@ -226,6 +226,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] +* [Intel Games Task Scheduler](https://github.com/GameTechDev/GTS-GamesTaskScheduler) - A task scheduling framework designed for the needs of game developers. [MIT] * [Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] From a811142f9d70de47e6e61080e8dfa5aa792474b6 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 26 Apr 2019 12:34:30 +0800 Subject: [PATCH 429/959] Debug: Add Nonius (fix #721) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 60756a0b3..c135063fa 100644 --- a/README.md +++ b/README.md @@ -339,6 +339,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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. * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) +* [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] From 43e436437ca3acc48a6e48960bb7121ecc6bb3dc Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 26 Apr 2019 12:47:05 +0800 Subject: [PATCH 430/959] Concurrency: Add FiberTaskingLib (fix #754) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c135063fa..594c765a4 100644 --- a/README.md +++ b/README.md @@ -226,6 +226,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] +* [FiberTaskingLib](https://github.com/RichieSams/FiberTaskingLib) - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache] * [Intel Games Task Scheduler](https://github.com/GameTechDev/GTS-GamesTaskScheduler) - A task scheduling framework designed for the needs of game developers. [MIT] * [Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] From c290c57db0bedcb0b80795a498758e4aec87b583 Mon Sep 17 00:00:00 2001 From: flig Date: Sun, 28 Apr 2019 19:06:56 +1000 Subject: [PATCH 431/959] Added Hyperscan and PIRE under regexps section --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 594c765a4..c0cfff5cb 100644 --- a/README.md +++ b/README.md @@ -677,8 +677,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] * [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] +* [Hyperscan] (https://github.com/intel/hyperscan)- Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. * [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] +* [PIRE] (https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s) * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] From 69e5f22634365f21ffd6094af9c8d7a9e22bb3e8 Mon Sep 17 00:00:00 2001 From: flig Date: Sun, 28 Apr 2019 19:08:48 +1000 Subject: [PATCH 432/959] Regexps section extended for Hyperscan and PIRE libs --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c0cfff5cb..e6e5635df 100644 --- a/README.md +++ b/README.md @@ -677,10 +677,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] * [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] -* [Hyperscan] (https://github.com/intel/hyperscan)- Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. +* [Hyperscan](https://github.com/intel/hyperscan)- Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. * [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] -* [PIRE] (https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s) +* [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s) * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] From a461cfc1f8ace6dc434772663954b7e496ba68d9 Mon Sep 17 00:00:00 2001 From: flig Date: Sun, 28 Apr 2019 19:14:30 +1000 Subject: [PATCH 433/959] Added Hyperscan and PIRE to regexps section --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e6e5635df..8237b5214 100644 --- a/README.md +++ b/README.md @@ -677,10 +677,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] * [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] -* [Hyperscan](https://github.com/intel/hyperscan)- Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. +* [Hyperscan](https://github.com/intel/hyperscan) - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD] * [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] -* [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s) +* [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] From 86dd971c4c406ec2e6ac1fdbbcd2b3687fcfdb1d Mon Sep 17 00:00:00 2001 From: Esteban Duran Date: Thu, 9 May 2019 12:08:36 -0500 Subject: [PATCH 434/959] feat: Add Quantum++ To Physics Section Quantum++ is a modern C++11 general purpose quantum computing library, composed solely of template header files. Quantum++ is written in standard C++11 and has very low external dependencies, using only the Eigen 3 linear algebra header-only template library and, if available, the OpenMP multi-processing library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8237b5214..625140937 100644 --- a/README.md +++ b/README.md @@ -660,6 +660,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [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] +* [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] ## Reflection From 93804d371b8b49e5c87d00ed540bccba75c99ab5 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 13 May 2019 19:23:54 +0800 Subject: [PATCH 435/959] Reflection: Add visit_struct (fix #779) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 625140937..e375e8ee8 100644 --- a/README.md +++ b/README.md @@ -673,6 +673,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) +* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] ## Regular Expression From f628c3078d3e14a456fdb69019986504eb5c5f3d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Mon, 13 May 2019 19:37:39 +0800 Subject: [PATCH 436/959] Misc: Update PEGTL (fix #767) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e375e8ee8..e08654b19 100644 --- a/README.md +++ b/README.md @@ -823,7 +823,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] -* [PEGTL](https://github.com/ColinH/PEGTL) - The Parsing Expression Grammar Template Library, a C++11 parser library. [MIT] +* [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] From e624495fcc4bd20476706fcce06fcbd683946633 Mon Sep 17 00:00:00 2001 From: Alexander Shashkevich Date: Tue, 14 May 2019 15:23:13 +0300 Subject: [PATCH 437/959] Add Buck build system --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e08654b19..5a1e5176f 100644 --- a/README.md +++ b/README.md @@ -913,6 +913,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] +* [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] * [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] * [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. From 825a37dc4402825412b02df66fe1e0c6fd4f139c Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 16 May 2019 19:21:36 +0800 Subject: [PATCH 438/959] Add awesome-modern-cpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a1e5176f..a3aac3bea 100644 --- a/README.md +++ b/README.md @@ -1076,6 +1076,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. * [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 * [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 +* [Awesome Modern C++](https://github.com/rigtorp/awesome-modern-cpp) - A collection of resources on modern C++. * [AwesomePerfCpp](https://github.com/fenbf/AwesomePerfCpp) - A curated list of awesome C/C++ performance optimization resources. * [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. * [Inqlude](http://inqlude.org/) - The Qt library archive. From 553946c1a25720cbebd6a15cde9020c19ac5c0ae Mon Sep 17 00:00:00 2001 From: Vincent La Date: Mon, 20 May 2019 22:16:16 -0700 Subject: [PATCH 439/959] Added CSV Parser (#511) --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index a3aac3bea..962058798 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Concurrency](#concurrency) - [Containers](#containers) - [Cryptography](#cryptography) + - [CSV](#csv) - [Database](#database) - [Debug](#debug) - [Game Engine](#game-engine) @@ -287,6 +288,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] +## CSV + +* [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] + ## Database *Database Libraries, SQL Servers, ODBC Drivers, and Tools* From 0f9592ec837decb866b99a888a6cabef752b3d47 Mon Sep 17 00:00:00 2001 From: An Tao Date: Tue, 21 May 2019 18:10:15 +0800 Subject: [PATCH 440/959] Add drogon to the list (#797) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 962058798..c071beb70 100644 --- a/README.md +++ b/README.md @@ -777,6 +777,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/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] * [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) +* [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] * [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] From 6b8a4d5350b063b85cd58f5aea442577aaf8d97e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 22 May 2019 12:30:21 +0800 Subject: [PATCH 441/959] Internationalization: Add utf8proc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c071beb70..7c542b337 100644 --- a/README.md +++ b/README.md @@ -462,6 +462,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] * [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] +* [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] ## Inter-process communication From dfadcc14d05caea0c12dd892b9bae3329b9a027c Mon Sep 17 00:00:00 2001 From: Maxime Pinard Date: Sun, 26 May 2019 10:14:06 -0400 Subject: [PATCH 442/959] Fixed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c542b337..91b82b4c6 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] -* [libuv](https://github.com/libuv/libuv) - Cross-platform asychronous I/O. [BSD] +* [libuv](https://github.com/libuv/libuv) - Cross-platform asynchronous I/O. [BSD] * [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [MIT] ## Audio From c24dea548b2833a59680bdfb5f30f1bbc9997baf Mon Sep 17 00:00:00 2001 From: Maxime Pinard Date: Sun, 26 May 2019 10:48:56 -0400 Subject: [PATCH 443/959] Added pinam45/dynamic_bitset to containers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c542b337..5ac973512 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) +* [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] * [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] From 9fbb6a768b2888bb57e32d659dfd4f1d4f38ea2a Mon Sep 17 00:00:00 2001 From: Daniele Pallastrelli <5451767+daniele77@users.noreply.github.com> Date: Mon, 27 May 2019 12:11:56 +0200 Subject: [PATCH 444/959] Add daniele77/cli (#804) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9f23d954..e23db90af 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] + * [cli](https://github.com/daniele77/cli) - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] From 9df025ac3def8f607b952c4f8527c47cf31d0e90 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 29 May 2019 19:10:00 +0800 Subject: [PATCH 445/959] Move libcsptr to Memory Allocation (fix #772) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e23db90af..f781d6278 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Memory Allocation * [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) +* [C Smart Pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] * [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) * [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] @@ -819,7 +820,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] -* [c-smart-pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. From 7ab470ccec1f4e16e7e627009baa784a152d4cee Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Wed, 29 May 2019 18:19:07 -0500 Subject: [PATCH 446/959] Update README.md closes #588 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f781d6278..0f591421d 100644 --- a/README.md +++ b/README.md @@ -618,6 +618,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] +* [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] * [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] * [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] * [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) From b643c965150db2dac9bf1a8b2603119c72485cfb Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 30 May 2019 18:08:11 +0800 Subject: [PATCH 447/959] Math: Add linalg.h --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0f591421d..4039e7b15 100644 --- a/README.md +++ b/README.md @@ -558,6 +558,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] +* [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] * [NT2](https://github.com/Mathieu-/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] From f6f9f6fdfa3743befeb783c09bdb7d00086231ad Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 30 May 2019 18:17:51 +0800 Subject: [PATCH 448/959] CSV: Add csv, fast-cpp-csv-parser Fix #751 Fix #800 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 4039e7b15..a90afd073 100644 --- a/README.md +++ b/README.md @@ -291,7 +291,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] ## CSV +*Libraries for parsing Comma Separated Value (CSV) files* +* [csv](https://github.com/p-ranav/csv) - CSV for modern C++. [MIT] +* [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] * [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] ## Database From fec02fda147ff9d19361dd6858b9246cb5f8f203 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 30 May 2019 18:23:18 +0800 Subject: [PATCH 449/959] JSON: Add taoJSON (fix #768) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a90afd073..835ca2024 100644 --- a/README.md +++ b/README.md @@ -508,6 +508,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] * [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] * [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] +* [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] * [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] From b67623ae020dd75cb354c0d1edf271ff06961979 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 31 May 2019 19:00:46 +0800 Subject: [PATCH 450/959] Math: Update GLM --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 835ca2024..717c8a4d0 100644 --- a/README.md +++ b/README.md @@ -559,7 +559,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] * [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) -* [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] +* [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] From e7a770ff6a16d16db9b50683050448e450b4c892 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 31 May 2019 19:01:05 +0800 Subject: [PATCH 451/959] Clean todo.txt --- todo.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/todo.txt b/todo.txt index 798e91aef..84ec25f3f 100644 --- a/todo.txt +++ b/todo.txt @@ -85,8 +85,6 @@ https://github.com/cms-sw/cmssw http://sourceforge.net/projects/libcrn/ -http://glm.g-truc.net/ - http://www.shoup.net/ntl/ ---------------------------------------- @@ -116,15 +114,12 @@ http://en.wikipedia.org/wiki/Comparison_of_TLS_implementations http://en.wikipedia.org/wiki/Cryptlib http://en.wikipedia.org/wiki/MatrixSSL -http://en.wikipedia.org/wiki/PolarSSL http://en.wikipedia.org/wiki/CyaSSL -http://en.wikipedia.org/wiki/GnuTLS ---------------------------------------- https://github.com/mozilla/mozjpeg https://github.com/tinfoilboy/Explodable -https://github.com/thrust/thrust https://github.com/shaih/HElib https://github.com/jlnr/gosu https://github.com/vinniefalco/DSPFilters From 61e75c848f2e3087f29a0c87076ef6a8095fe7be Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 31 May 2019 19:05:47 +0800 Subject: [PATCH 452/959] Containers: Add robin-hood-hashing, robin-map --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 717c8a4d0..ae19795a4 100644 --- a/README.md +++ b/README.md @@ -262,6 +262,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) * [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) * [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] +* [robin-hood-hashing](https://github.com/martinus/robin-hood-hashing) - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] +* [robin-map](https://github.com/Tessil/robin-map) - Fast hash map and hash set using robin hood hashing. [MIT] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] ## Cryptography From 9d8f3a6608b2f9384fcc7770affeebfe58b3f69a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 4 Jun 2019 08:26:24 +0800 Subject: [PATCH 453/959] Serialization: Update protobuf, upb repo link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ae19795a4..904a910f4 100644 --- a/README.md +++ b/README.md @@ -756,10 +756,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) * [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] -* [protobuf](https://github.com/google/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] +* [protobuf](https://github.com/protocolbuffers/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] -* [upb](https://github.com/google/upb) - A small protobuf implementation in C. [BSD] +* [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] * [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] ## Sorting From 4e340283dbec21114cedf8ec3a302d07feaae81a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 8 Jun 2019 20:10:12 +0800 Subject: [PATCH 454/959] Networking: Add mTCP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 904a910f4..55d8c6f65 100644 --- a/README.md +++ b/README.md @@ -634,6 +634,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/) * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) +* [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] * [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] From 7c3cd9575b4a0a7dc2a318783761ea9d86d34747 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 8 Jun 2019 20:12:31 +0800 Subject: [PATCH 455/959] Networking: Add lwIP (fix #811) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55d8c6f65..856e13786 100644 --- a/README.md +++ b/README.md @@ -632,6 +632,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] * [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] * [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) +* [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) * [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] From d69f6aafd14a3d02355940e90e8effe7cb6fc295 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 23 Jun 2019 07:41:45 +0800 Subject: [PATCH 456/959] Memory Allocation: Add mimalloc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 856e13786..de2628a41 100644 --- a/README.md +++ b/README.md @@ -590,6 +590,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] * [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] +* [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] ## Multimedia From c3ac11cbd17e59f49c34c458b49e83d44a27c1c9 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 7 Jul 2019 19:44:22 +0800 Subject: [PATCH 457/959] JSON: Add cJSON, simdjson Fix #677 Fix #733 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index de2628a41..673a6deed 100644 --- a/README.md +++ b/README.md @@ -488,6 +488,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## JSON * [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] * [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] * [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] @@ -510,6 +511,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] * [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] * [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] +* [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] * [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] From 3e9d04ccc416f1ce6b8c64062b2f6807d4c04333 Mon Sep 17 00:00:00 2001 From: trick2011 Date: Tue, 9 Jul 2019 02:07:03 +0200 Subject: [PATCH 458/959] Added kgabis/parson (#831) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 673a6deed..294849d86 100644 --- a/README.md +++ b/README.md @@ -506,6 +506,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] * [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] * [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] +* [parson](https://github.com/kgabis/parson) - Parson is a lighweight json library written in C. [MIT] * [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] * [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] * [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] From 497ade23a61f4b7af504e7e347f575115985e08c Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 11 Jul 2019 18:33:35 +0800 Subject: [PATCH 459/959] Debug: Add dbg-macro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 294849d86..2e377684f 100644 --- a/README.md +++ b/README.md @@ -341,6 +341,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] +* [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] * [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] From 34a0b73ff13e8f472da49e0fe34ad83a7ba2361d Mon Sep 17 00:00:00 2001 From: maddimax Date: Tue, 2 Jul 2019 11:28:43 +0200 Subject: [PATCH 460/959] Adding www.boden.io GUI Framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de2628a41..24966d93a 100644 --- a/README.md +++ b/README.md @@ -388,6 +388,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## GUI *Graphic User Interface* +* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] * [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] From 27adaad7ccf544384904b33301dab675ec76877d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 13 Jul 2019 17:32:14 +0800 Subject: [PATCH 461/959] Coding Style Tools: Update Uncrustify --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2e377684f..84bbb94e0 100644 --- a/README.md +++ b/README.md @@ -978,7 +978,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Artistic Style](http://astyle.sourceforge.net/) - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle. * [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. * [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. -* [Uncrustify](https://github.com/bengardner/uncrustify) - Code beautifier. +* [Uncrustify](https://github.com/uncrustify/uncrustify) - Code beautifier. # Resources *Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.* From 1f21022b3f0a2976b3e802187eb12f978e2a8e4d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 13 Jul 2019 17:34:04 +0800 Subject: [PATCH 462/959] Articles: Add C++Now 2019 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84bbb94e0..1bd8dfb10 100644 --- a/README.md +++ b/README.md @@ -996,6 +996,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. * [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. * [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. +* [C++Now 2019 Presentations](https://github.com/boostcon/cppnow_presentations_2019) - Presentation materials presented at C++Now 2019. * [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. * [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. * [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. From 1a9034817d089fc3904612844fff2a5ed7272e09 Mon Sep 17 00:00:00 2001 From: "Ilya \"Stuur\" Fedorov" <51226895+IlyaStuurFedorov@users.noreply.github.com> Date: Tue, 30 Jul 2019 13:01:51 +0300 Subject: [PATCH 463/959] libjingle has been discontinued --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6dd3bb722..0f192718e 100644 --- a/README.md +++ b/README.md @@ -632,7 +632,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] -* [libjingle](https://code.google.com/p/libjingle/) - Google talk voice and P2P interoperability library. [BSD] * [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] * [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] From 5c26443f89d650b24e075bd3abc2ea6dbe2fc973 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 10:54:16 +0800 Subject: [PATCH 464/959] Image Processing: Add Leptonica (#557) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0f192718e..44114b353 100644 --- a/README.md +++ b/README.md @@ -449,6 +449,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] +* [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) From e7bcfc350b3d5078a63f1d9eda8e136d0878cea4 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 10:58:40 +0800 Subject: [PATCH 465/959] Networking: Add DPDK (close #820), PF_RING --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 44114b353..37d47df93 100644 --- a/README.md +++ b/README.md @@ -626,6 +626,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] +* [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] * [ENet](https://github.com/lsalzman/enet) - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/) * [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] @@ -645,6 +646,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] * [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] +* [PF_RING™](https://github.com/ntop/PF_RING) - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/) * [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) * [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] From 828418283da162d596382fc7456f169371704d14 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 11:14:05 +0800 Subject: [PATCH 466/959] Game Engine: Add Corange (close #837) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37d47df93..e328f23ec 100644 --- a/README.md +++ b/README.md @@ -367,6 +367,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Atomic Game Engine](https://github.com/AtomicGameEngine/AtomicGameEngine) - A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. [Commercial] * [Banshee 3D](https://github.com/BearishSun/BansheeEngine) - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. [LGPL3/Commercial] * [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] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] * [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] From c65e787b1e34d5426726859e054e9d05b9b48062 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 11:28:26 +0800 Subject: [PATCH 467/959] Font: Add Fontconfig, FreeType, otfcc (close #825) --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index e328f23ec..b5373e25a 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [CSV](#csv) - [Database](#database) - [Debug](#debug) + - [Font](#font) - [Game Engine](#game-engine) - [GUI](#gui) - [Graphics](#graphics) @@ -360,6 +361,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] * [VLD](http://vld.codeplex.com/) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. +## Font +*Libraries for parsing and manipulating font files.* + +* [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) +* [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] +* [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] + ## Game Engine * [Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT] From 1bed95680fd1bb8d036aa2dff3754c8fc7922a53 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 11:40:09 +0800 Subject: [PATCH 468/959] Machine Learning: Add darknet (close #530) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5373e25a..07d52559b 100644 --- a/README.md +++ b/README.md @@ -549,6 +549,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] +* [darknet](https://github.com/pjreddie/darknet) - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/) * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) From f0feb2e38ddb10c277a2422451dcada26b946987 Mon Sep 17 00:00:00 2001 From: xhawk18 Date: Sat, 3 Aug 2019 11:53:08 +0800 Subject: [PATCH 469/959] Add promise-cpp, the Promise/A+ library in c++ (#612) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07d52559b..70e1c521a 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] * [libuv](https://github.com/libuv/libuv) - Cross-platform asynchronous I/O. [BSD] +* [promise-cpp](https://github.com/xhawk18/promise-cpp) - Header only library that implements Promise/A+ standard. [Anti-996] * [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [MIT] ## Audio From c87ee200e24c396c8c8bcbfebfa9c20af7c53f07 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 12:04:36 +0800 Subject: [PATCH 470/959] Memory Allocation: Add tgc (close #838) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70e1c521a..ebc38b646 100644 --- a/README.md +++ b/README.md @@ -608,6 +608,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] * [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] * [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] +* [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] ## Multimedia From b1d25b1dd9273035b7f2e6cd6f79c2d8fd5a2a2b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 12:30:06 +0800 Subject: [PATCH 471/959] Travis-CI: Allow duplicate links, skip SSL error Travis-CI: Clean dead links --- .travis.yml | 2 +- README.md | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1be4c06d8..74de441c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,3 @@ language: ruby before_script: gem install awesome_bot -script: awesome_bot -f README.md, books.md, minor.md, videos.md --allow-redirect --skip-save-results +script: awesome_bot -f README.md, books.md, minor.md, videos.md --allow-dupe --allow-redirect --allow-ssl -w libwebsockets --skip-save-results diff --git a/README.md b/README.md index ebc38b646..f1dc66888 100644 --- a/README.md +++ b/README.md @@ -393,7 +393,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) * [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) * [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) -* [toy engine](https://toyengine.io/) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. +* [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] ## GUI @@ -584,7 +584,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] -* [NT2](https://github.com/Mathieu-/nt2) - A SIMD-optimized numerical template library that provides an interface with MATLAB-like syntax. [Boost] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] * [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) @@ -732,7 +731,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] * [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) * [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] -* [RobWork](http://www.robwork.dk/apidoc/nightly/rw/index.html) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] +* [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] ## Scientific Computing @@ -895,7 +894,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. * [Microsoft Visual C++](https://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) - MSVC, developed by Microsoft. -* [Open WatCom](http://www.openwatcom.org/index.php/Main_Page) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] +* [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] * [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] * [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] @@ -909,7 +908,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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. * [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. -* [Rise4Fun](http://webcompiler.cloudapp.net/) - Online Visual C++ compiler. * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. * [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. @@ -945,7 +943,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. * [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. * [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. -* [YouCompleteMe](https://valloric.github.io/YouCompleteMe/) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. +* [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. * [cquery](https://github.com/cquery-project/cquery/) - A C++ code completion engine for vscode, emacs, vim, etc. ## Build Systems From 0c071e5fcba7838887ada448d31a1ecd84dc574d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 3 Aug 2019 13:07:57 +0800 Subject: [PATCH 472/959] Update capnproto (close #743) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f1dc66888..f3f4257f7 100644 --- a/README.md +++ b/README.md @@ -487,7 +487,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] -* [Cap'n Proto](http://kentonv.github.io/capnproto/) - Fast data interchange format and capability-based RPC system. [MIT] +* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) * [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] @@ -772,6 +772,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Serialization * [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] +* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] From 613416ee46672e2ec59c9bacea9ead88ce10e3cd Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 4 Aug 2019 12:29:28 +0800 Subject: [PATCH 473/959] Graphics: Add LLGL --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3f4257f7..adbf11a8e 100644 --- a/README.md +++ b/README.md @@ -435,6 +435,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] +* [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] * [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] From be4d956988e5706a1ba16cd6ac1bab44b0692c9b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 4 Aug 2019 13:11:37 +0800 Subject: [PATCH 474/959] Configuration: Add inih, iniparser, libconfuse, simpleini Close #602 Close #832 --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index adbf11a8e..4715eaf47 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [CLI](#cli) - [Compression](#compression) - [Concurrency](#concurrency) + - [Configuration](#configuration) - [Containers](#containers) - [Cryptography](#cryptography) - [CSV](#csv) - [Database](#database) - [Debug](#debug) - - [Font](#font) + - [Font](#font) - [Game Engine](#game-engine) - [GUI](#gui) - [Graphics](#graphics) @@ -252,6 +253,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] * [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). +## Configuration +*Configuration files, INI files* + +* [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] +* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] +* [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] +* [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] + ## Containers * [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] From 9eb9b4761ef6263b8f3252e5416644366b04d1b0 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sun, 4 Aug 2019 13:27:08 +0800 Subject: [PATCH 475/959] Configuration: Add inih --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4715eaf47..3fafe911c 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Configuration files, INI files* * [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] +* [inih](https://github.com/jtilly/inih) - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] * [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] From a4105c348ea151bab788984d1cae017dbf04c789 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 13 Aug 2019 19:02:59 +0800 Subject: [PATCH 476/959] Machine Learning: Add libsvm --- README.md | 1 + todo.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fafe911c..8ed2aa3d4 100644 --- a/README.md +++ b/README.md @@ -565,6 +565,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) +* [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) diff --git a/todo.txt b/todo.txt index 84ec25f3f..0209f0008 100644 --- a/todo.txt +++ b/todo.txt @@ -224,7 +224,6 @@ http://en.wikipedia.org/wiki/List_of_C%2B%2B_template_libraries ---------------------------------------- http://www.csie.ntu.edu.tw/~cjlin/liblinear/ -http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/ ---------------------------------------- From 70aecaba54e7c7ced032ae11a8be6d4e02b0bf94 Mon Sep 17 00:00:00 2001 From: trax44 Date: Fri, 16 Aug 2019 16:18:10 +0200 Subject: [PATCH 477/959] Update README.md No longer a header only library See https://github.com/zuhd-org/easyloggingpp --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ed2aa3d4..a4d2e8f26 100644 --- a/README.md +++ b/README.md @@ -545,7 +545,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] -* [Easylogging++](https://github.com/easylogging/easyloggingpp) - Single header only, extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] [website](https://muflihun.github.io/easyloggingpp) +* [Easylogging++](https://github.com/easylogging/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] [website](https://muflihun.github.io/easyloggingpp) * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] * [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] From 46753dbdf28e4f30c3b4146887d2ca8ed0f4d273 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 17 Aug 2019 12:16:11 +0800 Subject: [PATCH 478/959] Configuration: Add libconfig --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a4d2e8f26..16fce17e1 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,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] * [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] +* [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] From f9024562542da24996933a59f95a0da3fac53332 Mon Sep 17 00:00:00 2001 From: Laurent Pugin Date: Mon, 2 Sep 2019 12:55:13 +0200 Subject: [PATCH 479/959] Adding Verovio (#872) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 16fce17e1..d0499132c 100644 --- a/README.md +++ b/README.md @@ -155,6 +155,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense] * [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] * [minimp3](https://github.com/lieff/minimp3) - Public domain, header-only MP3 decoder with clean-room implementation. [CC0] +* [Verovio](https://github.com/rism-ch/verovio) - Verovio is a fast and lightweight music notation engraving library. [LGPL] [website](https://www.verovio.org) * [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency [BSD] ## Biology From aa5a91ade8bf2bb1ecf667e28187accb0898185f Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Mon, 2 Sep 2019 12:56:37 +0200 Subject: [PATCH 480/959] Add Bitsery (#871) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d0499132c..25ea3532e 100644 --- a/README.md +++ b/README.md @@ -785,6 +785,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Serialization +* [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] * [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] From 98c20204f662ed0c7e2561ebc14c5962e382566a Mon Sep 17 00:00:00 2001 From: Riccardo Date: Tue, 3 Sep 2019 17:56:34 +0200 Subject: [PATCH 481/959] Add bit7z --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25ea3532e..854ce9a29 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Compression *Compression and Archiving Libraries* +* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2] * [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] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. From 7664b979ac97bc57881c5cc5ec09b8d4a9247bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lien=20Sell=C3=A6g?= Date: Fri, 6 Sep 2019 12:34:25 +0200 Subject: [PATCH 482/959] update repo url after juCi++ was moved to gitlab --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 854ce9a29..d60b0864f 100644 --- a/README.md +++ b/README.md @@ -953,7 +953,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] * [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. * [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. -* [juCi++](https://github.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] +* [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] * [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. * [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. * [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. From efa1bdf64922b5efb6a75b8af3d24872931b5282 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 10 Sep 2019 20:21:05 +0800 Subject: [PATCH 483/959] Reflection: Add magic_get (fix #877) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d60b0864f..6469353c5 100644 --- a/README.md +++ b/README.md @@ -722,6 +722,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] +* [magic_get](https://github.com/apolukhin/magic_get) - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] From 4d9fb1713fd2c1be73ed3a640bbf15ffcd685692 Mon Sep 17 00:00:00 2001 From: skywind3000 Date: Tue, 17 Sep 2019 13:22:13 +0800 Subject: [PATCH 484/959] add: kcp protocol --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6469353c5..291949455 100644 --- a/README.md +++ b/README.md @@ -658,6 +658,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] * [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] +* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A Fast and Reliable ARQ Protocol, which reduce average latency by 40%. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] * [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] From 99c6c96307dd42fe11bf32e212b1a7a0a86860f1 Mon Sep 17 00:00:00 2001 From: skywind3000 Date: Tue, 17 Sep 2019 13:23:36 +0800 Subject: [PATCH 485/959] update kcp description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 291949455..fdab71d2a 100644 --- a/README.md +++ b/README.md @@ -658,7 +658,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] * [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] -* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A Fast and Reliable ARQ Protocol, which reduce average latency by 40%. [MIT] +* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol, which reduce average latency by 40%. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] * [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] From 2fe20f0241397fa948c5869e3e3d789a41c5a2d1 Mon Sep 17 00:00:00 2001 From: skywind3000 Date: Tue, 17 Sep 2019 13:32:31 +0800 Subject: [PATCH 486/959] update description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fdab71d2a..fafb356ec 100644 --- a/README.md +++ b/README.md @@ -658,7 +658,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] * [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] * [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] -* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol, which reduce average latency by 40%. [MIT] +* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT] * [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] * [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] * [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] From 8cd322fe96ea2f6548a8b8742083a02205b73293 Mon Sep 17 00:00:00 2001 From: byronhe Date: Wed, 18 Sep 2019 14:32:11 +0800 Subject: [PATCH 487/959] remove duplicate libhydrogen --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index fafb356ec..e81f28937 100644 --- a/README.md +++ b/README.md @@ -292,7 +292,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] * [GnuTLS](http://www.gnutls.org/) - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1] * [Libgcrypt](http://www.gnu.org/software/libgcrypt/) - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+] -* [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library for constrained environments. [ISC] * [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] * [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] * [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC] From 721f324650736562c999e6d3e57a635d45bb58f4 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 Sep 2019 20:07:20 +0800 Subject: [PATCH 488/959] Coding Style Tools: Add EditorConfig (fix #828), Prettier --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e81f28937..4793618ef 100644 --- a/README.md +++ b/README.md @@ -1009,6 +1009,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Artistic Style](http://astyle.sourceforge.net/) - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle. * [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. * [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. +* [EditorConfig](https://editorconfig.org/) - EditorConfig helps maintain consistent coding styles across different editors and IDEs. +* [Prettier](https://github.com/prettier/prettier) - Prettier is an opinionated code formatter. [website](https://prettier.io/) * [Uncrustify](https://github.com/uncrustify/uncrustify) - Code beautifier. # Resources From ca0fb7bf47ec1a56b729c25e451334d80be3222e Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 Sep 2019 20:16:08 +0800 Subject: [PATCH 489/959] Coding Style Tools: Remove Prettier --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4793618ef..f175d5968 100644 --- a/README.md +++ b/README.md @@ -1010,7 +1010,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. * [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. * [EditorConfig](https://editorconfig.org/) - EditorConfig helps maintain consistent coding styles across different editors and IDEs. -* [Prettier](https://github.com/prettier/prettier) - Prettier is an opinionated code formatter. [website](https://prettier.io/) * [Uncrustify](https://github.com/uncrustify/uncrustify) - Code beautifier. # Resources From 583579e414a5965a143550d8990ac33610468a20 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 Sep 2019 20:19:00 +0800 Subject: [PATCH 490/959] Audio: Add libsoundio (fix #883) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f175d5968..0fcd1141b 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] * [libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/) +* [libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] * [miniaudio](https://github.com/dr-soft/miniaudio) - Single file audio playback and capture library. [Unlicense] From 6810676cb9d641c221d776cec9a73123d2ec12e0 Mon Sep 17 00:00:00 2001 From: wanglun Date: Wed, 25 Sep 2019 17:35:57 +0800 Subject: [PATCH 491/959] Serialization: Add Boost Serialization --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0fcd1141b..0678c7cd3 100644 --- a/README.md +++ b/README.md @@ -790,6 +790,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] * [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] +* [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] From b41fc3dcc070ebb271aec3fd33297f2b8648a586 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Fri, 4 Oct 2019 21:12:27 -0500 Subject: [PATCH 492/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0678c7cd3..589869c12 100644 --- a/README.md +++ b/README.md @@ -1025,6 +1025,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Articles *Fantastic C++ related articles.* +* [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. * [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. * [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. From 80c86c97b694b981d16dd9f37d136ca6e4d0c8b9 Mon Sep 17 00:00:00 2001 From: n9267aakashsharma <56252151+n9267aakashsharma@users.noreply.github.com> Date: Wed, 9 Oct 2019 20:31:44 +0530 Subject: [PATCH 493/959] Update contributors guidelines --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f437c20d1..f059aba43 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,5 +10,6 @@ Please ensure your pull request adheres to the following guidelines: * Order projects alphabetically within each category. * Check your spelling and grammar. * New categories, or improvements to the existing categorisation are welcome. +* Use Proper commit message in order to stay listed for our awesome contributors. Thank you for your suggestions! From ed38e52bae398cdc037ea82e9d73e18cdbdfe5f1 Mon Sep 17 00:00:00 2001 From: Antonio Borondo Date: Sun, 13 Oct 2019 19:50:39 +0200 Subject: [PATCH 494/959] Add litePDF into PDF category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 589869c12..0b07a9c7b 100644 --- a/README.md +++ b/README.md @@ -695,6 +695,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Libraries for parsing and manipulating PDF documents.* * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] +* [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] From 7e2378d48ffcb5eda0b25494f87a7f32e4aa5df3 Mon Sep 17 00:00:00 2001 From: Antonio Borondo Date: Tue, 15 Oct 2019 13:23:01 +0200 Subject: [PATCH 495/959] Add Lyra into CLI category (#899) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 589869c12..cc16c61ee 100644 --- a/README.md +++ b/README.md @@ -190,6 +190,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] + * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] From cb2d5157c3a1eb1a5053ddcd05ca0826c98dd387 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 18 Oct 2019 02:23:46 +0200 Subject: [PATCH 496/959] Add IKOS from NASA to static analyzers (#901) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 79259f7da..862c17cd8 100644 --- a/README.md +++ b/README.md @@ -1006,6 +1006,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) * [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. * [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. +* [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. ## Coding Style Tools From bbebc1f2af90df915cbe65ab65ce7f1cc38d1f69 Mon Sep 17 00:00:00 2001 From: Antonio Borondo Date: Sun, 20 Oct 2019 21:31:39 +0200 Subject: [PATCH 497/959] Add C++ REST SDK into Web Application Framework category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 862c17cd8..76cbc65bc 100644 --- a/README.md +++ b/README.md @@ -829,6 +829,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Web Application Framework * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] +* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] * [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/) From 978e48b73d4c0ddda0bb8cb25bd860a85795bc48 Mon Sep 17 00:00:00 2001 From: Yiannis Papadopoulos Date: Thu, 31 Oct 2019 19:32:57 -0400 Subject: [PATCH 498/959] Add STAPL STAPL is a C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. Its core is a library of ISO Standard C++ components with interfaces similar to the (sequential) ISO C++ standard library. STAPL includes a run-time system, design rules for extending the provided library code, and optimization tools. Its goal is to allow the user to work at a high level of abstraction and hide many details specific to parallel programming, to allow a high degree of productivity, portability, and performance. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76cbc65bc..3bd516c94 100644 --- a/README.md +++ b/README.md @@ -256,6 +256,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] * [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). +* [STAPL](http://parasol-lab.gitlab.io/stapl-home/) - A standard library for modern parallel high-performance C++. [BSD] ## Configuration *Configuration files, INI files* From 4aad277736857ae3fc678ae63c6619efede2ea94 Mon Sep 17 00:00:00 2001 From: data-man Date: Fri, 8 Nov 2019 18:19:58 +0500 Subject: [PATCH 499/959] Add CNL library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76cbc65bc..0c71eafa5 100644 --- a/README.md +++ b/README.md @@ -590,6 +590,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] From d0670af4eb37b3dc8597313e9dd77e5665ba0ad3 Mon Sep 17 00:00:00 2001 From: Kris Jusiak Date: Sat, 16 Nov 2019 07:44:18 -0700 Subject: [PATCH 500/959] =?UTF-8?q?[Debug]=20Add=20`=CE=BCt`=20Unit=20Test?= =?UTF-8?q?ing=20Framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76cbc65bc..9a7c7ef5c 100644 --- a/README.md +++ b/README.md @@ -374,6 +374,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] +* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] * [VLD](http://vld.codeplex.com/) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. ## Font From 483ed8fc095a4507284a9861e5f09bf496e18e45 Mon Sep 17 00:00:00 2001 From: Christoph Bachhuber Date: Sat, 30 Nov 2019 16:01:44 +0100 Subject: [PATCH 501/959] Fix ncurses plural to singular --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a7c7ef5c..70024b4bc 100644 --- a/README.md +++ b/README.md @@ -191,7 +191,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] - * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interfaces. [MIT] + * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] From a42015960da2d566f121547fe7059545e7413312 Mon Sep 17 00:00:00 2001 From: eao197 Date: Tue, 3 Dec 2019 11:44:59 +0300 Subject: [PATCH 502/959] SObjectizer added to README. SObjectizer framework added to Concurrency section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70024b4bc..7d5e6284f 100644 --- a/README.md +++ b/README.md @@ -249,6 +249,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. +* [SObjectizer](https://github.com/Stiffstream/sobjectizer) - A tool for simplification of the development of complex multi-threaded applications in C++ by using Actor-, Publish-Subscribe and CSP models. [BSD-3-Clause] * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] From 8f6fea80381f4fdbcf86b249ba643a1400995469 Mon Sep 17 00:00:00 2001 From: Allan Leal Date: Wed, 11 Dec 2019 07:48:00 +0100 Subject: [PATCH 503/959] Add autodiff and Reaktoro --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 70024b4bc..ff3c8b37b 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Audio](#audio) - [Biology](#biology) - [BitTorrent](#bittorrent) + - [Chemistry](#chemistry) - [CLI](#cli) - [Compression](#compression) - [Concurrency](#concurrency) @@ -176,6 +177,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LibTorrent](https://github.com/rakshasa/libtorrent) (a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL] * [libutp](https://github.com/bittorrent/libutp) - uTorrent Transport Protocol library. [MIT] +## Chemistry +*Chemistry, Geochemistry, Biochemistry* + +* [Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org) + ## CLI *Console/Terminal User Interface, Command Line Interface* @@ -586,6 +592,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] * [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) +* [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] * [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] From 08f16103a2cd415b5c653c57a40f929e61521dc7 Mon Sep 17 00:00:00 2001 From: Pranav Date: Sat, 14 Dec 2019 08:47:41 -0600 Subject: [PATCH 504/959] Merge pull request #927 from p-ranav/master Add p-ranav/indicators - Activity indicators for Modern C++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff3c8b37b..3d359a825 100644 --- a/README.md +++ b/README.md @@ -194,6 +194,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] + * [indicators](https://github.com/p-ranav/indicators/) - Activity indicators for Modern C++. [MIT] * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] From 54c3e6c727669d2aae497382753927aa742b0dc2 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 28 Dec 2019 00:02:34 -0500 Subject: [PATCH 505/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d359a825..1a06a679a 100644 --- a/README.md +++ b/README.md @@ -1081,6 +1081,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 ## Videos *Fantastic C or C++ related videos.* From f95f7e3d58f5f95828e03cbb00bdeb7eca077a47 Mon Sep 17 00:00:00 2001 From: kiwixz Date: Wed, 1 Jan 2020 01:55:39 +0100 Subject: [PATCH 506/959] add ide visual studio code --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1a06a679a..b9019d16d 100644 --- a/README.md +++ b/README.md @@ -971,6 +971,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] * [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. * [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. +* [Microsoft Visual Studio Code](https://code.visualstudio.com/) :zap: - An open-source IDE from Microsoft. [MIT] * [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. * [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. * [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. From 8a6d0f93d31257d0d493381e4054be1282a4c5fd Mon Sep 17 00:00:00 2001 From: Pranav Srinivas Kumar Date: Wed, 1 Jan 2020 10:33:31 -0600 Subject: [PATCH 507/959] Added tabulate for Modern C++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1a06a679a..3239af34b 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] + * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT] * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] From 05ac42376fb0b5cba74cd0c4e64589da3fc9c022 Mon Sep 17 00:00:00 2001 From: Alex Gomes Date: Mon, 6 Jan 2020 18:54:39 -0500 Subject: [PATCH 508/959] Added LAME into Audio category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1dcb25c7..f5d71fa43 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] +* [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] * [libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/) * [libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] From 7cd7c9dc7a78f92ca7d5e723ff24c1896d634901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabien=20P=C3=A9an?= Date: Sun, 19 Jan 2020 19:04:26 +0100 Subject: [PATCH 509/959] [Physics] add SOFA library --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f5d71fa43..a3a82082d 100644 --- a/README.md +++ b/README.md @@ -726,8 +726,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) -* [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] * [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] +* [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] +* [SOFA](https://github.com/sofa-framework/sofa) - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] [website](https://www.sofa-framework.org) ## Reflection From 8a7383cb96e63b5236b3807508e8fdc742ed5972 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sun, 19 Jan 2020 14:43:32 -0500 Subject: [PATCH 510/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3a82082d..293001df2 100644 --- a/README.md +++ b/README.md @@ -431,7 +431,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] * [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] * [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] -* [libRocket](http://librocket.com/) - libRocket is a C++ HTML/CSS game interface middleware. [MIT] * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] @@ -440,6 +439,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] +* [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [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] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From faa66a35616f5ab7356ef3f13992487919bca12f Mon Sep 17 00:00:00 2001 From: Haoshen Zhong <124694738@qq.com> Date: Thu, 30 Jan 2020 11:27:30 +0800 Subject: [PATCH 511/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 293001df2..aeda880da 100644 --- a/README.md +++ b/README.md @@ -914,6 +914,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] +* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] # Software *Software for creating a development environment.* From eb69dfa84bb47604681be64cb80d5f083bf7ea94 Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Wed, 5 Feb 2020 15:29:33 +0000 Subject: [PATCH 512/959] readme: Add MD simulation and analysis tools readme: reformat to please travis readme: Update gromacs --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index aeda880da..dff2578dd 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Chemistry *Chemistry, Geochemistry, Biochemistry* +* [d-SEAMS](https://github.com/d-SEAMS/seams-core) - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] [website](https://dseams.info) +* [gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://gromacs.org) * [Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org) +* [LAMMPS](https://github.com/lammps/lammps) - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] [website](https://lammps.sandia.gov/) ## CLI *Console/Terminal User Interface, Command Line Interface* From 57782da69f8a51e8266b43fc946547259834838b Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Wed, 5 Feb 2020 17:09:15 +0000 Subject: [PATCH 513/959] grit: Update link for grit engine --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aeda880da..dbc2cf4da 100644 --- a/README.md +++ b/README.md @@ -405,7 +405,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] -* [Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT] +* [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] * [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] From 89425601a46d6e3cb835002723cd7217ecdf5a87 Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Wed, 5 Feb 2020 17:09:37 +0000 Subject: [PATCH 514/959] banshee: Remove since bsf has superceeded it --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index dbc2cf4da..25bb19ada 100644 --- a/README.md +++ b/README.md @@ -398,7 +398,6 @@ 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] * [Atomic Game Engine](https://github.com/AtomicGameEngine/AtomicGameEngine) - A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. [Commercial] -* [Banshee 3D](https://github.com/BearishSun/BansheeEngine) - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. [LGPL3/Commercial] * [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] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] From 70f372fbe89c648efb39e6dd33ac113502036f56 Mon Sep 17 00:00:00 2001 From: stephassoria Date: Mon, 10 Feb 2020 15:30:41 +0100 Subject: [PATCH 515/959] Kigs framework added Added Kigs framework to the frameworks list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d45fa3b5..29a4567c1 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) +* [Kigs framework](https://github.com/assoria/kigs) - A free and open source C++ modular multi-purpose cross platform framework. [MIT] [website](https://kigs-framework.org/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] * [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] From 2c8ce5f4befe4fe1eb8fee06101bdc8d201ca525 Mon Sep 17 00:00:00 2001 From: Mark Gillard Date: Tue, 25 Feb 2020 09:06:06 +0200 Subject: [PATCH 516/959] Adding toml++ https://marzer.github.io/tomlplusplus/ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d45fa3b5..1a404c28a 100644 --- a/README.md +++ b/README.md @@ -278,6 +278,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] +* [toml++](https://github.com/marzer/tomlplusplus) - Header-only TOML parser and serializer for C++17 and later. [MIT] [website](https://marzer.github.io/tomlplusplus/) ## Containers From 2e6e7135773f38ce56e877dee010926327cbb3a0 Mon Sep 17 00:00:00 2001 From: Odysseas Georgoudis Date: Wed, 4 Mar 2020 02:05:39 +0000 Subject: [PATCH 517/959] Update README.md Add Quill Logging Library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1a404c28a..a11f2bb56 100644 --- a/README.md +++ b/README.md @@ -573,6 +573,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. * [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] * [P7Baical](http://baical.net/p7.html) - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL] +* [Quill](https://github.com/odygrd/quill) - Asynchronous cross platform low latency logging library [MIT] ## Machine Learning From 9597fcda649ef2098e629eb54d897a6910570d8c Mon Sep 17 00:00:00 2001 From: Odysseas Georgoudis Date: Wed, 4 Mar 2020 02:11:06 +0000 Subject: [PATCH 518/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a11f2bb56..7aef7390f 100644 --- a/README.md +++ b/README.md @@ -573,7 +573,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. * [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] * [P7Baical](http://baical.net/p7.html) - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL] -* [Quill](https://github.com/odygrd/quill) - Asynchronous cross platform low latency logging library [MIT] +* [Quill](https://github.com/odygrd/quill) - Asynchronous cross platform low latency logging library. [MIT] ## Machine Learning From e7b83e8ec83d8e2bb8f3478ae55abd2d168d146f Mon Sep 17 00:00:00 2001 From: ithewei Date: Wed, 4 Mar 2020 17:18:26 +0800 Subject: [PATCH 519/959] Add libhv --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7aef7390f..afbcfc9dc 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] +* [libhv](https://github.com/ithewei/libhv) - Cross-platform event loop library. [BSD] * [libuv](https://github.com/libuv/libuv) - Cross-platform asynchronous I/O. [BSD] * [promise-cpp](https://github.com/xhawk18/promise-cpp) - Header only library that implements Promise/A+ standard. [Anti-996] * [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [MIT] From f1189a82bc53ba093c418c3c8b946b3acfb2828f Mon Sep 17 00:00:00 2001 From: Jeremy Ong Date: Wed, 4 Mar 2020 21:51:36 -0700 Subject: [PATCH 520/959] Add Klein --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7aef7390f..c86c1fe0b 100644 --- a/README.md +++ b/README.md @@ -612,6 +612,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] +* [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] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] From b69ba038e69c45637c5b0424de31cffcdc6f7e0a Mon Sep 17 00:00:00 2001 From: Kan Liu Date: Sat, 7 Mar 2020 03:43:15 +0800 Subject: [PATCH 521/959] Add kokkos/kokkos --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7aef7390f..77c3097a9 100644 --- a/README.md +++ b/README.md @@ -264,6 +264,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] +* [Kokkos](https://github.com/kokkos/kokkos) - A performance portable programming model for parallel execution and memory abstraction. [BSD] * [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] * [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] From 63416493028672756da3c541237cd1a39941053f Mon Sep 17 00:00:00 2001 From: Kan Liu Date: Sat, 7 Mar 2020 04:04:22 +0800 Subject: [PATCH 522/959] fix order for Concurrency --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 77c3097a9..59512cf2c 100644 --- a/README.md +++ b/README.md @@ -248,10 +248,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [FiberTaskingLib](https://github.com/RichieSams/FiberTaskingLib) - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache] +* [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [Intel Games Task Scheduler](https://github.com/GameTechDev/GTS-GamesTaskScheduler) - A task scheduling framework designed for the needs of game developers. [MIT] * [Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2] * [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] * [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] +* [Kokkos](https://github.com/kokkos/kokkos) - A performance portable programming model for parallel execution and memory abstraction. [BSD] * [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] * [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] * [libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT] @@ -261,14 +263,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. +* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] -* [Kokkos](https://github.com/kokkos/kokkos) - A performance portable programming model for parallel execution and memory abstraction. [BSD] * [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] -* [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] -* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). ## Configuration *Configuration files, INI files* From fcf8f8cf4a12937c03c8cdad733d48366a46cc8c Mon Sep 17 00:00:00 2001 From: Alex Gomes Date: Sun, 8 Mar 2020 01:02:54 -0500 Subject: [PATCH 523/959] added crown in Game Engine section #948 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 089d6d565..c1f0a4794 100644 --- a/README.md +++ b/README.md @@ -405,6 +405,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Atomic Game Engine](https://github.com/AtomicGameEngine/AtomicGameEngine) - A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. [Commercial] * [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] * [Corange](https://github.com/orangeduck/Corange) - A game engine written in pure C, SDL and OpenGL. [BSD] +* [crown](https://github.com/dbartolini/crown) - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT] * [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] * [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] * [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] From 619b9c9a67309b5b5f3e3a52353a209f738182e0 Mon Sep 17 00:00:00 2001 From: Alex Gomes Date: Sun, 8 Mar 2020 16:41:36 -0400 Subject: [PATCH 524/959] Added marl into Concurrency section #945 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 089d6d565..fb4a1dfde 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT] * [libdispatch](https://github.com/apple/swift-corelibs-libdispatch) - Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] [website](https://apple.github.io/swift-corelibs-libdispatch/) * [libmill](https://github.com/sustrik/libmill/) - Introduces Go-style concurrency in C. [MIT] +* [marl](https://github.com/google/marl) - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0] * [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter] * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. From f3a9412c07c79dccee59de1291a95dc522a6df80 Mon Sep 17 00:00:00 2001 From: Alex Gomes Date: Sun, 8 Mar 2020 17:00:37 -0400 Subject: [PATCH 525/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 089d6d565..77d972b21 100644 --- a/README.md +++ b/README.md @@ -699,6 +699,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] * [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] +* [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] * [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] From 334b286b7e0496024ef7bec3d58468ee6cedf76a Mon Sep 17 00:00:00 2001 From: LudwikJaniuk Date: Mon, 9 Mar 2020 13:17:43 +0100 Subject: [PATCH 526/959] VarTypes link to their github instead of gcode They have moved, they say so on their page. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 089d6d565..7badada41 100644 --- a/README.md +++ b/README.md @@ -917,7 +917,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] -* [VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] +* [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] From e8a4a2ce07e636c23cb4752a14e445df73384043 Mon Sep 17 00:00:00 2001 From: tftzee Date: Fri, 3 Apr 2020 19:11:45 +0200 Subject: [PATCH 527/959] Added eCAL to Inter-process communication. Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). https://github.com/continental/ecal Apache 2 license --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dac81a6d9..5d7e826a1 100644 --- a/README.md +++ b/README.md @@ -520,6 +520,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) +* [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) * [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] From 07244ba0c1016416bae679267acefccdeeab0539 Mon Sep 17 00:00:00 2001 From: Egor Pugin Date: Sat, 16 May 2020 00:27:11 +0300 Subject: [PATCH 528/959] Replace outdated CPPAN package manager with SW package manager and build system. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f3307b91..c6d7879de 100644 --- a/README.md +++ b/README.md @@ -1003,7 +1003,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [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] -* [C++ Archive Network](https://cppan.org/) - Cross-platform C++ Dependency Manager with a lot of packages available. * [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) * [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] * [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. @@ -1014,6 +1013,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. * [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. * [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] +* [SW](https://software-network.org/) - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3] * [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. From 8a0911f85bc679b3d98dca2483928d9c2605e66b Mon Sep 17 00:00:00 2001 From: Nicholas Wang Date: Fri, 15 May 2020 17:45:48 -0500 Subject: [PATCH 529/959] nuklear repo moved the original repository is archived and moved. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f3307b91..ada90294b 100644 --- a/README.md +++ b/README.md @@ -444,7 +444,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MyGUI](http://mygui.info/) - 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/wjakob/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] -* [nuklear](https://github.com/vurtun/nuklear) - A single-header ANSI C gui library. [PublicDomain] +* [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] From 8853343d18e9b8110354c90f6cf4b1b0c3448b54 Mon Sep 17 00:00:00 2001 From: Evan Pezent Date: Sun, 31 May 2020 20:02:05 -0500 Subject: [PATCH 530/959] Add implot, an immediate mode plotting widget. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd1d3f013..8f348de8a 100644 --- a/README.md +++ b/README.md @@ -439,6 +439,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] * [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] * [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] +* [implot](https://github.com/epezent/implot) - Immediate Mode Plotting widgets for imgui. [MIT] * [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] From 29699803e00d9e98e9880ed0e6f245df4ddb29cf Mon Sep 17 00:00:00 2001 From: Patrick Stotko Date: Thu, 4 Jun 2020 12:56:28 +0200 Subject: [PATCH 531/959] Add stdgpu --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd1d3f013..3a3b815da 100644 --- a/README.md +++ b/README.md @@ -270,6 +270,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] +* [stdgpu](https://github.com/stotko/stdgpu) - Efficient STL-like Data Structures on the GPU. [Apache2] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] From 9f314c46540ef1f253e0958e4830f2e66955b119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wiktor=20=C5=BBurawik?= Date: Wed, 17 Jun 2020 15:51:07 +0200 Subject: [PATCH 532/959] Update microprofile link and license --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58b13a80b..c67fb4ba0 100644 --- a/README.md +++ b/README.md @@ -384,7 +384,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] * [MemTrack](http://www.almostinfinite.com/memtrack.html) - Tracking memory allocations in C++. -* [microprofile](https://bitbucket.org/jonasmeyer/microprofile/overview) - Profiler with web-view for multiple platforms. [PublicDomain] +* [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. * [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) From fa970829c65f99622132e9baa9ad158ed4b6f0e5 Mon Sep 17 00:00:00 2001 From: Kigs-framework <60647443+Kigs-framework@users.noreply.github.com> Date: Tue, 7 Jul 2020 09:49:45 +0200 Subject: [PATCH 533/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c67fb4ba0..c39a14171 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) -* [Kigs framework](https://github.com/assoria/kigs) - A free and open source C++ modular multi-purpose cross platform framework. [MIT] [website](https://kigs-framework.org/) +* [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] * [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] From 2f05f8e932f99e5d526b73b673eb541c908b0d6a Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 18 Jul 2020 22:49:20 +0800 Subject: [PATCH 534/959] Audio: Add AudioFile --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c39a14171..3f76ef00d 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* +* [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [GPL3] * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] * [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] From 16bc15a018f5ab1da388f72c9de0ecd807a78be4 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 18 Jul 2020 23:03:28 +0800 Subject: [PATCH 535/959] GUI: Add Elements --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c39a14171..841e6f2fc 100644 --- a/README.md +++ b/README.md @@ -435,6 +435,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. +* [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] * [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] * [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] From 2c981a27981a6bb03c3a5631e5aec4833411bab8 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 18 Jul 2020 23:07:40 +0800 Subject: [PATCH 536/959] CSV: Replace deprecated csv with csv2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c39a14171..4ce89a9b0 100644 --- a/README.md +++ b/README.md @@ -330,7 +330,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## CSV *Libraries for parsing Comma Separated Value (CSV) files* -* [csv](https://github.com/p-ranav/csv) - CSV for modern C++. [MIT] +* [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] * [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] * [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 2153a2bee0e4296643ea4efef142c2100e34f24c Mon Sep 17 00:00:00 2001 From: CppSimd <68231885+CppSimd@users.noreply.github.com> Date: Sat, 1 Aug 2020 08:39:48 +0000 Subject: [PATCH 537/959] Remove unmaintained Atomic Game Engine (#1009) No commits since 2018 and unmaintained as per their README. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index fa1ba57a7..81f3396e7 100644 --- a/README.md +++ b/README.md @@ -408,7 +408,6 @@ 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] -* [Atomic Game Engine](https://github.com/AtomicGameEngine/AtomicGameEngine) - A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. [Commercial] * [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 96f3a59a776cef20f94c2741ee27c1fd7ab7ccc5 Mon Sep 17 00:00:00 2001 From: giorgio Date: Tue, 11 Aug 2020 12:02:27 +0200 Subject: [PATCH 538/959] Containers: Add PGM-index --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 81f3396e7..30ec249f2 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] +* [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) * [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) * [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) * [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] From 1580463c11721984a3bc67e2fc5e707b647a6768 Mon Sep 17 00:00:00 2001 From: H3RSKO <34112131+H3RSKO@users.noreply.github.com> Date: Sat, 15 Aug 2020 23:51:39 -0400 Subject: [PATCH 539/959] Updated Readme Fixed typo in Readme: Changed "Aglorithm" to "Algorithm" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 30ec249f2..68e0fa5c3 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Contributing](#contributing) ## Standard Libraries -*C++ Standard Library - including STL Containers, STL Aglorithm, STL Functional, etc.* +*C++ Standard Library - including STL Containers, STL Algorithm, STL Functional, etc.* * [C++ Standard Library](https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself. * [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL). From bacd7794822047edb0e5a77d6b8c6e574ece54a4 Mon Sep 17 00:00:00 2001 From: danielaparker Date: Sun, 23 Aug 2020 19:41:03 -0400 Subject: [PATCH 540/959] [jsoncons] Add jsoncons to the list of JSON libraries --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68e0fa5c3..9933c88cf 100644 --- a/README.md +++ b/README.md @@ -550,6 +550,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] +* [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like data formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] From 264433631b85788727b002ca81a4d2a276216a9d Mon Sep 17 00:00:00 2001 From: danielaparker Date: Sun, 23 Aug 2020 19:42:12 -0400 Subject: [PATCH 541/959] [jsoncons] Add jsoncons to the list of JSON libraries --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9933c88cf..5067bc021 100644 --- a/README.md +++ b/README.md @@ -550,7 +550,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] -* [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like data formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] +* [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] From 9f05aae216e08076c82759c6dee95013c2b70042 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 15 Sep 2020 22:56:08 +0800 Subject: [PATCH 542/959] Database: Add unqlite --- README.md | 1 + todo.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5067bc021..49f991c30 100644 --- a/README.md +++ b/README.md @@ -360,6 +360,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [BSD-3-Clause] * [sqlpp11](https://github.com/rbock/sqlpp11) - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) +* [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] ## Debug diff --git a/todo.txt b/todo.txt index 0209f0008..23f659578 100644 --- a/todo.txt +++ b/todo.txt @@ -12,7 +12,6 @@ * [MariaDB](https://mariadb.com/) - A robust, scalable and reliable SQL server, designed to be a drop-in replacement for MySQL. [BSD] * [PostgreSQL]() - A powerful object-relational database system. [PostgreSQL licence] * [Redis]() - An advanced key-value store. [3-clause BSD]. -* [UnQLite]() - A self-contained, serverless, zero-configuration, transactional NoSQL engine with a C interface. [FreeBSD] http://www.cs.colorado.edu/~main/cs1300/doc/bgi/ From 076f27f494b2ccc30b36aca24c4f988affc900ee Mon Sep 17 00:00:00 2001 From: Faraz Date: Tue, 15 Sep 2020 19:10:23 -0400 Subject: [PATCH 543/959] Update todo.txt --- todo.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/todo.txt b/todo.txt index 23f659578..c2ae55c89 100644 --- a/todo.txt +++ b/todo.txt @@ -9,10 +9,6 @@ * [Fruit](https://github.com/google/fruit) - A dependency injection framework for C++. -* [MariaDB](https://mariadb.com/) - A robust, scalable and reliable SQL server, designed to be a drop-in replacement for MySQL. [BSD] -* [PostgreSQL]() - A powerful object-relational database system. [PostgreSQL licence] -* [Redis]() - An advanced key-value store. [3-clause BSD]. - http://www.cs.colorado.edu/~main/cs1300/doc/bgi/ https://www.enlightenment.org/p.php?p=about/efl From 9d511c27067f570f1fb12e922b4fb4f2080a2e36 Mon Sep 17 00:00:00 2001 From: Alex Yorke <7844441+alexyorke@users.noreply.github.com> Date: Thu, 24 Sep 2020 22:50:54 -0400 Subject: [PATCH 544/959] Fix broken link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49f991c30..4c5f41d17 100644 --- a/README.md +++ b/README.md @@ -671,7 +671,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](www.boost.org/libs/beast) +* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](https://www.boost.org/libs/beast) * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] From d7c0583f4e8386fa4fa7e629701070360d525bf2 Mon Sep 17 00:00:00 2001 From: "Daniele E. Domenichelli" Date: Thu, 1 Oct 2020 14:50:13 +0200 Subject: [PATCH 545/959] Add YARP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4c5f41d17..1ef9f3204 100644 --- a/README.md +++ b/README.md @@ -783,6 +783,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] * [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] +* [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) ## Scientific Computing From 23ba44a9cf766d846cb871592a5a78ef5a5c260b Mon Sep 17 00:00:00 2001 From: Angelo Theodorou Date: Sat, 3 Oct 2020 15:39:42 +0200 Subject: [PATCH 546/959] Add nCine to the list of game engines --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4c5f41d17..8f4652477 100644 --- a/README.md +++ b/README.md @@ -420,6 +420,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] * [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) +* [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) * [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) From 7576f44b0af18632886b09aa9d3d2cff5c603f64 Mon Sep 17 00:00:00 2001 From: Pratik Anand Date: Sat, 10 Oct 2020 00:40:10 -0700 Subject: [PATCH 547/959] NanoGUI github link changed Original NanoGUI project is in maintenance mode. There is a newer fork of NanoGUI which is recommended by original repo's README to be the place of active development --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f4652477..816064c7e 100644 --- a/README.md +++ b/README.md @@ -449,7 +449,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] * [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] -* [NanoGui](https://github.com/wjakob/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] +* [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] * [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] * [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] * [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] From c5b9b0ea0585f7248ad3d3aa3b6c4ab3f8155aef Mon Sep 17 00:00:00 2001 From: Jose Luis Blanco-Claraco Date: Thu, 15 Oct 2020 16:42:54 +0200 Subject: [PATCH 548/959] Add mrpt-serialization --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 816064c7e..f6f0ec5ef 100644 --- a/README.md +++ b/README.md @@ -830,6 +830,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) +* [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) * [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] * [protobuf](https://github.com/protocolbuffers/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] * [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] From 3599ad6facf04eedba72e5246d044dc5ae615414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SCC/=E6=A5=8A=E5=BF=97=E7=92=BF?= Date: Sun, 18 Oct 2020 03:24:50 +0800 Subject: [PATCH 549/959] Update KArchive official link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 816064c7e..a9e3132b0 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] -* [KArchive](https://quickgit.kde.org/?p=karchive.git) - 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] +* [KArchive](https://api.kde.org/frameworks/karchive/html/index.html) - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL] * [libarchive](https://github.com/libarchive/libarchive) - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/) * [LZ4](https://github.com/lz4/lz4) - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/) * [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. From 4b8c7d66b1a6c810c7bbbf871b36722a22ec3fd4 Mon Sep 17 00:00:00 2001 From: Faraz Date: Mon, 16 Nov 2020 23:01:56 -0500 Subject: [PATCH 550/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11ce21564..de499a6a2 100644 --- a/README.md +++ b/README.md @@ -1064,6 +1064,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Articles *Fantastic C++ related articles.* +* [CppCon 2020 Presentation Materials](https://github.com/CppCon/CppCon2020) - CppCon 2020 Presentation Materials. * [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. * [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. * [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. From ee44688e4072200036e50be5e24d0b84cdf661d6 Mon Sep 17 00:00:00 2001 From: Jesse Walker Date: Mon, 23 Nov 2020 17:57:38 -0500 Subject: [PATCH 551/959] Recommend C-Turtle --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de499a6a2..7a5f8a306 100644 --- a/README.md +++ b/README.md @@ -466,6 +466,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) * [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] +* [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] From 2fea528dbba7a21a762a5d5f3d4464fa81f75d1e Mon Sep 17 00:00:00 2001 From: Eyal Rozenberg Date: Wed, 2 Dec 2020 20:56:51 +0200 Subject: [PATCH 552/959] Added cuda-api-wrappers to the concurrency section CUDA is a richer, though vendor-specific, alternative for working with GPUs - with several entries in this list already. And while it lets you write modern C++ code on the GPU side - its host-side API is C-style, clunky and annoying. cuda-api-wrappers makes it awesomely-C++'ish. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a5f8a306..1e22be724 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] * [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] * [CUB](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] +* [cuda-api-wrappers](https://github.com/eyalroz/cuda-api-wrappers) - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD] * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] * [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] * [FiberTaskingLib](https://github.com/RichieSams/FiberTaskingLib) - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache] From b223d7532d8df05905b26331fb8f8bc36f26701f Mon Sep 17 00:00:00 2001 From: Madhukar-Gavani <46630064+Madhukar-Gavani@users.noreply.github.com> Date: Wed, 16 Dec 2020 13:31:45 +0530 Subject: [PATCH 553/959] Added paiza.io in Online Compiler paiza.io has multiple files supporting with collaborative editing. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e9469fdf..14d384216 100644 --- a/README.md +++ b/README.md @@ -971,6 +971,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](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. +* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. ## Debugger *List of C or C++ debuggers* From b49b638f9f171f8d413d57fdfcdb373d70cc16d8 Mon Sep 17 00:00:00 2001 From: Ivan Shynkarenka Date: Wed, 23 Dec 2020 23:23:08 +0300 Subject: [PATCH 554/959] Add FastBinaryEncoding protocol to Serialization section --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 14d384216..ed0ce0e19 100644 --- a/README.md +++ b/README.md @@ -469,7 +469,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) * [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] -* [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] +* [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] @@ -662,7 +662,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Multimedia * [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] -* [libass](https://github.com/libass/libass) - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] +* [libass](https://github.com/libass/libass) - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] * [libav](https://github.com/libav/libav) - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/) * [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] * [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] @@ -748,7 +748,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] * [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] -* [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] +* [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] * [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] @@ -826,12 +826,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Serialization -* [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [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://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] +* [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) * [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) @@ -875,7 +876,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] * [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] -* [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) +* [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) * [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) @@ -971,7 +972,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](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. -* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. +* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. ## Debugger *List of C or C++ debuggers* @@ -1155,7 +1156,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ridiculousfish](http://ridiculousfish.com/blog/posts/will-it-optimize.html) - Will It Optimize? * [Embedded in Academia](http://blog.regehr.org/) * [Simplify C++](https://arne-mertz.de/) -* [Fluent C++](https://www.fluentcpp.com/) +* [Fluent C++](https://www.fluentcpp.com/) * [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) * [Kenny Kerr](https://kennykerr.ca/articles/) * [Sutter’s Mill](https://herbsutter.com/gotw/) From a31885a8553b301477e08bbfb1c71f46ecbee391 Mon Sep 17 00:00:00 2001 From: Ivan Shynkarenka Date: Wed, 23 Dec 2020 23:28:20 +0300 Subject: [PATCH 555/959] Add CppServer to Networking section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed0ce0e19..8137db6ba 100644 --- a/README.md +++ b/README.md @@ -685,6 +685,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS sever library. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] +* [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) From 7cfbd1236f38cdc3b7eb8dc5b37127dff8524193 Mon Sep 17 00:00:00 2001 From: Damon Leven Date: Thu, 24 Dec 2020 13:28:30 +0000 Subject: [PATCH 556/959] added three cli libraries --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 14d384216..cd2e2a66d 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT] * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] + * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] + * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] + * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface [MIT] ## Compression *Compression and Archiving Libraries* From 1424ad16e009d4af0970c08fbf4af23c2b69478f Mon Sep 17 00:00:00 2001 From: Jianhui Liu Date: Sun, 27 Dec 2020 22:57:32 +0800 Subject: [PATCH 557/959] fix the two changed links for free c and c++ books --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 843f06e74..018c703f0 100644 --- a/README.md +++ b/README.md @@ -1094,8 +1094,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Fantastic C or C++ related books.* * [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) -* [Free C Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c) - vhf/free-programming-books/C. -* [Free C++ Books](https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#c-1) - vhf/free-programming-books/C++. +* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md#c) - vhf/free-programming-books/C. +* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md#c-1) - vhf/free-programming-books/C++. * [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. ## Coding Style From 8cb3a676d43b4561de810217b6148e9722f3a8ab Mon Sep 17 00:00:00 2001 From: Qingqing Zhou Date: Mon, 28 Dec 2020 17:30:01 -0800 Subject: [PATCH 558/959] remove duplicated concurrency/Quantum reference --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 018c703f0..3c7140117 100644 --- a/README.md +++ b/README.md @@ -279,7 +279,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] -* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). * [STAPL](http://parasol-lab.gitlab.io/stapl-home/) - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD] ## Configuration From 0112e37a3a23d4811bc63351cdfe2102e587d56a Mon Sep 17 00:00:00 2001 From: David Haim <59602013+David-Haim@users.noreply.github.com> Date: Tue, 29 Dec 2020 11:42:04 +0200 Subject: [PATCH 559/959] Add concurrencpp to the concurrency section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 018c703f0..cc83f00cb 100644 --- a/README.md +++ b/README.md @@ -281,6 +281,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] * [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). * [STAPL](http://parasol-lab.gitlab.io/stapl-home/) - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD] +* [concurrencpp](https://github.com/David-Haim/concurrencpp) - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all. ## Configuration *Configuration files, INI files* From 6f5d59663189b78802bf070a3b94f787a32b3ed3 Mon Sep 17 00:00:00 2001 From: Matt Bentley Date: Wed, 13 Jan 2021 11:11:30 +1300 Subject: [PATCH 560/959] Add indiesort, pcg-rand --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3bc42f410..43a38e80e 100644 --- a/README.md +++ b/README.md @@ -641,6 +641,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] * [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) * [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) +* [PCG-rand](https://www.pcg-random.org/) - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache] * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) * [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) * [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] @@ -851,6 +852,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] * [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] +* [Indiesort](https://github.com/mattreecebentley/plf_indiesort) - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm) ## Video From 7dc73d0e56917a9c90acc3ceae807cffa659a531 Mon Sep 17 00:00:00 2001 From: Faraz Date: Sat, 23 Jan 2021 01:07:31 -0500 Subject: [PATCH 561/959] Update LICENSE --- LICENSE | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/LICENSE b/LICENSE index e5aa24a97..5c34c8d99 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,21 @@ +MIT License - Copyright (C) 2014-2019 Faraz Fallahi +Copyright (c) 2014-2021 Faraz Fallahi - THE LIST IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION: - 1. You just DO WHAT YOU WANT TO. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 8445f9855bc71a96af986008ed13fc21e9bfdfcf Mon Sep 17 00:00:00 2001 From: "Pirogov, Vadim" Date: Fri, 29 Jan 2021 14:05:25 -0800 Subject: [PATCH 562/959] Added oneDNN to Artificial Intelligence section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43a38e80e..4cf6423f9 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) * [Recast/Detour](https://github.com/recastnavigation/recastnavigation) - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib] * [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs [Apache] +* [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] * [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] From 1a6e8c6862e2dd2b6aeeadc465c39c739a3e1c33 Mon Sep 17 00:00:00 2001 From: "Pirogov, Vadim" Date: Fri, 29 Jan 2021 14:09:00 -0800 Subject: [PATCH 563/959] Added oneDAL to Machine Learning section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4cf6423f9..e0cfc2d65 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) +* [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] From 803c47512b045dfc2c96f21a5fa42481c2728d3e Mon Sep 17 00:00:00 2001 From: Sean Valeo Date: Mon, 1 Feb 2021 13:55:22 -0500 Subject: [PATCH 564/959] add link to C++ by example --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0cfc2d65..d76ea2288 100644 --- a/README.md +++ b/README.md @@ -1143,6 +1143,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. +* [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. * [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. * [C FAQ](http://c-faq.com/) - C frequently asked questions. * [C++ FAQ](http://www.parashift.com/c++-faq/) - C++ frequently asked questions. From 7da5dc8c93d946d2d30508726ffb535552f6673f Mon Sep 17 00:00:00 2001 From: Jan Bielak Date: Wed, 10 Feb 2021 14:06:59 +0100 Subject: [PATCH 565/959] Add GLFWPP A modern C++ wrapper for GLFW --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d76ea2288..1e171c8e0 100644 --- a/README.md +++ b/README.md @@ -477,6 +477,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] +* [GLFWPP](https://github.com/janekb04/glfwpp) - A modern C++ wrapper for GLFW. [MIT] * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From 69fc633957f87857572c91c1ea583b5d2ae0c0a0 Mon Sep 17 00:00:00 2001 From: Jan Bielak Date: Wed, 10 Feb 2021 14:32:30 +0100 Subject: [PATCH 566/959] Add GLFWPP Copy description from project README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e171c8e0..d274f8e10 100644 --- a/README.md +++ b/README.md @@ -477,7 +477,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] -* [GLFWPP](https://github.com/janekb04/glfwpp) - A modern C++ wrapper for GLFW. [MIT] +* [GLFWPP](https://github.com/janekb04/glfwpp) - A thin modern C++17 header-only wrapper for GLFW. [MIT] * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From ce941e299b9af12034904f41b917e51a3fc2a3dc Mon Sep 17 00:00:00 2001 From: liyingxin Date: Thu, 11 Feb 2021 00:27:58 +0800 Subject: [PATCH 567/959] Add Workflow to Frameworks. Workflow, C++ Parallel Computing and Asynchronous Networking Engine. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d76ea2288..48dedf7d1 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] * [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] * [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] +* [Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] ## Artificial Intelligence From 5b96bc08075d19edf6a47e78df0d0b46e4ef47c6 Mon Sep 17 00:00:00 2001 From: liyingxin Date: Thu, 11 Feb 2021 01:12:50 +0800 Subject: [PATCH 568/959] Add C++ Workflow to Frameworks. add C++ for full name. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 48dedf7d1..e1eafacfe 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] +* [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] [website](http://dlib.net/) @@ -111,7 +112,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] * [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] * [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] -* [Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] ## Artificial Intelligence From 8d3f43ad9317a7ff138b7d384ef0d7c73533c979 Mon Sep 17 00:00:00 2001 From: Julien SOYSOUVANH Date: Wed, 17 Feb 2021 17:42:18 +0100 Subject: [PATCH 569/959] Add Refureku to Reflection section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b331f56b..899ce85d7 100644 --- a/README.md +++ b/README.md @@ -775,6 +775,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] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) * [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] +* [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] ## Regular Expression From faa2850f0d4efecb0cadeb83cc997ecc8e9b7a7f Mon Sep 17 00:00:00 2001 From: Alexander Shaduri Date: Thu, 18 Feb 2021 17:26:18 +0400 Subject: [PATCH 570/959] Added Csv::Parser library to CSV section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 899ce85d7..aa1f81b2d 100644 --- a/README.md +++ b/README.md @@ -341,6 +341,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Libraries for parsing Comma Separated Value (CSV) files* * [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] +* [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] * [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] * [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 62eb504684fba114586ef4e709846194837ac5fe Mon Sep 17 00:00:00 2001 From: "Behrouz.m" <6133519+Behrouz-m@users.noreply.github.com> Date: Sat, 20 Feb 2021 13:05:56 +0330 Subject: [PATCH 571/959] Update Dlib description in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa1f81b2d..122c9e669 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] -* [Dlib](https://github.com/davisking/dlib) :zap: - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] [website](http://dlib.net/) +* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library. [MIT] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] From f5a0d87ba0b80de701b4acd5fa2daef45422f057 Mon Sep 17 00:00:00 2001 From: Aditya Gupta Date: Sun, 28 Feb 2021 15:52:32 +0530 Subject: [PATCH 572/959] Added Yaml category, and mini-yaml There is not a Yaml parser listed here, although there is one on libhunt --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 122c9e669..63c15e571 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Virtual Machines](#virtual-machines) - [Web Application Framework](#web-application-framework) - [XML](#xml) + - [Yaml](#yaml) - [Miscellaneous](#miscellaneous) - [Software](#software) - [Compiler](#compiler) @@ -909,6 +910,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] * [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] +## Yaml + +* [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. + ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* From 3b72f348d22df7cb8997a5ce2dde1e54af9971c6 Mon Sep 17 00:00:00 2001 From: Aditya Gupta Date: Sun, 28 Feb 2021 15:59:41 +0530 Subject: [PATCH 573/959] Add License for mini-yaml --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 63c15e571..0b59ba433 100644 --- a/README.md +++ b/README.md @@ -912,7 +912,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Yaml -* [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. +* [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* From ee25e5560d8cde6a8375c45ad85ae588606639e8 Mon Sep 17 00:00:00 2001 From: Aditya Gupta Date: Sun, 28 Feb 2021 16:04:10 +0530 Subject: [PATCH 574/959] Added yaml-cpp yaml-cpp is already listed on libhunt, adding it to the Yaml category here --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0b59ba433..da52c3ff8 100644 --- a/README.md +++ b/README.md @@ -913,6 +913,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Yaml * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] +* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* From 65145d9a248766040d41513a315a27cda1fcd7a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Tue, 16 Mar 2021 09:01:44 +0100 Subject: [PATCH 575/959] Add json-struct --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da52c3ff8..d6f388251 100644 --- a/README.md +++ b/README.md @@ -567,6 +567,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] +* [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] * [json-voorhees](https://github.com/tgockel/json-voorhees) - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2] * [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] * [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] From 565ec4a8b2be00341e0ee424a4b7cd13ea2fa5a4 Mon Sep 17 00:00:00 2001 From: Rui LIU Date: Sat, 10 Apr 2021 22:23:36 +0800 Subject: [PATCH 576/959] Fix a typo (#1090) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d6f388251..8a652c6eb 100644 --- a/README.md +++ b/README.md @@ -692,7 +692,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] * [Restinio](https://github.com/Stiffstream/restinio) - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD] * [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] -* [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS sever library. [MIT] +* [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS server library. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] * [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] From 3933aad4a01dd9445e43cbf3a446ab9c635ed422 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 10 Apr 2021 22:29:19 +0800 Subject: [PATCH 577/959] JSON: Add yyjson --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8a652c6eb..f14ec7442 100644 --- a/README.md +++ b/README.md @@ -583,6 +583,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] * [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] +* [yyjson](https://github.com/ibireme/yyjson) - A high performance JSON library written in ANSI C. [MIT] ## Logging From 0333f51e11c698b074a747f6be314beabd48a0bb Mon Sep 17 00:00:00 2001 From: Frank Lange Date: Sat, 10 Apr 2021 15:36:53 +0200 Subject: [PATCH 578/959] Add ni-media --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6f388251..195093de9 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] * [miniaudio](https://github.com/dr-soft/miniaudio) - Single file audio playback and capture library. [Unlicense] +* [ni-media](https://github.com/NativeInstruments/ni-media) - C++ library for reading and writing audio files. [MIT] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] * [PortAudio](http://www.portaudio.com/) - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT] * [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] From a210b34bd5843bcf29cb42418260dd2476b4f1df Mon Sep 17 00:00:00 2001 From: Dmitry Baryshev Date: Tue, 20 Apr 2021 23:20:20 +0300 Subject: [PATCH 579/959] Add SAIL to Image Processing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f828a6cad..774c8511f 100644 --- a/README.md +++ b/README.md @@ -520,6 +520,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] +* [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] * [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] * [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] * [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] From 07aa7bacba6ade5cd71561e15cf3b8134407f2fe Mon Sep 17 00:00:00 2001 From: Michael de Lang Date: Sun, 2 May 2021 16:44:22 +0200 Subject: [PATCH 580/959] Add Ichor to Asynchronous Event Loop --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 774c8511f..8ade04317 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Asio](https://github.com/chriskohlhoff/asio/) - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] [website](http://think-async.com/) * [Boost.Asio](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] * [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) +* [Ichor](https://github.com/volt-software/ichor) - An event queue which focuses on thread safety and provides dependency injection. [MIT] * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] * [libevent](http://libevent.org/) - An event notification library. [BSD] * [libhv](https://github.com/ithewei/libhv) - Cross-platform event loop library. [BSD] From f2b6163ee27880da5b63c83ae6d8bd53e8128686 Mon Sep 17 00:00:00 2001 From: Saeed_Masoomi Date: Wed, 5 May 2021 21:48:33 +0430 Subject: [PATCH 581/959] add flashlight to artifical intelligence --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 774c8511f..5e854bf10 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Genann](https://github.com/codeplea/genann) - Simple neural network library in C. [zlib] * [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) * [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) +* [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD] * [Recast/Detour](https://github.com/recastnavigation/recastnavigation) - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib] * [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs [Apache] * [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) From d231762034e60836fdd9eb36b37a5b63ffe2171d Mon Sep 17 00:00:00 2001 From: Evgeny Proydakov Date: Thu, 6 May 2021 04:06:58 +0300 Subject: [PATCH 582/959] Added NCNN to Machine Learning --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5e854bf10..f15d6d7fd 100644 --- a/README.md +++ b/README.md @@ -625,6 +625,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] * [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) * [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] +* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] ## Math From a2c2d3e59644d679c3294c1c6101f2a434960a3e Mon Sep 17 00:00:00 2001 From: Grzegorz Antoniak Date: Sat, 8 May 2021 10:49:16 +0200 Subject: [PATCH 583/959] Fixed broken link: Containers/C++ B-tree Previous link was pointing to a code.google.com repository, which reported a 404 error. New link seems to be not official, but working ;) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f15d6d7fd..f2011359c 100644 --- a/README.md +++ b/README.md @@ -300,7 +300,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers -* [C++ B-tree](https://code.google.com/p/cpp-btree/) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] +* [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] * [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] From babeeb62dbdb620a735f073af1d704e25460448c Mon Sep 17 00:00:00 2001 From: Meng Rao <278307367@qq.com> Date: Sun, 16 May 2021 13:24:53 +0800 Subject: [PATCH 584/959] Add fmtlog to logging fmtlog is a performant asynchronous logging library using fmt library format. It's easy to use and might be the fastest C++ logging lib so far. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa88cbd10..f2c9e24b6 100644 --- a/README.md +++ b/README.md @@ -594,6 +594,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] * [Easylogging++](https://github.com/easylogging/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] [website](https://muflihun.github.io/easyloggingpp) +* [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] * [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] From b4f4ca354f6fb0d62fa3c2f6fd3864507c294966 Mon Sep 17 00:00:00 2001 From: BradyAtkinson Date: Mon, 24 May 2021 23:37:41 -0300 Subject: [PATCH 585/959] fixed broken x265 links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f2c9e24b6..3e910c6bb 100644 --- a/README.md +++ b/README.md @@ -874,7 +874,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] * [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) -* [x265](https://bitbucket.org/multicoreware/x265/wiki/Home) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/default/) +* [x265](https://bitbucket.org/multicoreware/x265_git/wiki/Home) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) * [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) * [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] * [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] From 6b7201f741bc5722b2d279b08bdb9b713595193f Mon Sep 17 00:00:00 2001 From: BradyAtkinson Date: Mon, 24 May 2021 23:41:12 -0300 Subject: [PATCH 586/959] switched the x265 link to the source code --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e910c6bb..5ba78cf82 100644 --- a/README.md +++ b/README.md @@ -874,7 +874,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] * [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/wiki/Home) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) +* [x265](https://bitbucket.org/multicoreware/x265_git/src) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) * [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) * [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] * [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] From 5ccd52b2d109b78e8242690aeba3e7948dfb22c0 Mon Sep 17 00:00:00 2001 From: idealvin Date: Mon, 31 May 2021 19:26:17 +0800 Subject: [PATCH 587/959] add CO --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ba78cf82..cfe9949d4 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] +* [CO](https://github.com/idealvin/co) - A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components. [MIT] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] From 7386117a481bf05567dcddd70bd976d48e93ca07 Mon Sep 17 00:00:00 2001 From: ZigRazor Date: Thu, 24 Jun 2021 10:01:32 +0200 Subject: [PATCH 588/959] Introduced CXXGraph Library Introduced CXXGraph header-only library, that provides utilities for representation and algorithms on graph. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfe9949d4..33281492f 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] From 3377fdc73362ca7845a237a4147deb1e46d88310 Mon Sep 17 00:00:00 2001 From: Devan Mallory <32146940+dman82499@users.noreply.github.com> Date: Sat, 26 Jun 2021 02:58:12 -0400 Subject: [PATCH 589/959] Updated README.md to include Numcpp in the math section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfe9949d4..58ac6a3df 100644 --- a/README.md +++ b/README.md @@ -650,6 +650,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [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] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] +* [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] From 015fed32f0b33c9ba1fad3685558e19640e5e73c Mon Sep 17 00:00:00 2001 From: Kevin Gliewe Date: Mon, 28 Jun 2021 23:32:56 +0200 Subject: [PATCH 590/959] Fix broken links --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 58ac6a3df..085693413 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] * [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] -* [MiLi](https://bitbucket.org/fudepan/mili/) - Minimal headers-only C++ Library. [Boost] +* [MiLi](https://github.com/MariadeAnton/MiLi) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) * [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] @@ -192,7 +192,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Chemistry, Geochemistry, Biochemistry* * [d-SEAMS](https://github.com/d-SEAMS/seams-core) - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] [website](https://dseams.info) -* [gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://gromacs.org) +* [gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://www.gromacs.org) * [Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org) * [LAMMPS](https://github.com/lammps/lammps) - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] [website](https://lammps.sandia.gov/) @@ -518,8 +518,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) -* [Magick++](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C++. [Apache2] -* [MagickWnd](http://www.imagemagick.org/script/api.php) - ImageMagick program interfaces for C. [Apache2] +* [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] +* [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] * [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] @@ -594,7 +594,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] * [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] -* [Easylogging++](https://github.com/easylogging/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] [website](https://muflihun.github.io/easyloggingpp) +* [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] * [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] * [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. @@ -664,7 +664,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] -* [xtensor](https://github.com/QuantStack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](http://quantstack.net/xtensor) +* [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) * [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] [website](http://www.stillwater-sc.com/assets/content/stillwater-universal-sw.html) ## Memory Allocation @@ -777,7 +777,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Reflection * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) -* [clReflect](https://bitbucket.org/dwilliamson/clreflect) - C++ Reflection using clang. [MIT] +* [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] @@ -943,7 +943,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] -* [libsigc++](http://libsigc.sourceforge.net/) - A typesafe callback system for standard C++. [LGPL] +* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] @@ -983,7 +983,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. * [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. * [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. -* [Microsoft Visual C++](https://msdn.microsoft.com/en-us/vstudio/hh386302.aspx) - MSVC, developed by Microsoft. +* [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft. * [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] * [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] * [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] From e04f44b6d7dd29830138205d4813fe19b3ed6410 Mon Sep 17 00:00:00 2001 From: Owen Young <62473795+theowenyoung@users.noreply.github.com> Date: Thu, 8 Jul 2021 21:40:11 +0800 Subject: [PATCH 591/959] Add Track Awesome List Badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 085693413..71e7e767c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) +# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](https://www.trackawesomelist.com/fffaraz/awesome-cpp/) A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. - [Awesome C++](#awesome-cpp) From b24346130ee3021138a75713cca85d270ca1e616 Mon Sep 17 00:00:00 2001 From: Julien Combattelli Date: Wed, 14 Jul 2021 10:02:43 +0200 Subject: [PATCH 592/959] Add o3de to game engines section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71e7e767c..ea1947fff 100644 --- a/README.md +++ b/README.md @@ -435,6 +435,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) +* [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) * [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] * [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) From 04101b27dac295c1211c39792fa9d5de109315d2 Mon Sep 17 00:00:00 2001 From: netcan <1469709759@qq.com> Date: Sat, 17 Jul 2021 12:14:08 +0800 Subject: [PATCH 593/959] Add config-loader to Reflection --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ea1947fff..430429d80 100644 --- a/README.md +++ b/README.md @@ -777,6 +777,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Reflection +* [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) From d70176170141565492721e515a94df9969d8840c Mon Sep 17 00:00:00 2001 From: Alex Syrnikov Date: Sat, 24 Jul 2021 00:12:12 +0300 Subject: [PATCH 594/959] add build2 to build systems --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 430429d80..73f882ac9 100644 --- a/README.md +++ b/README.md @@ -1045,6 +1045,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] * [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] * [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] +* [build2](https://build2.org/) - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT] * [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] * [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] * [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) From 48e01d6446d87605ec73c2883d89fcbc0865e5f2 Mon Sep 17 00:00:00 2001 From: Amir Farukshin Date: Wed, 28 Jul 2021 13:15:40 +0300 Subject: [PATCH 595/959] #1125 add online compiler CodeChef --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73f882ac9..5e673a6b5 100644 --- a/README.md +++ b/README.md @@ -993,6 +993,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Online Compiler *List of online C or C++ compilers* +* [codechef](https://www.codechef.com/ide) - A simple online compiler CodeChef. * [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. * [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers. * [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. From 84c8432fae268836c946aaf576d8d673e6000ccf Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sat, 31 Jul 2021 22:24:17 -0300 Subject: [PATCH 596/959] Added DebugViewPP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5e673a6b5..c55fcebfe 100644 --- a/README.md +++ b/README.md @@ -394,6 +394,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] +* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] * [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] From 4dc9320b9167deec6adece11052b542cf575f7fd Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sun, 1 Aug 2021 21:09:57 -0300 Subject: [PATCH 597/959] Added Kratos framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c55fcebfe..186e381f9 100644 --- a/README.md +++ b/README.md @@ -769,6 +769,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] * [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] * [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] +* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) From d20ef30de0bc4eb044bfe6e3278f51e721eb1af7 Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sun, 1 Aug 2021 23:08:57 -0300 Subject: [PATCH 598/959] Added matplotplusplus and a new section for data visualization --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 186e381f9..69cbfefc4 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Cryptography](#cryptography) - [CSV](#csv) - [Database](#database) + - [Data visualization](#data-visualization) - [Debug](#debug) - [Font](#font) - [Game Engine](#game-engine) @@ -377,6 +378,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] +## Data visualization +*Data visiualization Libraries* +* [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) + ## Debug *Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* From e46285821239510fb4ea5d4b372a80b0d1dc7602 Mon Sep 17 00:00:00 2001 From: Lekrieg Date: Sun, 1 Aug 2021 23:09:58 -0300 Subject: [PATCH 599/959] Added matplotplusplus and a new section for data visualization --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69cbfefc4..6e2fdab2a 100644 --- a/README.md +++ b/README.md @@ -380,6 +380,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Data visualization *Data visiualization Libraries* + * [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) ## Debug From 9eb2fe79cc2e6ad2b653dfbf536282559bec105c Mon Sep 17 00:00:00 2001 From: badaix Date: Mon, 2 Aug 2021 14:55:03 +0200 Subject: [PATCH 600/959] Add badaix/popl to CLI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e2fdab2a..0cc2eb880 100644 --- a/README.md +++ b/README.md @@ -215,6 +215,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] + * [popl](https://github.com/badaix/popl) - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT] * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] From 5b918b41dca0b720d5c99723d9a913d346f9dc78 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Mon, 2 Aug 2021 22:47:35 +0300 Subject: [PATCH 601/959] Add m2cgen for transpiling ML models into C code --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e2fdab2a..fa097dbdf 100644 --- a/README.md +++ b/README.md @@ -625,6 +625,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) * [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) +* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) From 1c3f2c7b5422e67f69657013197e7bf412391ecf Mon Sep 17 00:00:00 2001 From: Tzach Livyatan Date: Tue, 3 Aug 2021 22:01:22 +0300 Subject: [PATCH 602/959] Add Seastar framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f10a76237..5ea93d008 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] +* [Seastar](https://github.com/scylladb/seastar) - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/) * [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] * [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost] * [tbox](https://github.com/tboox/tbox) - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/) From 0e473228caf83b6494603fddaa1a0befcf5943b2 Mon Sep 17 00:00:00 2001 From: Devesh Pal Date: Sat, 7 Aug 2021 10:08:30 +0530 Subject: [PATCH 603/959] Remove broken link/unaccessible --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5ea93d008..71c72fbca 100644 --- a/README.md +++ b/README.md @@ -1204,7 +1204,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) * [Kenny Kerr](https://kennykerr.ca/articles/) * [Sutter’s Mill](https://herbsutter.com/gotw/) -* [thoughts on cpp](https://thoughts-on-cpp.com/) * [Vorbrodt's C++ Blog](https://vorbrodt.blog/) * [foonathan::blog()](https://foonathan.net/index.html) From 64a4bb0b22edca9ac0b8bceb807b537fcb593bbf Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 14 Aug 2021 23:30:21 -0400 Subject: [PATCH 604/959] Add touca-cpp by @trytouca --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71c72fbca..3837d873d 100644 --- a/README.md +++ b/README.md @@ -393,7 +393,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch](https://github.com/philsquared/Catch) - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD. [Boost] * [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] @@ -416,6 +415,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] +* [Touca](https://github.com/trytouca/touca-cpp) - Automated regression testing system for testing complex mission-critical workflows. [Apache2] [website](https://touca.io/) * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] From 3afa6b2aaa82e9e9e28b1cd2d33ad2293e56ca63 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 3 Sep 2021 21:33:37 +0800 Subject: [PATCH 605/959] Audio: Add dr_libs and update miniaudio links --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3837d873d..a2bc657e8 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Audio, Sound, Music, Digitized Voice Libraries* * [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [GPL3] +* [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] * [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] @@ -160,7 +161,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] * [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] -* [miniaudio](https://github.com/dr-soft/miniaudio) - Single file audio playback and capture library. [Unlicense] +* [miniaudio](https://github.com/mackron/miniaudio) - Single file audio playback and capture library. [Unlicense] [website](https://miniaud.io/) * [ni-media](https://github.com/NativeInstruments/ni-media) - C++ library for reading and writing audio files. [MIT] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] * [PortAudio](http://www.portaudio.com/) - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT] From c00b618b919fa1c85a07a244d3c79326ff7fcf1e Mon Sep 17 00:00:00 2001 From: Farook Al-Sammarraie Date: Fri, 10 Sep 2021 03:30:01 +0300 Subject: [PATCH 606/959] Update Crow entry to use up to date version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a2bc657e8..7ddb52b90 100644 --- a/README.md +++ b/README.md @@ -906,7 +906,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] -* [Crow](https://github.com/ipkn/crow) - Crow is C++ micro web framework (inspired by Python Flask). [BSD] +* [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) * [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) * [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] * [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) From 01a9fdb1194963ba94467b1b91d9423f42d2b898 Mon Sep 17 00:00:00 2001 From: a4z Date: Thu, 16 Sep 2021 10:59:57 +0200 Subject: [PATCH 607/959] Update djinni project URL The original project has been retired and is only as a read only git repo available. Development of djinni happens nowadays via https://github.com/cross-language-cpp The submitted link points to the documentation site. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ddb52b90..868d1bc9d 100644 --- a/README.md +++ b/README.md @@ -843,7 +843,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) * [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] * [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) -* [djinni](https://github.com/dropbox/djinni) - A tool for generating cross-language type declarations and interface bindings. [Apache2] +* [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] * [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) * [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) From 39670b261779065b202dadc0291769ace8efc0da Mon Sep 17 00:00:00 2001 From: Gammasoft Date: Fri, 24 Sep 2021 12:03:17 +0200 Subject: [PATCH 608/959] Update README.md Add xtd framework to GUI section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 868d1bc9d..6ab35a3f8 100644 --- a/README.md +++ b/README.md @@ -482,6 +482,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] +* [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] ## Graphics From b38d3a6ce2cb41bc21fae07285c5a08c73790c99 Mon Sep 17 00:00:00 2001 From: Prasanthpadp <76952704+Prasanthpadp@users.noreply.github.com> Date: Thu, 30 Sep 2021 17:55:21 +0530 Subject: [PATCH 609/959] New Resource for online C++ compilers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ab35a3f8..d10ebee1c 100644 --- a/README.md +++ b/README.md @@ -1017,6 +1017,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. * [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. * [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. +* [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. ## Debugger *List of C or C++ debuggers* From 4593a1248bfe35b0d64d77f3353a9c78ef1719f7 Mon Sep 17 00:00:00 2001 From: Antonio Borondo Date: Thu, 30 Sep 2021 17:57:20 +0200 Subject: [PATCH 610/959] Add inifile-cpp library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ab35a3f8..a16e5003e 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Configuration *Configuration files, INI files* +* [inifile-cpp](https://github.com/Rookfighter/inifile-cpp) - A header-only and easy to use Ini file parser for C++. [MIT] * [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] * [inih](https://github.com/jtilly/inih) - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] * [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] From 39d2ce37af526933bd1b1c924f1d8678d363f28b Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Mon, 4 Oct 2021 13:28:54 +0200 Subject: [PATCH 611/959] Add preCICE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 843e32ab3..33c17b29f 100644 --- a/README.md +++ b/README.md @@ -832,6 +832,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] * [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] * [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] +* [preCICE](https://github.com/precice/precice) - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/) * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] * [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) From d4411b33cd5ce746eba455ff44aa8333012416a3 Mon Sep 17 00:00:00 2001 From: Markus Gans Date: Mon, 4 Oct 2021 19:00:27 +0200 Subject: [PATCH 612/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 843e32ab3..f1d75fe73 100644 --- a/README.md +++ b/README.md @@ -210,6 +210,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] + * [FINAL CUT](https://github.com/gansm/finalcut) - Library for creating terminal applications with text-based widgets. [LGPL] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] * [indicators](https://github.com/p-ranav/indicators/) - Activity indicators for Modern C++. [MIT] * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] From 30197127bff439b08911b5caeacb6b1dadb3afc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20G=C3=BCndling?= Date: Sat, 9 Oct 2021 17:34:02 +0200 Subject: [PATCH 613/959] serialization: add cista library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fa99850f..cab58d90f 100644 --- a/README.md +++ b/README.md @@ -871,6 +871,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] +* [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] From beea088d466d2f7c97300f3499ea583b52480e82 Mon Sep 17 00:00:00 2001 From: Yevgeniy Zakharov Date: Sat, 30 Oct 2021 09:40:19 +0300 Subject: [PATCH 614/959] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bb32f977..b4e7db026 100644 --- a/README.md +++ b/README.md @@ -377,7 +377,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] * [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] -* [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [BSD-3-Clause] +* [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [AGPL + paid MIT] * [sqlpp11](https://github.com/rbock/sqlpp11) - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) From a801b33847fa03f80ddd76911024103598f58d88 Mon Sep 17 00:00:00 2001 From: wakeupneo Date: Tue, 9 Nov 2021 22:42:54 +0100 Subject: [PATCH 615/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b4e7db026..24ca69425 100644 --- a/README.md +++ b/README.md @@ -359,6 +359,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Database *Database Libraries, SQL Servers, ODBC Drivers, and Tools* +* [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] From 2293d726660c9a2dbd11c396781919f139fcb704 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 23 Nov 2021 21:57:35 +0800 Subject: [PATCH 616/959] Memory Allocation: Add rpmalloc, snmalloc, TCMalloc --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 24ca69425..0ad2cb2e0 100644 --- a/README.md +++ b/README.md @@ -693,6 +693,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] * [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] * [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] +* [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] +* [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] +* [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) * [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] ## Multimedia From 76d3b13095a039989099ec568aef12ab7f029d13 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 23 Nov 2021 22:06:54 +0800 Subject: [PATCH 617/959] CLI: Add oof --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24ca69425..6d9d58791 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT] + * [oof](https://github.com/s9w/oof) - Convenient, high-performance RGB color and position control for console output. [MIT] * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [popl](https://github.com/badaix/popl) - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] From 10459d35aa4b997a6ec1b9eaadfb28fb80923f3e Mon Sep 17 00:00:00 2001 From: Chandan Mahto Date: Tue, 23 Nov 2021 22:14:56 +0530 Subject: [PATCH 618/959] Fixed "Free C Books" and "Free C++ Books" links. Free C Books and Free C++ Books used to point to 404 pages. They now point to correct page. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24ca69425..f35fb6e75 100644 --- a/README.md +++ b/README.md @@ -1142,8 +1142,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Fantastic C or C++ related books.* * [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) -* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md#c) - vhf/free-programming-books/C. -* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/master/books/free-programming-books.md#c-1) - vhf/free-programming-books/C++. +* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#c) - vhf/free-programming-books/C. +* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. * [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. ## Coding Style From 4943e845203225342e417a1a784924434fb8c97a Mon Sep 17 00:00:00 2001 From: Ivan Baidakou Date: Fri, 31 Dec 2021 13:24:24 +0300 Subject: [PATCH 619/959] Add rotor (basiliscos/cpp-rotor) into concurrency section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36032e9b9..15ac32e95 100644 --- a/README.md +++ b/README.md @@ -284,6 +284,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] * [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. * [OpenMP](http://openmp.org/) - The OpenMP API. +* [rotor](https://github.com/basiliscos/cpp-rotor) - Event loop friendly C++ actor micro framework. [MIT] * [SObjectizer](https://github.com/Stiffstream/sobjectizer) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause] * [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] From 1833c7ece9cebda618270f626f907a7b0ec75524 Mon Sep 17 00:00:00 2001 From: Rangsiman Ketkaew Date: Wed, 5 Jan 2022 20:55:29 +0100 Subject: [PATCH 620/959] Add quantum chemistry packages Add quantum chemistry packages --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 15ac32e95..d44879cb7 100644 --- a/README.md +++ b/README.md @@ -192,12 +192,16 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libutp](https://github.com/bittorrent/libutp) - uTorrent Transport Protocol library. [MIT] ## Chemistry -*Chemistry, Geochemistry, Biochemistry* +*Chemistry, Quantum Chemistry, Solid-State Chemistry/Physics, Geochemistry, Biochemistry* * [d-SEAMS](https://github.com/d-SEAMS/seams-core) - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] [website](https://dseams.info) * [gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://www.gromacs.org) * [Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org) * [LAMMPS](https://github.com/lammps/lammps) - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] [website](https://lammps.sandia.gov/) +* [MADNESS](https://github.com/m-a-d-n-e-s-s/madness) - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] [website](https://github.com/m-a-d-n-e-s-s/madness) +* [MPQC](https://github.com/ValeevGroup/mpqc) - The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL] [website](https://mpqc.org/) +* [ORCA](https://en.wikipedia.org/wiki/ORCA_(quantum_chemistry_program)) - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] [website](https://orcaforum.kofo.mpg.de/) +* [Psi](https://github.com/psi4/psi4) - An ab initio computational chemistry package. [GPL] [website](https://psicode.org/) ## CLI *Console/Terminal User Interface, Command Line Interface* From 55256666316208b8c5322b980610d77f063a8144 Mon Sep 17 00:00:00 2001 From: Ofek Shilon Date: Fri, 7 Jan 2022 19:04:27 +0200 Subject: [PATCH 621/959] Fix VLD link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 020a8a5d2..10ed6996c 100644 --- a/README.md +++ b/README.md @@ -430,7 +430,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] * [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] -* [VLD](http://vld.codeplex.com/) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. +* [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. ## Font *Libraries for parsing and manipulating font files.* From 6dc4a92bc4d094ceceba0e1627f6e9ed9c760990 Mon Sep 17 00:00:00 2001 From: Alvin Date: Sun, 9 Jan 2022 18:25:52 +0800 Subject: [PATCH 622/959] rename co to cocoyaxi --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 10ed6996c..4d40f3a13 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] -* [CO](https://github.com/idealvin/co) - A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components. [MIT] +* [cocoyaxi](https://github.com/idealvin/cocoyaxi) - A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components. [MIT] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] From 9bbcd63661933a0f4f27f53f8126c5d2df0b4432 Mon Sep 17 00:00:00 2001 From: Layerex Date: Mon, 14 Feb 2022 16:39:43 +0300 Subject: [PATCH 623/959] Update Skia website link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d40f3a13..43bfc4b87 100644 --- a/README.md +++ b/README.md @@ -519,7 +519,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] * [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] * [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] -* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [webpage](https://sites.google.com/site/skiadocs/home) +* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) * [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] * [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] * [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] From a792c27c2dbc0bfdf40d53274f3020ae52f79365 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 2 Mar 2022 12:39:23 +0100 Subject: [PATCH 624/959] Add Slint --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43bfc4b87..3f9b3b22f 100644 --- a/README.md +++ b/README.md @@ -490,6 +490,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From ac71ed14819d701f973e065f15de04b5ff78629c Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Thu, 7 Apr 2022 21:54:49 -0300 Subject: [PATCH 625/959] add Concord --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f9b3b22f..2468d6648 100644 --- a/README.md +++ b/README.md @@ -964,6 +964,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From 393c940e0cddaaad3290a4a072c45b7379b9cdfe Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Thu, 7 Apr 2022 21:56:49 -0300 Subject: [PATCH 626/959] add json-build --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2468d6648..02a490602 100644 --- a/README.md +++ b/README.md @@ -589,6 +589,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] +* [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] * [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] @@ -964,7 +965,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] -* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From a8b8553265e1960cc9c2990ed1a5368ef7c72086 Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Fri, 8 Apr 2022 10:44:15 -0300 Subject: [PATCH 627/959] add Concord --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02a490602..a590b774f 100644 --- a/README.md +++ b/README.md @@ -923,6 +923,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Web Application Framework * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) From 2a2c5b57a2136668728de7790b9ddef9a675aabc Mon Sep 17 00:00:00 2001 From: lcsmuller Date: Fri, 8 Apr 2022 12:21:50 -0300 Subject: [PATCH 628/959] fix: move to Miscellaneous section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a590b774f..e76da5421 100644 --- a/README.md +++ b/README.md @@ -923,7 +923,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Web Application Framework * [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] -* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] * [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) @@ -966,6 +965,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From 78389b87f66ae54c2b4d541c2845b93f992eca52 Mon Sep 17 00:00:00 2001 From: Mohammad Nejati Date: Mon, 18 Apr 2022 12:19:05 +0430 Subject: [PATCH 629/959] Add lazycsv lazycsv is a fast, lightweight and single-header csv parser written in modern C++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e76da5421..156bdffb8 100644 --- a/README.md +++ b/README.md @@ -360,6 +360,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] * [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] * [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] +* [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] * [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] ## Database From a67ebd74cfc97580a496c1d0a37b0c3ebd169b10 Mon Sep 17 00:00:00 2001 From: Christian Eltzschig Date: Mon, 25 Apr 2022 11:00:25 +0200 Subject: [PATCH 630/959] iceoryx is a true zero copy ipc framework for safety critical systems like cars Signed-off-by: Christian Eltzschig --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 156bdffb8..b43fcbec2 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) * [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] +* [iceoryx](https://github.com/eclipse-iceoryx/iceoryx) - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] [website](https://iceoryx.io/) * [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] * [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) * [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) From e47e1a87311be8dc197e4d6728aef9ca82baf6e1 Mon Sep 17 00:00:00 2001 From: Pranav Date: Thu, 28 Apr 2022 22:21:28 -0500 Subject: [PATCH 631/959] Added p-ranav/fccf to `Miscellaneous` section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b43fcbec2..ed79186f8 100644 --- a/README.md +++ b/README.md @@ -970,6 +970,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] From 27b6ff31163c67d9d74566793402f2a39e976ccd Mon Sep 17 00:00:00 2001 From: Nima Date: Fri, 6 May 2022 00:36:14 +0430 Subject: [PATCH 632/959] ONNX runtime added to Machine learning section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed79186f8..bfbfe2f6a 100644 --- a/README.md +++ b/README.md @@ -648,6 +648,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] +* [ONNX runtime](https://onnxruntime.ai/) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are based on. * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] From eba29710b154b8babaabc8fca62fb701812e898e Mon Sep 17 00:00:00 2001 From: Ofek Date: Tue, 10 May 2022 17:03:32 +0300 Subject: [PATCH 633/959] Update README.md Add OptView2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed79186f8..52863c159 100644 --- a/README.md +++ b/README.md @@ -1118,6 +1118,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. +* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations ## Coding Style Tools From 9abeca821294f951471246eb570b2a0753487a92 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 14 May 2022 12:47:35 -0400 Subject: [PATCH 634/959] Create FUNDING.yml --- .github/FUNDING.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..982098791 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: fffaraz +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From 74baf1349215d2b6cfb0a62f1e65405e6bc093f6 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 May 2022 21:17:32 +0800 Subject: [PATCH 635/959] Audio: Add rnnoise --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52863c159..03d5ed9b0 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ni-media](https://github.com/NativeInstruments/ni-media) - C++ library for reading and writing audio files. [MIT] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] * [PortAudio](http://www.portaudio.com/) - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT] +* [rnnoise](https://github.com/xiph/rnnoise) - Recurrent neural network for audio noise reduction. [BSD-3-Clause] * [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] * [SoLoud](https://github.com/jarikomppa/soloud) - Easy, portable audio engine for games. [zlib] * [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD] From e9794b5b14f9810c6eb67e0466a09affeee9b743 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 May 2022 21:21:07 +0800 Subject: [PATCH 636/959] Debug: Remove MemTrack --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 52863c159..b19df83ef 100644 --- a/README.md +++ b/README.md @@ -419,7 +419,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] * [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] * [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] -* [MemTrack](http://www.almostinfinite.com/memtrack.html) - Tracking memory allocations in C++. * [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] * [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] * [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. From 171cac09970d256dc05e9ee19694814444b7f63d Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 21 May 2022 21:28:08 +0800 Subject: [PATCH 637/959] Debug: Add FakeIt --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52863c159..e83e170c9 100644 --- a/README.md +++ b/README.md @@ -414,6 +414,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] * [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] * [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. +* [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] * [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] * [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] From 568d181b71435fcb1afa02b07e225590560667d2 Mon Sep 17 00:00:00 2001 From: Nima Samadi Date: Wed, 25 May 2022 12:56:31 +0430 Subject: [PATCH 638/959] ONNX runtime license and website added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c773c0ae0..6517574fd 100644 --- a/README.md +++ b/README.md @@ -650,6 +650,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] * [ONNX runtime](https://onnxruntime.ai/) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are based on. +* [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] From 5689840003d086db596972eb0fec76396a37ad68 Mon Sep 17 00:00:00 2001 From: Nima Samadi Date: Wed, 25 May 2022 13:02:02 +0430 Subject: [PATCH 639/959] removing previous ONNX runtime --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6517574fd..8038233c0 100644 --- a/README.md +++ b/README.md @@ -649,7 +649,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] -* [ONNX runtime](https://onnxruntime.ai/) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are based on. * [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) * [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] From 36faf045faa75aa43cac1fc3812f317c1d901066 Mon Sep 17 00:00:00 2001 From: astrofra Date: Mon, 6 Jun 2022 09:39:43 +0200 Subject: [PATCH 640/959] Added a link to HARFANG 3D. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8038233c0..3e82bc901 100644 --- a/README.md +++ b/README.md @@ -508,6 +508,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From 8b4e40af249c6dc0cd0ff67863a735cf4b2e8429 Mon Sep 17 00:00:00 2001 From: astrofra Date: Mon, 6 Jun 2022 09:41:50 +0200 Subject: [PATCH 641/959] Added the URL to HARFANG website. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e82bc901..d3996e163 100644 --- a/README.md +++ b/README.md @@ -508,7 +508,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] -* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) From cf0f219555bcdabf13ca9504bb38a3d3cc4ca292 Mon Sep 17 00:00:00 2001 From: Lexi <76599467+JumpingPistachio@users.noreply.github.com> Date: Thu, 9 Jun 2022 14:35:39 -0400 Subject: [PATCH 642/959] Fix Typo in CONTRIBUTING.md Changed 'LICENCE' to 'LICENSE' --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f059aba43..35cbfb279 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,7 +3,7 @@ Please ensure your pull request adheres to the following guidelines: * Please search previous suggestions before making a new one, as yours may be a duplicate. * Please make an individual pull request for each suggestion. -* Use the following format: \[RESOURCE\]\(REPO-LINK\) - DESCRIPTION. [LICENCE] \[website\]\(WEB-LINK\) +* Use the following format: \[RESOURCE\]\(REPO-LINK\) - DESCRIPTION. [LICENSE] \[website\]\(WEB-LINK\) * Keep descriptions short and simple. * End all descriptions with a full stop/period. * Make sure your text editor is set to remove trailing whitespace. From 2875bceb1389e5c938dc6164cca745385cbb8648 Mon Sep 17 00:00:00 2001 From: Pejman Ghorbanzade Date: Sun, 12 Jun 2022 21:10:56 -0700 Subject: [PATCH 643/959] Update GitHub link to Touca regression testing system --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3996e163..73591b3fa 100644 --- a/README.md +++ b/README.md @@ -427,7 +427,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] -* [Touca](https://github.com/trytouca/touca-cpp) - Automated regression testing system for testing complex mission-critical workflows. [Apache2] [website](https://touca.io/) +* [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] From 6e47b831f9569bb86aa1d9fc3ef1a8824b5d9472 Mon Sep 17 00:00:00 2001 From: Sandeep Mishra <87706790+sandeepmishratech@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:10:35 +0530 Subject: [PATCH 644/959] Added a new resource [Websites](https://github.com/fffaraz/awesome-cpp#websites) - Comprehensive C++ tutorial for beginners that will help them learn C++ step by step. [Free to use] [Scaler Topics](https://www.scaler.com/topics/cpp) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73591b3fa..111810400 100644 --- a/README.md +++ b/README.md @@ -1218,6 +1218,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. +* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. ## Weblogs *Useful C or C++ related weblogs.* From ad4fe598ef08b8f416454b2e223bfb60149f9d85 Mon Sep 17 00:00:00 2001 From: Craig Edwards Date: Mon, 1 Aug 2022 09:33:41 +0100 Subject: [PATCH 645/959] add DPP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 111810400..4a09ccf1f 100644 --- a/README.md +++ b/README.md @@ -972,6 +972,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] From 2185af300d5517d025c5ce6aecee9f6041e8ce5c Mon Sep 17 00:00:00 2001 From: Abdullahil Baki <86188702+abdullahilbaki@users.noreply.github.com> Date: Sun, 7 Aug 2022 14:41:50 +0600 Subject: [PATCH 646/959] Update books.md --- books.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/books.md b/books.md index 74769add9..786ead46d 100644 --- a/books.md +++ b/books.md @@ -1,7 +1,7 @@ ## C -* [A Tutorial on Pointers and Arrays in C](http://home.netcom.com/~tjensen/ptr/pointers.htm) +* [A Tutorial on Pointers and Arrays in C](https://sites.cs.ucsb.edu/~mikec/cs16/misc/ptrtut12/pointers.htm) * [Advanced Linux Programming](http://www.advancedlinuxprogramming.com/) * [Beej's Guide to C Programming](http://beej.us/guide/bgc/) * [Beej's Guide to Network Programming](http://beej.us/guide/bgnet/) From 795be62e4e877d2acdbb795df05a776180b97c06 Mon Sep 17 00:00:00 2001 From: Abdullahil Baki <86188702+abdullahilbaki@users.noreply.github.com> Date: Sun, 7 Aug 2022 15:17:14 +0600 Subject: [PATCH 647/959] Update books.md --- books.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/books.md b/books.md index 74769add9..9acdf920f 100644 --- a/books.md +++ b/books.md @@ -25,7 +25,7 @@ * [C++ GUI Programming With Qt 3](http://www.computer-books.us/cpp_0010.php) * [C++ Succinctly, Syncfusion](http://www.syncfusion.com/resources/techportal/ebooks/cplusplus) (PDF, Kindle) *(Just fill the fields with any values)* * [CS106X Programming Abstractions in C++](http://www.stanford.edu/class/cs106x/) -* [Data Structures and Algorithms with Object-Oriented Design Patterns in C++](http://www.brpreiss.com/books/opus4/index.html) +* [Data Structures and Algorithms with Object-Oriented Design Patterns in C++](https://book.huihoo.com/data-structures-and-algorithms-with-object-oriented-design-patterns-in-c++/html/) * [Financial Numerical Recipes in C++](http://finance.bi.no/~bernt/gcc_prog/recipes/) - Bernt Arne Ødegaard * [Game Programming Patterns](http://gameprogrammingpatterns.com/) * [Google's C++ Style Guide](https://google.github.io/styleguide/cppguide.html) From 8fec6a27fa6c7f97bcd109ca776e29b17e4774e1 Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Wed, 17 Aug 2022 08:03:33 -0500 Subject: [PATCH 648/959] Add Trunk to Tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a09ccf1f..8b857f708 100644 --- a/README.md +++ b/README.md @@ -1123,6 +1123,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. * [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations +* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. ## Coding Style Tools From 30e2eed3317b41f520ff234d418c459f219869e4 Mon Sep 17 00:00:00 2001 From: Alvin Date: Fri, 2 Sep 2022 13:07:02 +0800 Subject: [PATCH 649/959] rename cocoyaxi to coost --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b857f708..1abd6627f 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] -* [cocoyaxi](https://github.com/idealvin/cocoyaxi) - A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components. [MIT] +* [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] * [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] From 6ff6b1af30507152c3d1f582e8908d428a7d78b9 Mon Sep 17 00:00:00 2001 From: Kamila Szewczyk <27734421+kspalaiologos@users.noreply.github.com> Date: Fri, 9 Sep 2022 14:26:57 +0200 Subject: [PATCH 650/959] add bzip3 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1abd6627f..80972c288 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2] * [Brotli](https://github.com/google/brotli) - Brotli compression format. Developed by Google. [MIT] * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] +* [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://api.kde.org/frameworks/karchive/html/index.html) - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL] From cb07ccff059e40d8f5b4c57ede3ab258070d63be Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 12 Sep 2022 07:52:48 +0300 Subject: [PATCH 651/959] Add nanobench microbenchmarking lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 80972c288..b634f79ef 100644 --- a/README.md +++ b/README.md @@ -425,6 +425,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] * [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] * [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. +* [nanobench](https://github.com/martinus/nanobench) - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] [website](https://nanobench.ankerl.com) * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] From 92b09cb0744277a5270e9cd86b7a2147fdded4a9 Mon Sep 17 00:00:00 2001 From: Brody Smith <70295347+brodysmith8@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:37:51 -0400 Subject: [PATCH 652/959] Add Boost.Interprocess --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b634f79ef..0101a3264 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] +* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) From e45f8dc993660cd2eaca8843fe19c0cb6a6fb3c0 Mon Sep 17 00:00:00 2001 From: PatriotRossii Date: Mon, 19 Sep 2022 21:56:34 +0300 Subject: [PATCH 653/959] Add links to coding standards documents --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 0101a3264..cf861db5e 100644 --- a/README.md +++ b/README.md @@ -1171,6 +1171,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. * [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. +## Coding Standards + +* [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) +* [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) +* [Autosar C++ 2014](https://www.autosar.org/fileadmin/user_upload/standards/adaptive/18-10/AUTOSAR_RS_CPP14Guidelines.pdf) + ## Coding Style * [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. From a7588f1753075da54fd792b1f11f8d80ca2c1a2d Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 7 Oct 2022 13:35:34 +0300 Subject: [PATCH 654/959] Add info on userver framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf861db5e..f3384f6c1 100644 --- a/README.md +++ b/README.md @@ -944,6 +944,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) +* [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) * [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] ## XML From cee59ddc8e2aaeae1295911d32df9e98e975dd2a Mon Sep 17 00:00:00 2001 From: Stephen Berry Date: Mon, 17 Oct 2022 21:42:40 -0500 Subject: [PATCH 655/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3384f6c1..86baf1adf 100644 --- a/README.md +++ b/README.md @@ -589,6 +589,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] +* [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] * [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] * [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] * [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] From d93c92372c623a1c364a0b1278b22a236a547a41 Mon Sep 17 00:00:00 2001 From: Maxim Voloshin Date: Fri, 28 Oct 2022 16:46:27 +0300 Subject: [PATCH 656/959] Add easy_reflection_cpp --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 86baf1adf..8de9736b7 100644 --- a/README.md +++ b/README.md @@ -570,7 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] -* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) +* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) @@ -820,6 +820,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] * [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] +* [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] * [magic_get](https://github.com/apolukhin/magic_get) - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] @@ -1128,7 +1129,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. * [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations -* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. +* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. ## Coding Style Tools @@ -1231,7 +1232,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. -* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. +* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. ## Weblogs *Useful C or C++ related weblogs.* From 8d281020ba59ca477523908ce08eab9c33902fca Mon Sep 17 00:00:00 2001 From: Chunel Date: Wed, 2 Nov 2022 00:09:40 +0800 Subject: [PATCH 657/959] add CGraph repo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8de9736b7..68f9c43d3 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] +* [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] From 51ada215c757442f3e0a792f646295b9375bc29a Mon Sep 17 00:00:00 2001 From: DolphyWind Date: Sat, 12 Nov 2022 00:03:58 +0300 Subject: [PATCH 658/959] Add Embarcadero Dev-CPP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68f9c43d3..3e1b9131a 100644 --- a/README.md +++ b/README.md @@ -1074,6 +1074,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] * [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. * [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. +* [Embarcadero Dev-CPP](https://github.com/Embarcadero/Dev-Cpp) - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] [website](https://www.embarcadero.com/free-tools/dev-cpp) * [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] * [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. * [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. From 2f91cc3f5d8876484b96805668139f07dd944189 Mon Sep 17 00:00:00 2001 From: Rick <1450685+LinuxSuRen@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:00:54 +0800 Subject: [PATCH 659/959] Add a cryptography HEhub --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68f9c43d3..25eacc1c5 100644 --- a/README.md +++ b/README.md @@ -356,6 +356,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tink](https://github.com/google/tink) - A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0] * [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] * [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] +* [HEhub](https://github.com/primihub/HEhub) - A library for homomorphic encryption and its applications. [Apache2] ## CSV *Libraries for parsing Comma Separated Value (CSV) files* From 4674da07644cf1fba3d7c705c3502e68f5e48d86 Mon Sep 17 00:00:00 2001 From: Soof Golan <83900570+soof-golan@users.noreply.github.com> Date: Wed, 16 Nov 2022 20:47:35 +0200 Subject: [PATCH 660/959] Silicon to Lithium serever http://siliconframework.org/ says: Upgrade to Lithium::http_backend --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 246d71fec..03a10cb21 100644 --- a/README.md +++ b/README.md @@ -761,6 +761,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] * [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] * [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) +* [Lithium](https://matt-42.github.io/lithium/) - Build high performance C++ HTTP servers without being a C++ expert. [MIT] * [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] * [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] * [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) @@ -775,7 +776,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] * [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] -* [Silicon](http://siliconframework.org) - A high performance, middleware oriented C++14 http web framework. [MIT] * [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] From dafea64ae86deff196bf027b26e77c7ad8f08276 Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:22:24 -0600 Subject: [PATCH 661/959] Add libpqxx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03a10cb21..3552e08dd 100644 --- a/README.md +++ b/README.md @@ -374,6 +374,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] +* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. * [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] * [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded database library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] From 5ec9a3bd077a8fee29b3eaa896d365654cf3920e Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:40:01 -0600 Subject: [PATCH 662/959] Add license --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3552e08dd..d195c053b 100644 --- a/README.md +++ b/README.md @@ -374,7 +374,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] -* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. +* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] * [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] * [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded database library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] From a389f3cb6251bc7515dd192393ceb714f852851c Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:48:49 -0600 Subject: [PATCH 663/959] Add jwt-cpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03a10cb21..1b1bd4fe3 100644 --- a/README.md +++ b/README.md @@ -997,6 +997,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] +* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] From 1a7caf109195f563b32f254f9d8f411f8c335f91 Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Mon, 21 Nov 2022 22:54:07 -0600 Subject: [PATCH 664/959] Reordered --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b1bd4fe3..b2e355a2f 100644 --- a/README.md +++ b/README.md @@ -990,6 +990,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. +* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] * [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) @@ -997,7 +998,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] -* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] From a18a4e777e13283432dd6073b40cb740ab9e58d8 Mon Sep 17 00:00:00 2001 From: Cursor <0xcursor@gmail.com> Date: Sun, 27 Nov 2022 15:36:36 -0600 Subject: [PATCH 665/959] Add Argon2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4914c8df..e23300928 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] +* [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) From 575d0706c46d3a31bdc5ba3cd86112459f5e3dfe Mon Sep 17 00:00:00 2001 From: wangguodong <499957739@qq.com> Date: Mon, 5 Dec 2022 01:37:11 +0800 Subject: [PATCH 666/959] Update README.md add a library named clipp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e23300928..f91d6f3ab 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] * [cli](https://github.com/daniele77/cli) - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] + * [clipp](https://github.com/muellan/clipp) - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT] * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [FINAL CUT](https://github.com/gansm/finalcut) - Library for creating terminal applications with text-based widgets. [LGPL] From 7fe84539717711270f46bd7c0b39adf654bfca5c Mon Sep 17 00:00:00 2001 From: jordanozang <38968035+jordanozang@users.noreply.github.com> Date: Thu, 8 Dec 2022 15:40:19 -0500 Subject: [PATCH 667/959] Change license of AudioFile from GPL to MIT The license for AudioFile was changed to MIT in this commit: https://github.com/adamstark/AudioFile/commit/c5fd7f1c34fac98349655b85cb065242d05ae3d2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f91d6f3ab..5743776e4 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* -* [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [GPL3] +* [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] From 615114bdd4adc22d4a85ef4b7745c0255e14fd93 Mon Sep 17 00:00:00 2001 From: nirlivne Date: Thu, 15 Dec 2022 17:07:02 +0200 Subject: [PATCH 668/959] Add Rapid YAML --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5743776e4..67afd4ecb 100644 --- a/README.md +++ b/README.md @@ -972,6 +972,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] * [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] +* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* From 747feb39ccb5e7aa412bf64394d61e47c71ea1e8 Mon Sep 17 00:00:00 2001 From: Diamond Rivero Date: Wed, 28 Dec 2022 17:21:21 +0800 Subject: [PATCH 669/959] Add pspdev/pspsdk --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67afd4ecb..e1e498a35 100644 --- a/README.md +++ b/README.md @@ -1023,6 +1023,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] * [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] +* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] # Software *Software for creating a development environment.* From 2804a23a641319d9a3ded1e58e10562bba62614e Mon Sep 17 00:00:00 2001 From: WebSnke Date: Sun, 1 Jan 2023 17:22:10 +0100 Subject: [PATCH 670/959] Add Caleb Curry's C Programming Tutorials to Videos --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1e498a35..71ecf4043 100644 --- a/README.md +++ b/README.md @@ -1221,6 +1221,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ Programming Tutorials Playlist](https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83) - TheNewBoston Official Buckys C++ Programming Tutorials Playlist. * [C++ Programming Tutorials from thenewboston](https://www.youtube.com/playlist?list=PLF541C2C1F671AEF6) - These are all of thenewboston's C++ programming tutorials. * [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials. +* [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. * [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. * [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... From f278003b8af5883c79754efc96d99f662f9b2367 Mon Sep 17 00:00:00 2001 From: Ruslan Golovinskii <42336163+golxzn@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:41:19 +0300 Subject: [PATCH 671/959] Changed MyGUI web site to github page I'd noticed that their web page is died so IMHO It'll be better to use github link, because even if the project will die, this link will work as an archive (in the case if the author don't delete it) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71ecf4043..a41547166 100644 --- a/README.md +++ b/README.md @@ -489,7 +489,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [implot](https://github.com/epezent/implot) - Immediate Mode Plotting widgets for imgui. [MIT] * [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] * [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] -* [MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT] +* [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] * [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] * [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] * [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] From 3d92bb051e2e72fc2d275081ad2451527ca29754 Mon Sep 17 00:00:00 2001 From: Ruslan Golovinskii <42336163+golxzn@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:48:33 +0300 Subject: [PATCH 672/959] Add zpp::bits serialization library to the list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For more information take a look at this cool video: https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon I propose, this library has honor to be in this list at least as the fastest serialization library which is written on C++20 🚀 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71ecf4043..d3dd26163 100644 --- a/README.md +++ b/README.md @@ -911,6 +911,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] * [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] * [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] +* [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). ## Sorting From 77ee63cfdbfbefeee4e8615ffb3ceb3fa01b3460 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Thu, 12 Jan 2023 00:23:20 -0500 Subject: [PATCH 673/959] Update README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index cb1fe7027..29a351875 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Videos](#videos) - [Websites](#websites) - [Other Awesome Lists](#other-awesome-lists) +- [Jobs](#jobs) +- [Sponsors](#sponsors) - [Contributing](#contributing) ## Standard Libraries @@ -1292,6 +1294,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. * [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. +# Jobs + +* This list is currently empty, but you can add to it by opening a merge request. + +# Sponsors + +* Please reach out if you are interested in sponsoring this repo. Your company's name and logo will be prominently displayed here. + # Contributing Please take a quick gander at the [contribution guidelines](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. Thanks to all [contributors](https://github.com/fffaraz/awesome-cpp/graphs/contributors); you rock! From 8acd2ecf5c806fcd8ed6ccd7f241c73bbb2d0faf Mon Sep 17 00:00:00 2001 From: Alexandr Nikitin Date: Sat, 28 Jan 2023 22:38:46 -0800 Subject: [PATCH 674/959] Remove empty project --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 29a351875..bfec60b71 100644 --- a/README.md +++ b/README.md @@ -1269,7 +1269,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. * [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. -* [C++ Awesome Pack](https://github.com/juniandotnet/cpp-awesome-pack) - Contains some awesome c++ codes, packed in one. * [30 Seconds of C++](https://github.com/Bhupesh-V/30-seconds-of-cpp) # Other Awesome Lists From 4e03f4c53d93f653cefbaa5d97857fa1d94882de Mon Sep 17 00:00:00 2001 From: hulk Date: Sun, 29 Jan 2023 18:36:27 +0800 Subject: [PATCH 675/959] Add the Kvrocks to the database category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 29a351875..4be20f999 100644 --- a/README.md +++ b/README.md @@ -376,6 +376,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] +* [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] * [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] From b1792af1330933fa6c3933744fadb378f0055279 Mon Sep 17 00:00:00 2001 From: Sun Dro Date: Tue, 31 Jan 2023 14:13:27 +0400 Subject: [PATCH 676/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9df1b020f..9f1ca5dc5 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] * [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] +* [libxutils](https://github.com/kala13x/libxutils) - Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT] * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] * [MiLi](https://github.com/MariadeAnton/MiLi) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) From c9afc5de4aaa6355749c6c266cd8ed8427934d6c Mon Sep 17 00:00:00 2001 From: ChrizNuh <23082707+ChrizNuh@users.noreply.github.com> Date: Thu, 2 Feb 2023 00:09:20 +0000 Subject: [PATCH 677/959] Update README.md Updated the hyperlink to latest version for JSON - Boost.PropertyTree Line 597 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f1ca5dc5..ec17daa9c 100644 --- a/README.md +++ b/README.md @@ -594,7 +594,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## JSON -* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] * [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] From 30b334deeb184206ecfa8f0fcb083abeac4fe929 Mon Sep 17 00:00:00 2001 From: Cliff Burdick <30670611+cliffburdick@users.noreply.github.com> Date: Wed, 1 Feb 2023 16:56:01 -0800 Subject: [PATCH 678/959] Adding MatX --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f1ca5dc5..1d29c767c 100644 --- a/README.md +++ b/README.md @@ -692,6 +692,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] +* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] * [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] From f6e579c0dc60a548278c4d66de640c06976b4f78 Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 2 Feb 2023 09:07:20 +0300 Subject: [PATCH 679/959] Fix broken links --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 16441c845..c51f27db8 100644 --- a/README.md +++ b/README.md @@ -380,7 +380,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] -* [LMDB](http://symas.com/mdb/) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] +* [LMDB](https://www.symas.com/lmdb) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] * [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded database library. [PublicDomain] * [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] * [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for MongoDB. [Apache2] @@ -474,8 +474,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) * [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) * [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) -* [Torque2D](https://github.com/GarageGames/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://www.garagegames.com/products/torque-2d) -* [Torque3D](https://github.com/GarageGames/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://www.garagegames.com/products/torque-3d) +* [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) +* [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) * [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] @@ -695,7 +695,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] -* [muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] +* [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] * [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) * [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] * [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) @@ -709,7 +709,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). * [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] * [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) -* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] [website](http://www.stillwater-sc.com/assets/content/stillwater-universal-sw.html) +* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] ## Memory Allocation @@ -752,7 +752,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] * [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] * [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] -* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) +* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] * [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) * [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] @@ -1061,7 +1061,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. -* [Wandbox](http://melpon.org/wandbox/) - An online Clang/GCC compiler with Boost available. +* [Wandbox](https://wandbox.org) - An online Clang/GCC compiler with Boost available. * [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. * [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. @@ -1125,7 +1125,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. * [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. * [Vcpkg](https://github.com/microsoft/vcpkg) - C++ library manager for Windows, Linux, and MacOS. [MIT] -* [waf](https://github.com/waf-project/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) +* [waf](https://gitlab.com/ita1024/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) * [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] ## Static Code Analysis @@ -1193,7 +1193,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) * [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) -* [Autosar C++ 2014](https://www.autosar.org/fileadmin/user_upload/standards/adaptive/18-10/AUTOSAR_RS_CPP14Guidelines.pdf) +* [Autosar C++ 2014](https://www.autosar.org/fileadmin/standards/adaptive/21-11/AUTOSAR_RS_CPP14Guidelines.pdf) ## Coding Style From d29de2ba55ef03d028bd6fc408632437829f2cac Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 2 Feb 2023 09:20:36 +0300 Subject: [PATCH 680/959] Add snitch testing lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 16441c845..b4ef0cf85 100644 --- a/README.md +++ b/README.md @@ -437,6 +437,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) * [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] * [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] +* [snitch](https://github.com/cschreib/snitch) - Lightweight C++20 testing framework. [Boost] * [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] From ebd291d13df02f5dab2e024cad2fd5b92f71b7f3 Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 2 Feb 2023 09:45:52 +0300 Subject: [PATCH 681/959] Fix inconsistencies in Boost license naming Stick with the "Boost" option as it's far more common now. --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 16441c845..bfc32fc6e 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] - * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] + * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [cli](https://github.com/daniele77/cli) - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [clipp](https://github.com/muellan/clipp) - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT] @@ -391,7 +391,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] -* [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [BSL-1.0] +* [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [Boost] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] * [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] @@ -414,7 +414,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] @@ -422,7 +422,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] -* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] +* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [Boost] * [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. * [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] * [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] @@ -742,7 +742,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](https://www.boost.org/libs/beast) +* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] [website](https://www.boost.org/libs/beast) * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] * [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] @@ -750,7 +750,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] * [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS server library. [MIT] * [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] -* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] +* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost] * [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] * [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://whoshuu.github.io/cpr/) * [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] @@ -836,7 +836,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) -* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] +* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [Boost] * [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] ## Regular Expression From 66a57bfe07f0427089ecd7bcb58036808a82526d Mon Sep 17 00:00:00 2001 From: Bader-eddine Ouaich <49657842+baderouaich@users.noreply.github.com> Date: Fri, 3 Feb 2023 12:01:58 +0100 Subject: [PATCH 682/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c11f7eaa2..35022922e 100644 --- a/README.md +++ b/README.md @@ -542,6 +542,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Image Processing * [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. +* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) From 5ceb8cc593db776e4ae3eadff4c4788fa2791c30 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Neto Date: Fri, 3 Feb 2023 08:14:20 -0400 Subject: [PATCH 683/959] Added harfbuzz text shaping library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c11f7eaa2..8db683a7c 100644 --- a/README.md +++ b/README.md @@ -451,6 +451,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) * [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] * [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] +* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] ## Game Engine From 93715dc85e8bf61c6a96c16e2e5bac1e1d6cb6f1 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Neto Date: Fri, 3 Feb 2023 09:53:07 -0400 Subject: [PATCH 684/959] Added CppCon conference. --- videos.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/videos.md b/videos.md index f48cf8273..d775b0f67 100644 --- a/videos.md +++ b/videos.md @@ -1,4 +1,4 @@ * [Modern C++: What You Need to Know](https://www.youtube.com/watch?v=TJHgp1ugKGM) - This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry. This is a great introduction to the current state of the language, including a glimpse into the future of general purpose, performance-intensive, power-friendly, powerful native programming. [Apr 7, 2014] * [Bjarne Stroustrup - The Essence of C++](https://www.youtube.com/watch?v=86xWVb4XIyE) - Bjarne Stroustrup, creator and developer of C++, delivers his talk entitled, The Essence of C++. Stroustrup has held distinguished posts at Texas A&M University and spent significant time in the Computer Science Departments of Cambridge, Columbia and Princeton. [May 6, 2014] - +* [CppCon - The C++ Conference](https://www.youtube.com/user/CppCon/) - An international conference about C++ and its aplications on modern software engineering. From fb23f168424fccc83ffdecb97053404986cb6d41 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Neto Date: Fri, 3 Feb 2023 10:20:52 -0400 Subject: [PATCH 685/959] Added C++Now conference --- videos.md | 1 + 1 file changed, 1 insertion(+) diff --git a/videos.md b/videos.md index d775b0f67..740879688 100644 --- a/videos.md +++ b/videos.md @@ -2,3 +2,4 @@ * [Modern C++: What You Need to Know](https://www.youtube.com/watch?v=TJHgp1ugKGM) - This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry. This is a great introduction to the current state of the language, including a glimpse into the future of general purpose, performance-intensive, power-friendly, powerful native programming. [Apr 7, 2014] * [Bjarne Stroustrup - The Essence of C++](https://www.youtube.com/watch?v=86xWVb4XIyE) - Bjarne Stroustrup, creator and developer of C++, delivers his talk entitled, The Essence of C++. Stroustrup has held distinguished posts at Texas A&M University and spent significant time in the Computer Science Departments of Cambridge, Columbia and Princeton. [May 6, 2014] * [CppCon - The C++ Conference](https://www.youtube.com/user/CppCon/) - An international conference about C++ and its aplications on modern software engineering. +* [C++Now - The C++ Conference](https://www.youtube.com/@BoostCon) - An international conference about C++ and its aplications on modern software engineering. From 8a07055dc1ae816e4c89e70438eb50085a3790a3 Mon Sep 17 00:00:00 2001 From: Bader Date: Sun, 5 Feb 2023 15:07:19 +0100 Subject: [PATCH 686/959] Added missing License --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 800722680..e7b8db84f 100644 --- a/README.md +++ b/README.md @@ -543,7 +543,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Image Processing * [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. -* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. +* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) From 0d8a94b5f9c7d98de796a6207c01ebd8f2027b55 Mon Sep 17 00:00:00 2001 From: van Date: Mon, 13 Feb 2023 13:54:04 +0800 Subject: [PATCH 687/959] Update README.md 1. for "Audio", add "audioFlux - A C library for audio and music analysis, feature extraction. [MIT]" 2. for "JSON", add "jsonParse - A simple JSON parser in ANSI C. [MIT]" --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e7b8db84f..5df3edf07 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Audio, Sound, Music, Digitized Voice Libraries* * [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] +* [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and music analysis, feature extraction. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] * [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] @@ -612,6 +613,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] * [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] +* [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] * [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] From e275a869c7f1f2facad92c771e2ea9577b4a0dd3 Mon Sep 17 00:00:00 2001 From: Christian Veenhuis <124370897+ChVeen@users.noreply.github.com> Date: Sat, 18 Feb 2023 16:39:51 +0100 Subject: [PATCH 688/959] Add programiz.com to section Online Compiler Added the programiz.com online compiler to the section Online Compiler. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5df3edf07..bddfb9381 100644 --- a/README.md +++ b/README.md @@ -1063,6 +1063,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. * [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. * [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. +* [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers. * [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. * [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. * [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. From 69f252da5840a22feed001c8b9c3c67f5de2c487 Mon Sep 17 00:00:00 2001 From: Arash Partow Date: Tue, 21 Feb 2023 15:18:15 +1100 Subject: [PATCH 689/959] Update urls for ExprTk/StrTk/Wykobi to https --- README.md | 6 +- README.md.bak | 1317 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1320 insertions(+), 3 deletions(-) create mode 100644 README.md.bak diff --git a/README.md b/README.md index bddfb9381..7bb0ef01e 100644 --- a/README.md +++ b/README.md @@ -690,7 +690,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] -* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] +* [ExprTk](https://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] * [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] @@ -712,7 +712,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] * [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] * [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). -* [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] +* [Wykobi](https://www.wykobi.com) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] * [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) * [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] @@ -1026,7 +1026,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] -* [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] +* [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] diff --git a/README.md.bak b/README.md.bak new file mode 100644 index 000000000..bddfb9381 --- /dev/null +++ b/README.md.bak @@ -0,0 +1,1317 @@ +# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](https://www.trackawesomelist.com/fffaraz/awesome-cpp/) +A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. + +- [Awesome C++](#awesome-cpp) + - [Standard Libraries](#standard-libraries) + - [Frameworks](#frameworks) + - [Artificial Intelligence](#artificial-intelligence) + - [Asynchronous Event Loop](#asynchronous-event-loop) + - [Audio](#audio) + - [Biology](#biology) + - [BitTorrent](#bittorrent) + - [Chemistry](#chemistry) + - [CLI](#cli) + - [Compression](#compression) + - [Concurrency](#concurrency) + - [Configuration](#configuration) + - [Containers](#containers) + - [Cryptography](#cryptography) + - [CSV](#csv) + - [Database](#database) + - [Data visualization](#data-visualization) + - [Debug](#debug) + - [Font](#font) + - [Game Engine](#game-engine) + - [GUI](#gui) + - [Graphics](#graphics) + - [Image Processing](#image-processing) + - [Internationalization](#internationalization) + - [Inter-process communication](#inter-process-communication) + - [JSON](#json) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Math](#math) + - [Memory Allocation](#memory-allocation) + - [Multimedia](#multimedia) + - [Networking](#networking) + - [PDF](#pdf) + - [Physics](#physics) + - [Reflection](#reflection) + - [Regular Expression](#regular-expression) + - [Robotics](#robotics) + - [Scientific Computing](#scientific-computing) + - [Scripting](#scripting) + - [Serialization](#serialization) + - [Sorting](#sorting) + - [Video](#video) + - [Virtual Machines](#virtual-machines) + - [Web Application Framework](#web-application-framework) + - [XML](#xml) + - [Yaml](#yaml) + - [Miscellaneous](#miscellaneous) +- [Software](#software) + - [Compiler](#compiler) + - [Online Compiler](#online-compiler) + - [Debugger](#debugger) + - [Integrated Development Environment](#integrated-development-environment) + - [Build Systems](#build-systems) + - [Static Code Analysis](#static-code-analysis) + - [Coding Style Tools](#coding-style-tools) +- [Resources](#resources) + - [API Design](#api-design) + - [Articles](#articles) + - [Books](#books) + - [Coding Style](#coding-style) + - [Podcasts](#podcasts) + - [Talks](#talks) + - [Videos](#videos) + - [Websites](#websites) +- [Other Awesome Lists](#other-awesome-lists) +- [Jobs](#jobs) +- [Sponsors](#sponsors) +- [Contributing](#contributing) + +## Standard Libraries +*C++ Standard Library - including STL Containers, STL Algorithm, STL Functional, etc.* + +* [C++ Standard Library](https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself. +* [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL). +* [C POSIX library](https://en.wikipedia.org/wiki/C_POSIX_library) - A specification of a C standard library for POSIX systems. +* [ISO C++ Standards Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/) +* [The GNU C Library](https://www.gnu.org/software/libc/manual) - The purpose of this manual is to tell you how to use the facilities of the GNU C Library. + +## Frameworks +*C++ generic frameworks and libraries.* + +* [abseil-cpp](https://github.com/abseil/abseil-cpp) - Abseil C++ Common Libraries. [Apache2] +* [Apache C++ Standard Library](http://stdcxx.apache.org/) - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2] +* [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] +* [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] +* [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) +* [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] +* [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] +* [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] +* [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] +* [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] +* [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] +* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) +* [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] +* [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library. [MIT] +* [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] +* [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] +* [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] +* [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] +* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) +* [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) +* [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] +* [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] +* [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] +* [libxutils](https://github.com/kala13x/libxutils) - Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT] +* [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] +* [MiLi](https://github.com/MariadeAnton/MiLi) - Minimal headers-only C++ Library. [Boost] +* [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) +* [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] +* [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] +* [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] +* [Seastar](https://github.com/scylladb/seastar) - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/) +* [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] +* [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost] +* [tbox](https://github.com/tboox/tbox) - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/) +* [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] +* [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] +* [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] +* [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] + +## Artificial Intelligence + +* [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) - A GPU (CUDA) based Artificial Neural Network library. [LGPL] +* [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] +* [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] +* [frugally-deep](https://github.com/Dobiasd/frugally-deep) - Header-only library for using Keras models in C++. [MIT] +* [Genann](https://github.com/codeplea/genann) - Simple neural network library in C. [zlib] +* [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) +* [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) +* [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD] +* [Recast/Detour](https://github.com/recastnavigation/recastnavigation) - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib] +* [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs [Apache] +* [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) +* [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] +* [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] +* [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] +* [Kaldi](https://github.com/kaldi-asr/kaldi) - Toolkit for speech recognition. [Apache] + +## Asynchronous Event Loop + +* [Asio](https://github.com/chriskohlhoff/asio/) - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] [website](http://think-async.com/) +* [Boost.Asio](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) +* [Ichor](https://github.com/volt-software/ichor) - An event queue which focuses on thread safety and provides dependency injection. [MIT] +* [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] +* [libevent](http://libevent.org/) - An event notification library. [BSD] +* [libhv](https://github.com/ithewei/libhv) - Cross-platform event loop library. [BSD] +* [libuv](https://github.com/libuv/libuv) - Cross-platform asynchronous I/O. [BSD] +* [promise-cpp](https://github.com/xhawk18/promise-cpp) - Header only library that implements Promise/A+ standard. [Anti-996] +* [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [MIT] + +## Audio +*Audio, Sound, Music, Digitized Voice Libraries* + +* [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] +* [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and music analysis, feature extraction. [MIT] +* [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] +* [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] +* [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] +* [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] +* [libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/) +* [libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/) +* [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] +* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] +* [miniaudio](https://github.com/mackron/miniaudio) - Single file audio playback and capture library. [Unlicense] [website](https://miniaud.io/) +* [ni-media](https://github.com/NativeInstruments/ni-media) - C++ library for reading and writing audio files. [MIT] +* [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] +* [PortAudio](http://www.portaudio.com/) - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT] +* [rnnoise](https://github.com/xiph/rnnoise) - Recurrent neural network for audio noise reduction. [BSD-3-Clause] +* [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] +* [SoLoud](https://github.com/jarikomppa/soloud) - Easy, portable audio engine for games. [zlib] +* [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD] +* [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense] +* [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] +* [minimp3](https://github.com/lieff/minimp3) - Public domain, header-only MP3 decoder with clean-room implementation. [CC0] +* [Verovio](https://github.com/rism-ch/verovio) - Verovio is a fast and lightweight music notation engraving library. [LGPL] [website](https://www.verovio.org) +* [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency [BSD] + +## Biology +*Bioinformatics, Genomics, Biotech* + +* [BioC++](http://biocpp.sourceforge.net/) - C++ Computational Libraries for Bioinformatics. [BSD] +* [Chaste](http://www.cs.ox.ac.uk/chaste/) - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD] +* [libsequence](http://molpopgen.github.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] +* [SeqAn](http://www.seqan.de/) - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause] +* [Vcflib](https://github.com/ekg/vcflib) - A C++ library for parsing and manipulating VCF files. [MIT] +* [Wham](https://github.com/zeeev/wham) - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT] + +## BitTorrent + +* [jech/dht](https://github.com/jech/dht) - BitTorrent DHT library in C. [MIT] +* [libtorrent](https://github.com/arvidn/libtorrent) (a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD] +* [LibTorrent](https://github.com/rakshasa/libtorrent) (a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL] +* [libutp](https://github.com/bittorrent/libutp) - uTorrent Transport Protocol library. [MIT] + +## Chemistry +*Chemistry, Quantum Chemistry, Solid-State Chemistry/Physics, Geochemistry, Biochemistry* + +* [d-SEAMS](https://github.com/d-SEAMS/seams-core) - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] [website](https://dseams.info) +* [gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://www.gromacs.org) +* [Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org) +* [LAMMPS](https://github.com/lammps/lammps) - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] [website](https://lammps.sandia.gov/) +* [MADNESS](https://github.com/m-a-d-n-e-s-s/madness) - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] [website](https://github.com/m-a-d-n-e-s-s/madness) +* [MPQC](https://github.com/ValeevGroup/mpqc) - The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL] [website](https://mpqc.org/) +* [ORCA](https://en.wikipedia.org/wiki/ORCA_(quantum_chemistry_program)) - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] [website](https://orcaforum.kofo.mpg.de/) +* [Psi](https://github.com/psi4/psi4) - An ab initio computational chemistry package. [GPL] [website](https://psicode.org/) + +## CLI +*Console/Terminal User Interface, Command Line Interface* + + * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] + * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] + * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] + * [cli](https://github.com/daniele77/cli) - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] + * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] + * [clipp](https://github.com/muellan/clipp) - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT] + * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] + * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] + * [FINAL CUT](https://github.com/gansm/finalcut) - Library for creating terminal applications with text-based widgets. [LGPL] + * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] + * [indicators](https://github.com/p-ranav/indicators/) - Activity indicators for Modern C++. [MIT] + * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] + * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] + * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] + * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT] + * [oof](https://github.com/s9w/oof) - Convenient, high-performance RGB color and position control for console output. [MIT] + * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] + * [popl](https://github.com/badaix/popl) - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT] + * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] + * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT] + * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] + * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] + * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] + * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] + * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface [MIT] + +## Compression +*Compression and Archiving Libraries* + +* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2] +* [Brotli](https://github.com/google/brotli) - Brotli compression format. Developed by Google. [MIT] +* [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] +* [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] +* [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. +* [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] +* [KArchive](https://api.kde.org/frameworks/karchive/html/index.html) - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL] +* [libarchive](https://github.com/libarchive/libarchive) - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/) +* [LZ4](https://github.com/lz4/lz4) - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/) +* [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. +* [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] +* [LZMA](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] +* [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL] +* [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] +* [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] +* [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] +* [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] +* [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] +* [zlib-ng](https://github.com/Dead2/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] +* [zstd](https://github.com/facebook/zstd) - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD] +* [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] + +## Concurrency +*Concurrency and Multithreading* + +* [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka) - Abstraction library for parallel kernel acceleration. [LGPLv3+] +* [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] +* [Async++](https://github.com/Amanieu/asyncplusplus) - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT] +* [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] +* [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] +* [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] +* [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] +* [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] +* [CUB](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] +* [cuda-api-wrappers](https://github.com/eyalroz/cuda-api-wrappers) - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD] +* [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] +* [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] +* [FiberTaskingLib](https://github.com/RichieSams/FiberTaskingLib) - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache] +* [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] +* [Intel Games Task Scheduler](https://github.com/GameTechDev/GTS-GamesTaskScheduler) - A task scheduling framework designed for the needs of game developers. [MIT] +* [Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2] +* [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] +* [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] +* [Kokkos](https://github.com/kokkos/kokkos) - A performance portable programming model for parallel execution and memory abstraction. [BSD] +* [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] +* [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] +* [libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT] +* [libdispatch](https://github.com/apple/swift-corelibs-libdispatch) - Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] [website](https://apple.github.io/swift-corelibs-libdispatch/) +* [libmill](https://github.com/sustrik/libmill/) - Introduces Go-style concurrency in C. [MIT] +* [marl](https://github.com/google/marl) - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0] +* [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter] +* [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] +* [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. +* [OpenMP](http://openmp.org/) - The OpenMP API. +* [rotor](https://github.com/basiliscos/cpp-rotor) - Event loop friendly C++ actor micro framework. [MIT] +* [SObjectizer](https://github.com/Stiffstream/sobjectizer) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause] +* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). +* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] +* [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] +* [stdgpu](https://github.com/stotko/stdgpu) - Efficient STL-like Data Structures on the GPU. [Apache2] +* [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] +* [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] +* [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] +* [STAPL](http://parasol-lab.gitlab.io/stapl-home/) - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD] +* [concurrencpp](https://github.com/David-Haim/concurrencpp) - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all. + +## Configuration +*Configuration files, INI files* + +* [inifile-cpp](https://github.com/Rookfighter/inifile-cpp) - A header-only and easy to use Ini file parser for C++. [MIT] +* [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] +* [inih](https://github.com/jtilly/inih) - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] +* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] +* [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) +* [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] +* [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] +* [toml++](https://github.com/marzer/tomlplusplus) - Header-only TOML parser and serializer for C++17 and later. [MIT] [website](https://marzer.github.io/tomlplusplus/) + +## Containers + +* [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] +* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) +* [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] +* [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] +* [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] +* [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] +* [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] +* [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) +* [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) +* [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) +* [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] +* [robin-hood-hashing](https://github.com/martinus/robin-hood-hashing) - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] +* [robin-map](https://github.com/Tessil/robin-map) - Fast hash map and hash set using robin hood hashing. [MIT] +* [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] + +## Cryptography +*Cryptography and Encryption Libraries* + +* [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD] +* [BeeCrypt](http://beecrypt.sourceforge.net/) - A portable and fast cryptography library. [LGPLv2.1+] +* [Botan](http://botan.randombit.net/) - A crypto library for C++. [BSD-2] +* [Crypto++](https://github.com/weidai11/cryptopp) - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/) +* [digestpp](https://github.com/kerukuro/digestpp) - C++11 header-only message digest (hash) library. [PublicDomain] +* [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] +* [GnuTLS](http://www.gnutls.org/) - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1] +* [Libgcrypt](http://www.gnu.org/software/libgcrypt/) - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+] +* [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] +* [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] +* [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC] +* [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] +* [mbedTLS](https://github.com/ARMmbed/mbedtls) - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] [website](https://tls.mbed.org/) +* [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - A low-level cryptographic library. [LGPL] +* [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [website](http://www.openssl.org/) +* [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. +* [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] +* [sha1collisiondetection](https://github.com/cr-marcstevens/sha1collisiondetection) - Library and command line tool to detect SHA-1 collision in a file. [MIT] +* [Tink](https://github.com/google/tink) - A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0] +* [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] +* [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] +* [HEhub](https://github.com/primihub/HEhub) - A library for homomorphic encryption and its applications. [Apache2] + +## CSV +*Libraries for parsing Comma Separated Value (CSV) files* + +* [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] +* [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] +* [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] +* [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] +* [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] + +## Database +*Database Libraries, SQL Servers, ODBC Drivers, and Tools* + +* [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] +* [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] +* [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] +* [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] +* [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] +* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] +* [LMDB](https://www.symas.com/lmdb) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] +* [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded database library. [PublicDomain] +* [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] +* [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for MongoDB. [Apache2] +* [MongoDB Libbson](https://github.com/mongodb/libbson) - A BSON utility library. [Apache2] +* [MySQL++](http://www.tangentsoft.net/mysql++/) - A C++ wrapper for MySQL's C API. [LGPL] +* [nanodbc](https://github.com/nanodbc/nanodbc) - A small C++ wrapper for the native C ODBC API. [MIT] +* [ODB](https://www.codesynthesis.com/products/odb/) - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2] +* [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] +* [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] +* [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] +* [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [BSL-1.0] +* [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] +* [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] +* [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] +* [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [AGPL + paid MIT] +* [sqlpp11](https://github.com/rbock/sqlpp11) - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) +* [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) +* [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] + +## Data visualization +*Data visiualization Libraries* + +* [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) + +## Debug +*Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* + +* [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] +* [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] +* [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] +* [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) +* [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] +* [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] +* [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] +* [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] +* [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] +* [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] +* [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] +* [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] +* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] +* [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. +* [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] +* [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] +* [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] +* [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] +* [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] +* [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] +* [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] +* [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] +* [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. +* [nanobench](https://github.com/martinus/nanobench) - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] [website](https://nanobench.ankerl.com) +* [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) +* [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] +* [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] +* [snitch](https://github.com/cschreib/snitch) - Lightweight C++20 testing framework. [Boost] +* [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) +* [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] +* [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] +* [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] +* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] +* [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. + +## Font +*Libraries for parsing and manipulating font files.* + +* [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) +* [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] +* [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] +* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] + +## Game Engine + +* [Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT] +* [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] +* [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] +* [Corange](https://github.com/orangeduck/Corange) - A game engine written in pure C, SDL and OpenGL. [BSD] +* [crown](https://github.com/dbartolini/crown) - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT] +* [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] +* [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] +* [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] +* [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] +* [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] +* [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] +* [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) +* [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) +* [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) +* [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] +* [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] +* [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) +* [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] +* [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) +* [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) +* [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) +* [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) +* [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) +* [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. +* [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] + +## GUI +*Graphic User Interface* + +* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) +* [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. +* [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] +* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] +* [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] +* [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] +* [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] +* [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] +* [implot](https://github.com/epezent/implot) - Immediate Mode Plotting widgets for imgui. [MIT] +* [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] +* [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] +* [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] +* [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] +* [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] +* [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] +* [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] +* [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] +* [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] +* [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] +* [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) +* [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] +* [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] +* [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] + +## Graphics + +* [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) +* [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] +* [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) +* [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] +* [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] +* [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] +* [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] +* [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] +* [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) +* [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) +* [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] +* [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) +* [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] +* [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] +* [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] +* [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) +* [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] +* [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] +* [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] +* [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] +* [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] +* [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] +* [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] +* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) +* [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] +* [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] +* [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] + +## Image Processing + +* [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. +* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] +* [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] +* [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] +* [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) +* [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. +* [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. +* [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] +* [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) +* [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] +* [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) +* [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) +* [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] +* [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] +* [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] +* [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] +* [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] +* [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] +* [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] +* [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] +* [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] +* [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] +* [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] +* [VIGRA](https://github.com/ukoethe/vigra) - A generic C++ computer vision library for image analysis. [MIT X11] +* [VTK](http://www.vtk.org/) - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD] + +## Internationalization + +* [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] +* [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] +* [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] +* [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] +* [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] + +## Inter-process communication + +* [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] +* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) +* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) +* [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) +* [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) +* [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] +* [iceoryx](https://github.com/eclipse-iceoryx/iceoryx) - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] [website](https://iceoryx.io/) +* [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] +* [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) +* [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) +* [rpclib](https://github.com/rpclib/rpclib) - A modern C++ msgpack-RPC server and client library. [MIT] +* [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] +* [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) +* [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] + +## JSON + +* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] +* [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] +* [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] +* [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] +* [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] +* [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] +* [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] +* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] +* [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] +* [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] +* [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] +* [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] +* [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] +* [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] +* [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] +* [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] +* [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] +* [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] +* [json-voorhees](https://github.com/tgockel/json-voorhees) - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2] +* [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] +* [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] +* [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] +* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] +* [parson](https://github.com/kgabis/parson) - Parson is a lighweight json library written in C. [MIT] +* [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] +* [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] +* [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] +* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] +* [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] +* [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] +* [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] +* [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] +* [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] +* [yyjson](https://github.com/ibireme/yyjson) - A high performance JSON library written in ANSI C. [MIT] + +## Logging + +* [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] +* [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] +* [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] +* [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] +* [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] +* [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. +* [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] +* [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] +* [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] +* [plog](https://github.com/SergiusTheBest/plog) - Portable and simple log for C++ in less than 1000 lines of code. [MPL2] +* [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] +* [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. +* [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] +* [P7Baical](http://baical.net/p7.html) - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL] +* [Quill](https://github.com/odygrd/quill) - Asynchronous cross platform low latency logging library. [MIT] + +## Machine Learning + +* [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] +* [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] +* [darknet](https://github.com/pjreddie/darknet) - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/) +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) +* [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) +* [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) +* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] +* [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) +* [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] +* [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) +* [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) +* [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] +* [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) +* [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] +* [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] +* [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] +* [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] +* [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) +* [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] +* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] + +## Math + +* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] +* [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) +* [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) +* [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] +* [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] +* [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] +* [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) +* [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] +* [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] +* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] +* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] +* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] +* [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) +* [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) +* [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] +* [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] +* [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) +* [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] +* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] +* [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] +* [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] +* [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] +* [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) +* [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] +* [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) +* [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) +* [PCG-rand](https://www.pcg-random.org/) - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache] +* [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) +* [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) +* [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] +* [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] +* [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] +* [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). +* [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] +* [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) +* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] + +## Memory Allocation + +* [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) +* [C Smart Pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] +* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) +* [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) +* [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] +* [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] +* [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] +* [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] +* [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] +* [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) +* [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] + +## Multimedia + +* [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] +* [libass](https://github.com/libass/libass) - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] +* [libav](https://github.com/libav/libav) - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/) +* [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] +* [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] +* [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] +* [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) +* [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] +* [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) +* [TagLib](https://github.com/taglib/taglib) - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/) + +## Networking + +* [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] +* [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](https://www.boost.org/libs/beast) +* [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] +* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] +* [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] +* [Restinio](https://github.com/Stiffstream/restinio) - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD] +* [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] +* [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS server library. [MIT] +* [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] +* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] +* [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] +* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org) +* [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] +* [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) +* [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] +* [ENet](https://github.com/lsalzman/enet) - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/) +* [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] +* [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] +* [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] +* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT] +* [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] +* [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] +* [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] +* [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) +* [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] +* [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] +* [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) +* [Lithium](https://matt-42.github.io/lithium/) - Build high performance C++ HTTP servers without being a C++ expert. [MIT] +* [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] +* [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] +* [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) +* [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] +* [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] +* [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) +* [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] +* [PF_RING™](https://github.com/ntop/PF_RING) - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/) +* [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] +* [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) +* [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] +* [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] +* [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] +* [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] +* [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] +* [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] +* [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] +* [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] +* [WAFer](https://github.com/riolet/WAFer) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] +* [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] +* [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] +* [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] +* [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] +* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL] [website](http://zeromq.org/) + +## PDF +*Libraries for parsing and manipulating PDF documents.* + +* [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] +* [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] +* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] +* [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] +* [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] +* [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] + +## Physics +*Dynamics simulation engines* + +* [Box2D](https://github.com/erincatto/Box2D) - A 2D physics engine for games. [BSD-like] +* [Bullet](https://github.com/bulletphysics/bullet3) - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org) +* [Chipmunk](https://github.com/slembcke/Chipmunk2D) - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/) +* [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] +* [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] +* [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] +* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) +* [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] +* [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] +* [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) +* [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] +* [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] +* [SOFA](https://github.com/sofa-framework/sofa) - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] [website](https://www.sofa-framework.org) + +## Reflection + +* [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] +* [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) +* [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] +* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) +* [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] +* [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] +* [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] +* [magic_get](https://github.com/apolukhin/magic_get) - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] +* [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] +* [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] +* [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] +* [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) +* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] +* [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] + +## Regular Expression + +* [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] +* [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] +* [Hyperscan](https://github.com/intel/hyperscan) - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD] +* [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] +* [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] +* [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] +* [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] +* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] +* [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] + +## Robotics + +* [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles. +* [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] +* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) +* [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] +* [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) +* [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] +* [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) + +## Scientific Computing + +* [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] +* [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] +* [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] +* [preCICE](https://github.com/precice/precice) - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/) +* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) +* [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] +* [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) + +## Scripting + +* [AngelScript](https://www.angelcode.com/angelscript/) - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] +* [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] +* [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] +* [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] +* [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) +* [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] +* [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) +* [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] +* [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) +* [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] +* [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) +* [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] +* [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] +* [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] +* [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] +* [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) +* [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] +* [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] +* [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] +* [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) +* [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] +* [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] +* [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] + +## Serialization + +* [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] +* [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] +* [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] +* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) +* [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] +* [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] +* [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] +* [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] +* [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] +* [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) +* [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) +* [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] +* [protobuf](https://github.com/protocolbuffers/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] +* [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] +* [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] +* [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] +* [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] +* [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). + +## Sorting + +* [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] +* [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] +* [Indiesort](https://github.com/mattreecebentley/plf_indiesort) - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm) + +## Video + +* [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD] +* [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2] +* [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) +* [x265](https://bitbucket.org/multicoreware/x265_git/src) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) +* [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) +* [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] +* [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] + +## Virtual Machines + +* [CarpVM](https://github.com/tekknolagi/carp) - "interesting" VM in C. Let's see how this goes. [GPLv3] +* [MicroPython](https://github.com/micropython/micropython) - Aims to put an implementation of Python 3.x on a microcontroller. [MIT] +* [TinyVM](https://github.com/jakogut/tinyvm) - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT] + +## Web Application Framework + +* [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] +* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] +* [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] +* [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) +* [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) +* [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] +* [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) +* [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] +* [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] +* [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] +* [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) +* [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] +* [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] +* [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) +* [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) +* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] + +## XML +*XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* + +* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT] +* [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT] +* [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPL2] +* [Mini-XML](https://github.com/michaelrsweet/mxml) - A small XML parsing library written in ANSI C. [LGPL2 with exceptions] +* [PugiXML](http://pugixml.org/) - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT] +* [RapidXml](http://rapidxml.sourceforge.net/) - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost] +* [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] +* [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] +* [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] +* [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] + +## Yaml + +* [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] +* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] +* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] + +## Miscellaneous +*Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* + +* [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] +* [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] +* [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] +* [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] +* [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) +* [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) +* [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] +* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] +* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] +* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] +* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] +* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] +* [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] +* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. +* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] +* [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] +* [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] +* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) +* [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] +* [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] +* [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] +* [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] +* [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] +* [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] +* [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] +* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] +* [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] +* [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] +* [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] +* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] +* [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] +* [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] +* [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] +* [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] +* [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] +* [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] +* [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] +* [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. +* [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] +* [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] +* [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] +* [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] +* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] +* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] + +# Software +*Software for creating a development environment.* + +## Compiler +*List of C or C++ compilers* + +* [8cc](https://github.com/rui314/8cc) - A Small C Compiler. +* [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] +* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA] +* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3] +* [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. +* [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. +* [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. +* [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft. +* [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] +* [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] +* [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] + +## Online Compiler +*List of online C or C++ compilers* + +* [codechef](https://www.codechef.com/ide) - A simple online compiler CodeChef. +* [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. +* [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers. +* [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. +* [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. +* [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. +* [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers. +* [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. +* [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. +* [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. +* [Wandbox](https://wandbox.org) - An online Clang/GCC compiler with Boost available. +* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. +* [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. + +## Debugger +*List of C or C++ debuggers* + +* [Comparison of debuggers](https://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. +* [GDB](https://www.gnu.org/software/gdb/) - GNU Debugger. +* [LLDB](http://lldb.llvm.org/) - The LLDB Debugger. +* [Metashell](https://metashell.readthedocs.org) - An interactive template metaprogramming shell which includes the MDB metadebugger. +* [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling. +* [x64dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. + +## Integrated Development Environment +*List of C or C++ nominal IDEs.* + +* [Anjuta DevStudio](http://anjuta.org/) - The GNOME IDE. [GPL3] +* [AppCode](http://www.jetbrains.com/objc/) - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform. +* [Cevelop](https://www.cevelop.com) - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins. +* [CLion](http://www.jetbrains.com/clion/) - Cross-platform C and C++ IDE from JetBrains. +* [Code::Blocks](http://www.codeblocks.org/) - A free C, C++ and Fortran IDE. +* [CodeLite](http://codelite.org/) - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins] +* [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] +* [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. +* [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. +* [Embarcadero Dev-CPP](https://github.com/Embarcadero/Dev-Cpp) - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] [website](https://www.embarcadero.com/free-tools/dev-cpp) +* [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] +* [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. +* [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. +* [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] +* [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. +* [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. +* [Microsoft Visual Studio Code](https://code.visualstudio.com/) :zap: - An open-source IDE from Microsoft. [MIT] +* [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. +* [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. +* [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. +* [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. +* [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. +* [cquery](https://github.com/cquery-project/cquery/) - A C++ code completion engine for vscode, emacs, vim, etc. + +## Build Systems + +* [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] +* [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] +* [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] +* [build2](https://build2.org/) - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT] +* [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] +* [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] +* [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) +* [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] +* [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. +* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. +* [Hunter](https://www.github.com/ruslo/hunter) - CMake driven cross-platform package manager for C++. [BSD-2] +* [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. +* [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. +* [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. +* [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. +* [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] +* [SW](https://software-network.org/) - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3] +* [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. +* [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. +* [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. +* [Vcpkg](https://github.com/microsoft/vcpkg) - C++ library manager for Windows, Linux, and MacOS. [MIT] +* [waf](https://gitlab.com/ita1024/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) +* [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] + +## Static Code Analysis +*List of tools for improving quality and reducing defects by code analysis* + +* [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) +* [CppDepend](https://www.cppdepend.com/) - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code. +* [cpplint](https://github.com/cpplint/cpplint) - A C++ style checker following Google's C++ style guide. +* [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. +* [cpp-dependencies](https://github.com/tomtom-international/cpp-dependencies) - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] +* [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) +* [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] +* [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) +* [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. +* [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. +* [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] +* [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. +* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations +* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. + +## Coding Style Tools + +* [Artistic Style](http://astyle.sourceforge.net/) - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle. +* [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. +* [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. +* [EditorConfig](https://editorconfig.org/) - EditorConfig helps maintain consistent coding styles across different editors and IDEs. +* [Uncrustify](https://github.com/uncrustify/uncrustify) - Code beautifier. + +# Resources +*Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.* + +## API Design + +* [Beautiful Native Libraries](http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/) +* [Designing Qt-Style C++ APIs](https://doc.qt.io/archives/qq/qq13-apis.html) + +## Articles +*Fantastic C++ related articles.* + +* [CppCon 2020 Presentation Materials](https://github.com/CppCon/CppCon2020) - CppCon 2020 Presentation Materials. +* [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. +* [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. +* [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. +* [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. +* [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. +* [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. +* [C++Now 2019 Presentations](https://github.com/boostcon/cppnow_presentations_2019) - Presentation materials presented at C++Now 2019. +* [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. +* [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. +* [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. +* [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. +* [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. +* [C++Now 2013 Presentations](https://github.com/boostcon/cppnow_presentations_2013) - Presentation materials presented at C++Now 2013. +* [C++Now 2012 Presentations](https://github.com/boostcon/cppnow_presentations_2012) - Presentation materials presented at C++Now 2012. + +## Books +*Fantastic C or C++ related books.* + +* [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) +* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#c) - vhf/free-programming-books/C. +* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. +* [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. + +## Coding Standards + +* [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) +* [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) +* [Autosar C++ 2014](https://www.autosar.org/fileadmin/standards/adaptive/21-11/AUTOSAR_RS_CPP14Guidelines.pdf) + +## Coding Style + +* [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. +* [C++ Dos and Don'ts](http://www.chromium.org/developers/coding-style/cpp-dos-and-donts) - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts. +* [google-styleguide](https://github.com/google/styleguide) - Style guides for Google-originated open-source projects. +* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) +* [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html) +* [Linux kernel coding style](https://www.kernel.org/doc/Documentation/process/coding-style.rst) +* [LLVM Coding Standards](http://llvm.org/docs/CodingStandards.html) + +## Podcasts + +* [CppCast](http://cppcast.com) - The first podcast by C++ developers for C++ developers. +* [CppChat](http://cpp.chat) - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community. + +## Talks + +* [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. +* [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo. +* [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) +* [Meeting Cpp](https://www.youtube.com/user/MeetingCPP/videos) - Meeting C++ Youtube Channel + +## Videos +*Fantastic C or C++ related videos.* + +* [List of C or C++ YouTube Videos](https://github.com/fffaraz/awesome-cpp/blob/master/videos.md) +* [Awesome C Programming Tutorials in Hi Def [HD]](https://www.youtube.com/playlist?list=PLCB9F975ECF01953C) - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers. +* [C++](https://www.youtube.com/playlist?list=PL2F919ADECA5E39A6) - by VoidRealms. +* [C++ Qt Programming](https://www.youtube.com/playlist?list=PL2D1942A4688E9D63) - by VoidRealms. +* [C++ Programming Tutorials Playlist](https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83) - TheNewBoston Official Buckys C++ Programming Tutorials Playlist. +* [C++ Programming Tutorials from thenewboston](https://www.youtube.com/playlist?list=PLF541C2C1F671AEF6) - These are all of thenewboston's C++ programming tutorials. +* [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials. +* [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. +* [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. +* [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... + +## Websites +*Useful C or C++ related websites.* + +* [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. +* [CppCon](http://cppcon.org/) - The C++ Conference. +* [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. +* [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. +* [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. +* [C FAQ](http://c-faq.com/) - C frequently asked questions. +* [C++ FAQ](http://www.parashift.com/c++-faq/) - C++ frequently asked questions. +* [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. +* [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. +* [Meeting C++](http://meetingcpp.com/) +* [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. +* [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) +* [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. +* [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. +* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. + +## Weblogs +*Useful C or C++ related weblogs.* + +* [Coding For Speed](https://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time. +* [Eric Niebler](http://ericniebler.com/) +* [Sticky Bits](https://blog.feabhas.com/) +* [Paul Fultz II's Blog](http://pfultz2.com/blog/) +* [ridiculousfish](http://ridiculousfish.com/blog/posts/will-it-optimize.html) - Will It Optimize? +* [Embedded in Academia](http://blog.regehr.org/) +* [Simplify C++](https://arne-mertz.de/) +* [Fluent C++](https://www.fluentcpp.com/) +* [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) +* [Kenny Kerr](https://kennykerr.ca/articles/) +* [Sutter’s Mill](https://herbsutter.com/gotw/) +* [Vorbrodt's C++ Blog](https://vorbrodt.blog/) +* [foonathan::blog()](https://foonathan.net/index.html) + +## Other Awesome Projects +*Collection of useful codes, snippets, ...* + +* [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. +* [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. +* [30 Seconds of C++](https://github.com/Bhupesh-V/30-seconds-of-cpp) + +# Other Awesome Lists +*Other amazingly awesome lists* + +* [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. +* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. +* [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. +* [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. +* [Awesome C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. +* [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. +* [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 +* [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 +* [Awesome Modern C++](https://github.com/rigtorp/awesome-modern-cpp) - A collection of resources on modern C++. +* [AwesomePerfCpp](https://github.com/fenbf/AwesomePerfCpp) - A curated list of awesome C/C++ performance optimization resources. +* [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. +* [Inqlude](http://inqlude.org/) - The Qt library archive. +* [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. +* [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. +* [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. +* [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. +* [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. +* [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. + +# Jobs + +* This list is currently empty, but you can add to it by opening a merge request. + +# Sponsors + +* Please reach out if you are interested in sponsoring this repo. Your company's name and logo will be prominently displayed here. + +# Contributing +Please take a quick gander at the [contribution guidelines](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. +Thanks to all [contributors](https://github.com/fffaraz/awesome-cpp/graphs/contributors); you rock! + +#### *If you see a project or link here that is no longer maintained or is not a good fit, please submit a pull request to improve this document. Thank you!* From 44a6e6887b77789e3c5c9fd87c91e0236bd8da07 Mon Sep 17 00:00:00 2001 From: Sebastian Lipponer Date: Thu, 23 Feb 2023 12:13:04 +0100 Subject: [PATCH 690/959] Add cppexpert.online --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7bb0ef01e..3ead81fa2 100644 --- a/README.md +++ b/README.md @@ -1255,6 +1255,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. * [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. +* [cppexpert.online](https://cppexpert.online) - Learn the best C++ practices by improving code snippets with some problems or with bad practices. ## Weblogs *Useful C or C++ related weblogs.* From c232e9bee1ccb75c0060262468183a6b01e7e3f9 Mon Sep 17 00:00:00 2001 From: realvineeths Date: Sat, 25 Feb 2023 22:55:56 +0530 Subject: [PATCH 691/959] inipp added to readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ead81fa2..73517d617 100644 --- a/README.md +++ b/README.md @@ -314,7 +314,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [inifile-cpp](https://github.com/Rookfighter/inifile-cpp) - A header-only and easy to use Ini file parser for C++. [MIT] * [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] * [inih](https://github.com/jtilly/inih) - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] -* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] +* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT]* +* [inipp](https://github.com/mcmtroffaes/inipp) - Simple header-only C++ ini parser and generator. [MIT] * [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] From ea7d1cbe94bfae8cc18bf81107db5a244f80244a Mon Sep 17 00:00:00 2001 From: Christian Veenhuis Date: Tue, 28 Feb 2023 21:00:52 +0000 Subject: [PATCH 692/959] Add cheat sheets of hackingcpp to Misc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73517d617..fcaffb873 100644 --- a/README.md +++ b/README.md @@ -994,6 +994,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) From 2c0519cbd541b2ac32f71dcc68f546e3a6c8c72e Mon Sep 17 00:00:00 2001 From: tocic Date: Sat, 4 Mar 2023 08:15:51 +0300 Subject: [PATCH 693/959] Add uni-algo i18n lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fcaffb873..2e40cbfce 100644 --- a/README.md +++ b/README.md @@ -577,6 +577,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] * [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] +* [uni-algo](https://github.com/uni-algo/uni-algo) - Unicode Algorithms Implementation for C/C++. [Unlicense or MIT] * [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] * [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] From 2a6a044a45e4f2a764d6d798b615bc160cb5976a Mon Sep 17 00:00:00 2001 From: Berscheid <1885260+pantor@users.noreply.github.com> Date: Wed, 8 Mar 2023 21:58:24 +0100 Subject: [PATCH 694/959] Add Ruckig --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e40cbfce..6c8911fad 100644 --- a/README.md +++ b/README.md @@ -866,6 +866,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] * [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] +* [Ruckig](https://github.com/pantor/ruckig) - Real-time motion generation for robots and machines. [MIT] [website](https://ruckig.com) * [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) ## Scientific Computing From b3df0ab7d1d93e28b7f73843bcebc2537a95e779 Mon Sep 17 00:00:00 2001 From: tocic Date: Tue, 14 Mar 2023 11:11:06 +0300 Subject: [PATCH 695/959] Add awesome-hpp list Closes https://github.com/fffaraz/awesome-cpp/issues/1053. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ca02d65ad..8fdd7facf 100644 --- a/README.md +++ b/README.md @@ -1302,6 +1302,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Inqlude](http://inqlude.org/) - The Qt library archive. * [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. * [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. +* [awesome-hpp](https://github.com/p-ranav/awesome-hpp) - A curated list of awesome header-only C++ libraries. * [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. * [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. * [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. From ab8a8c350cf29ae6261056643bb5332565267dee Mon Sep 17 00:00:00 2001 From: ehsanghaffarii Date: Wed, 15 Mar 2023 19:17:03 +0330 Subject: [PATCH 696/959] Added Aubio library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8fdd7facf..0a14e6e08 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* +* [Aubio](https://github.com/aubio/aubio) - A library for audio and music analysis.[GPL-3.0] * [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] * [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and music analysis, feature extraction. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] From 77b8d8ba07b6ed4e6632b502a22880f1f62e1e92 Mon Sep 17 00:00:00 2001 From: ehsanghaffarii Date: Wed, 15 Mar 2023 19:19:28 +0330 Subject: [PATCH 697/959] Added Aubio library --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a14e6e08..803250d55 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* -* [Aubio](https://github.com/aubio/aubio) - A library for audio and music analysis.[GPL-3.0] +* [Aubio](https://github.com/aubio/aubio) - A library for audio and music analysis.[GPL-3.0] [website](https://aubio.org/) * [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] * [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and music analysis, feature extraction. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] From 16db80a2b25725be6e563502681fc2777f76496e Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Wed, 15 Mar 2023 13:19:10 -0400 Subject: [PATCH 698/959] Added DirectXMath library from Microsoft --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 803250d55..9ec5d3e3c 100644 --- a/README.md +++ b/README.md @@ -691,6 +691,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] * [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] +* [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTk](https://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] From 21554d5b050646076fd855f39ec336e07f7dae55 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Wed, 15 Mar 2023 13:21:55 -0400 Subject: [PATCH 699/959] Added Build Bench benchmark utility --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ec5d3e3c..f208a8ded 100644 --- a/README.md +++ b/README.md @@ -1247,6 +1247,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Useful C or C++ related websites.* * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. +* [Build Bench](https://build-bench.com/) - Compare C++ Builds * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. From 465412fba7ab74e22aa7e76227814b70223672ca Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Wed, 15 Mar 2023 13:22:46 -0400 Subject: [PATCH 700/959] Added Quick Bench benchmark utility --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f208a8ded..63ba89fc1 100644 --- a/README.md +++ b/README.md @@ -1248,6 +1248,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. * [Build Bench](https://build-bench.com/) - Compare C++ Builds +* [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. From e218b94e4fa688f047b20898ada20b88f963f356 Mon Sep 17 00:00:00 2001 From: Fabian Jung Date: Thu, 16 Mar 2023 18:53:55 +0100 Subject: [PATCH 701/959] Added tsmp library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 803250d55..021742daa 100644 --- a/README.md +++ b/README.md @@ -844,6 +844,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) +* [TSMP](https://github.com/fabian-jung/tsmp) - An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT] * [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [Boost] * [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] From 6568f7e3f4816b816e083d64f305626020ad66a4 Mon Sep 17 00:00:00 2001 From: tocic Date: Fri, 17 Mar 2023 09:09:17 +0300 Subject: [PATCH 702/959] Remove dead links --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index e1b753803..a8ce039f7 100644 --- a/README.md +++ b/README.md @@ -327,7 +327,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] -* [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] @@ -836,7 +835,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] * [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) * [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] -* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) +* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] * [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] * [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] * [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] @@ -1297,7 +1296,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. * [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. * [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. -* [Awesome C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. * [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. * [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 * [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 From 997a674779e009eed749e48015d3204381a83d22 Mon Sep 17 00:00:00 2001 From: tocic Date: Fri, 17 Mar 2023 09:52:51 +0300 Subject: [PATCH 703/959] Update Boost libraries * use the same format specified in CONTRIBUTING.md * use links to latest versions instead of fixed versions * switch from http to https * add the missing Boost license to Boost.GIL * use different links for Asio and Boost.Asio * update Signals to Signals2 --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index e1b753803..c78172320 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apache C++ Standard Library](http://stdcxx.apache.org/) - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2] * [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] -* [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) +* [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](https://www.boost.org) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] @@ -143,7 +143,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Asynchronous Event Loop * [Asio](https://github.com/chriskohlhoff/asio/) - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] [website](http://think-async.com/) -* [Boost.Asio](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Boost.Asio](https://github.com/boostorg/asio) - A cross-platform C++ library for network and low-level I/O programming. [Boost] [website](https://boost.org/libs/asio) * [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) * [Ichor](https://github.com/volt-software/ichor) - An event queue which focuses on thread safety and provides dependency injection. [MIT] * [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] @@ -215,7 +215,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] - * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] + * [Boost.Program_options](https://github.com/boostorg/program_options) - A library to obtain program options via conventional methods such as command line and config file. [Boost] [website](https://boost.org/libs/program_options) * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [cli](https://github.com/daniele77/cli) - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] @@ -271,7 +271,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka) - Abstraction library for parallel kernel acceleration. [LGPLv3+] * [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] * [Async++](https://github.com/Amanieu/asyncplusplus) - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT] -* [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] +* [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] [website](https://boost.org/libs/compute) * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] @@ -299,7 +299,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenMP](http://openmp.org/) - The OpenMP API. * [rotor](https://github.com/basiliscos/cpp-rotor) - Event loop friendly C++ actor micro framework. [MIT] * [SObjectizer](https://github.com/Stiffstream/sobjectizer) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause] -* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). +* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [Boost.Coroutine2](https://boost.org/libs/coroutine2). * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [stdgpu](https://github.com/stotko/stdgpu) - Efficient STL-like Data Structures on the GPU. [Apache2] @@ -414,7 +414,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] * [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] -* [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] +* [Boost.Test](https://github.com/boostorg/test) - Boost Test Library. [Boost] [website](https://boost.org/libs/test) * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] * [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [Boost] @@ -545,7 +545,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Image Processing -* [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. +* [Boost.GIL](https://github.com/boostorg/gil) - Generic Image Library. [Boost] [website](https://boost.org/libs/gil) * [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] @@ -585,7 +585,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Inter-process communication * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] -* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) +* [Boost.Interprocess](https://github.com/boostorg/interprocess) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://boost.org/libs/interprocess) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) @@ -601,7 +601,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## JSON -* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Boost.PropertyTree](https://github.com/boostorg/property_tree) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] [website](https://boost.org/libs/property_tree) * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] * [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] @@ -640,7 +640,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Logging * [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] -* [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] +* [Boost.Log](https://github.com/boostorg/log) - Designed to be very modular and extensible. [Boost] [website](https://boost.org/libs/log) * [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] * [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] @@ -685,7 +685,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) * [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] -* [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] +* [Boost.Multiprecision](https://github.com/boostorg/multiprecision) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] [website](https://boost.org/libs/multiprecision) * [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] @@ -750,7 +750,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Networking * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] -* [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] +* [Boost.Asio](https://github.com/boostorg/asio) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] [website](https://boost.org/libs/asio) * [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] [website](https://www.boost.org/libs/beast) * [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] * [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] @@ -885,7 +885,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Scripting * [AngelScript](https://www.angelcode.com/angelscript/) - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] -* [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] +* [Boost.Python](https://github.com/boostorg/python) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] [website](https://boost.org/libs/python) * [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] * [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] * [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) @@ -912,7 +912,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] * [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] -* [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] +* [Boost.Serialization](https://github.com/boostorg/serialization) - Boost Serialization Library. [Boost] [website](https://boost.org/libs/serialization) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] * [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] @@ -973,7 +973,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## XML *XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* -* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] +* [Boost.PropertyTree](https://github.com/boostorg/property_tree) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] [website](https://boost.org/libs/property_tree) * [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT] * [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT] * [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPL2] @@ -998,7 +998,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] -* [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] +* [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] From da283f7d57fbc1f512097d4c289d43c0ea625271 Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 22 Mar 2023 12:08:50 +0300 Subject: [PATCH 704/959] Add documentation section with basic examples Closes https://github.com/fffaraz/awesome-cpp/issues/327. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index c81b13388..5a8312b53 100644 --- a/README.md +++ b/README.md @@ -447,6 +447,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] * [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. +## Documentation + +* [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) + ## Font *Libraries for parsing and manipulating font files.* From 4cdc9cd54f7a0fc049b0505dd7676864295e0ea6 Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 10:58:20 +0300 Subject: [PATCH 705/959] Add missing TOC entries --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 5a8312b53..fd4ebf891 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Database](#database) - [Data visualization](#data-visualization) - [Debug](#debug) + - [Documentation](#documentation) - [Font](#font) - [Game Engine](#game-engine) - [GUI](#gui) @@ -61,11 +62,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [API Design](#api-design) - [Articles](#articles) - [Books](#books) + - [Coding Standards](#coding-standards) - [Coding Style](#coding-style) - [Podcasts](#podcasts) - [Talks](#talks) - [Videos](#videos) - [Websites](#websites) + - [Weblogs](#weblogs) + - [Other Awesome Projects](#other-awesome-projects) - [Other Awesome Lists](#other-awesome-lists) - [Jobs](#jobs) - [Sponsors](#sponsors) From f407d77e148fc7447af83ead2b4577dba708e1a2 Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 13:02:10 +0300 Subject: [PATCH 706/959] Add hdoc documentation tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a8312b53..4ef53ce53 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Commercial] [website](https://hdoc.io) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## Font From eb604d9d7ab99a5aae7bb6833bcf2056979f7f2a Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 13:10:53 +0300 Subject: [PATCH 707/959] Add Natural Docs documentation generator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a8312b53..320f1df74 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Commercial] [website](https://www.naturaldocs.org) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## Font From 2248337af526d2df4aa1393c96813c16c42c12c8 Mon Sep 17 00:00:00 2001 From: tocic Date: Mon, 27 Mar 2023 13:17:57 +0300 Subject: [PATCH 708/959] Add doxyrest documentation converter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a8312b53..c109611df 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) +* [doxyrest](https://github.com/vovkos/doxyrest) - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT] * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## Font From 4eb2fc375e8637b4e6ad65384ebee24d88fc6d20 Mon Sep 17 00:00:00 2001 From: holmes1412 Date: Wed, 29 Mar 2023 18:00:35 +0800 Subject: [PATCH 709/959] Add a lightening icon to C++ Workflow --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..0961472fc 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](https://www.boost.org) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] -* [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] +* [C++ Workflow](https://github.com/sogou/workflow) :zap: - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] From a3fec7c9379d4a78f0e7941535c83738d877ea6b Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 14:17:57 +0300 Subject: [PATCH 710/959] Update outdated stdman entry Closes https://github.com/fffaraz/awesome-cpp/issues/888. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..c0071d694 100644 --- a/README.md +++ b/README.md @@ -1042,7 +1042,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] -* [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] +* [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] From 03a50f1cc53e79f7efe632d47ce93686edc2ff96 Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 13:46:10 +0300 Subject: [PATCH 711/959] Update outdated cppreference entry It's harder to become outdated now. Taken from https://en.cppreference.com/w/Cppreference:FAQ. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..338f54af9 100644 --- a/README.md +++ b/README.md @@ -1262,7 +1262,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Build Bench](https://build-bench.com/) - Compare C++ Builds * [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks * [CppCon](http://cppcon.org/) - The C++ Conference. -* [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. +* [C++ reference](https://cppreference.com) - A complete online reference for the C and C++ languages and standard libraries. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. * [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. * [C FAQ](http://c-faq.com/) - C frequently asked questions. From 9dba9c475fbbecacb1a0efb8aceb5db56813bfb6 Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 14:36:44 +0300 Subject: [PATCH 712/959] =?UTF-8?q?Rename=20PVS-Studio=E2=80=99s=20quiz=20?= =?UTF-8?q?to=20disambiguate=20it=20with=20C++=20Quiz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I believe that Knatten's C++ Quiz deserves the name more, because it's one of the top search results for "c++ quiz". --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a674e8b2..e96f6d12d 100644 --- a/README.md +++ b/README.md @@ -1270,7 +1270,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. * [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. * [Meeting C++](http://meetingcpp.com/) -* [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. +* [PVS-Studio’s challenge](https://quiz.pvs-studio.com) - PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects. * [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) * [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. * [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. From 5a3e357a123e755a309774f7a38a0a667c480c5b Mon Sep 17 00:00:00 2001 From: tocic Date: Wed, 29 Mar 2023 14:44:43 +0300 Subject: [PATCH 713/959] Add cppquiz.org to the Websites section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e96f6d12d..aab8b18e6 100644 --- a/README.md +++ b/README.md @@ -1268,6 +1268,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C FAQ](http://c-faq.com/) - C frequently asked questions. * [C++ FAQ](http://www.parashift.com/c++-faq/) - C++ frequently asked questions. * [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. +* [C++ Quiz](https://cppquiz.org) - A simple online quiz that you can use to test your knowledge of the C++ programming language. * [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. * [Meeting C++](http://meetingcpp.com/) * [PVS-Studio’s challenge](https://quiz.pvs-studio.com) - PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects. From dc0156e8e0e7d9c1a3b29a3863ecca6be0667ba2 Mon Sep 17 00:00:00 2001 From: Christian Veenhuis Date: Tue, 4 Apr 2023 18:31:25 +0000 Subject: [PATCH 714/959] Add Kaitai Struct to serialization section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a12ff4ae0..6ee71967c 100644 --- a/README.md +++ b/README.md @@ -930,6 +930,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] * [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] +* [Kaitai Struct](http://kaitai.io) - A declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) * [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) * [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] From 4f75176f649184fca475fcaea605cc13df1d0c4c Mon Sep 17 00:00:00 2001 From: SSARCandy Date: Wed, 12 Apr 2023 13:48:01 +0000 Subject: [PATCH 715/959] Add ini-cpp to the Configuration section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ee71967c..215f812ad 100644 --- a/README.md +++ b/README.md @@ -319,6 +319,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [inifile-cpp](https://github.com/Rookfighter/inifile-cpp) - A header-only and easy to use Ini file parser for C++. [MIT] * [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] * [inih](https://github.com/jtilly/inih) - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] +* [ini-cpp](https://github.com/SSARCandy/ini-cpp) - Single header only C++ version, with some handy read/write interface, extend from [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] [website](https://ssarcandy.tw/ini-cpp/index.html) * [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT]* * [inipp](https://github.com/mcmtroffaes/inipp) - Simple header-only C++ ini parser and generator. [MIT] * [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) From d03e3b0a5121fc3fd1f6b8a2f9ede19977762efb Mon Sep 17 00:00:00 2001 From: Paul Ewing Date: Tue, 25 Apr 2023 10:49:38 -0600 Subject: [PATCH 716/959] Remove header-only from Catch2 description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 215f812ad..aeba03621 100644 --- a/README.md +++ b/README.md @@ -421,7 +421,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](https://github.com/boostorg/test) - Boost Test Library. [Boost] [website](https://boost.org/libs/test) * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [Boost] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native test framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] From a09d662f7cbcd68abc6bf9eb44d88a557d442b2c Mon Sep 17 00:00:00 2001 From: Paul Ewing Date: Wed, 26 Apr 2023 07:40:21 -0600 Subject: [PATCH 717/959] Add comma --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aeba03621..33d5839d2 100644 --- a/README.md +++ b/README.md @@ -421,7 +421,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.Test](https://github.com/boostorg/test) - Boost Test Library. [Boost] [website](https://boost.org/libs/test) * [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) * [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native test framework for unit-tests, TDD and BDD. [Boost] +* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost] * [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] From d648807f03d352785f0eecfb8ec4b97ee9e48b5c Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 11 May 2023 09:08:05 +0300 Subject: [PATCH 718/959] Reformat & update zapped library entries --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 871032dd5..96068a27e 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] * [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] -* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) +* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++. [Boost] [website](http://dlib.net/) * [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] * [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library. [MIT] * [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] @@ -114,7 +114,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] * [MiLi](https://github.com/MariadeAnton/MiLi) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] +* [Qt](https://github.com/qt) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] [website](https://www.qt.io) * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] * [Seastar](https://github.com/scylladb/seastar) - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/) @@ -258,7 +258,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LZ4](https://github.com/lz4/lz4) - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/) * [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. * [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] -* [LZMA](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] +* [LZMA](https://sourceforge.net/projects/sevenzip/files/7-Zip) :zap: - The default and general compression method of 7z format. [PublicDomain] [website](https://www.7-zip.org) * [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL] * [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] * [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] @@ -545,7 +545,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] -* [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] +* [Ogre 3D](https://github.com/OGRECave) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] [website](https://www.ogre3d.org) * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] * [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] * [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] @@ -574,7 +574,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] * [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] -* [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] +* [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] * [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] @@ -622,7 +622,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] * [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] * [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] -* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] +* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] [website](https://json.nlohmann.me) * [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] * [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] * [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] @@ -637,12 +637,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] * [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] * [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] -* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] +* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser. [BSD-2-Clause] * [parson](https://github.com/kgabis/parson) - Parson is a lighweight json library written in C. [MIT] * [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] * [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] * [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] -* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] +* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] [website](https://rapidjson.org) * [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] * [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] @@ -756,7 +756,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] * [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] * [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) -* [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] +* [SDL](https://github.com/libsdl-org/SDL) :zap: - Simple DirectMedia Layer. [zlib] [website](https://libsdl.org) * [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) * [TagLib](https://github.com/taglib/taglib) - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/) @@ -1019,7 +1019,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] -* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] +* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] @@ -1121,9 +1121,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] * [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. * [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. -* [Microsoft Visual Studio Code](https://code.visualstudio.com/) :zap: - An open-source IDE from Microsoft. [MIT] +* [Microsoft Visual Studio Code](https://github.com/microsoft/vscode) :zap: - An open-source IDE from Microsoft. [MIT] [website](https://code.visualstudio.com) * [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. -* [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. +* [Qt Creator](https://github.com/qt-creator/qt-creator) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions] [website](https://www.qt.io/product/development-tools) * [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. * [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. * [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. From b6c9618b588f76737437f532afc22507cafec8f2 Mon Sep 17 00:00:00 2001 From: tocic Date: Thu, 11 May 2023 10:06:34 +0300 Subject: [PATCH 719/959] Add missing periods after descriptions --- README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 871032dd5..3910fe18a 100644 --- a/README.md +++ b/README.md @@ -133,11 +133,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] * [frugally-deep](https://github.com/Dobiasd/frugally-deep) - Header-only library for using Keras models in C++. [MIT] * [Genann](https://github.com/codeplea/genann) - Simple neural network library in C. [zlib] -* [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) +* [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more. [website](https://mxnet.apache.org) * [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) * [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD] * [Recast/Detour](https://github.com/recastnavigation/recastnavigation) - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib] -* [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs [Apache] +* [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs. [Apache] * [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) * [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] @@ -183,7 +183,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] * [minimp3](https://github.com/lieff/minimp3) - Public domain, header-only MP3 decoder with clean-room implementation. [CC0] * [Verovio](https://github.com/rism-ch/verovio) - Verovio is a fast and lightweight music notation engraving library. [LGPL] [website](https://www.verovio.org) -* [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency [BSD] +* [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency. [BSD] ## Biology *Bioinformatics, Genomics, Biotech* @@ -237,12 +237,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] * [popl](https://github.com/badaix/popl) - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT] * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] - * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT] + * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++. [MIT] * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] - * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface [MIT] + * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface. [MIT] ## Compression *Compression and Archiving Libraries* @@ -304,7 +304,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [rotor](https://github.com/basiliscos/cpp-rotor) - Event loop friendly C++ actor micro framework. [MIT] * [SObjectizer](https://github.com/Stiffstream/sobjectizer) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause] * [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [Boost.Coroutine2](https://boost.org/libs/coroutine2). -* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] +* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [stdgpu](https://github.com/stotko/stdgpu) - Efficient STL-like Data Structures on the GPU. [Apache2] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] @@ -397,7 +397,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [ODB](https://www.codesynthesis.com/products/odb/) - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2] * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] -* [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] +* [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2] * [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [Boost] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] @@ -449,7 +449,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] * [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] * [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] -* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] +* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework. [Boost] * [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. ## Documentation @@ -466,7 +466,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) * [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] * [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] -* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] +* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine. [Old MIT] ## Game Engine @@ -694,7 +694,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Math -* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] +* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing. [GPL2] * [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) * [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) * [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] @@ -704,7 +704,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] * [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] -* [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps +* [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps. * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] * [ExprTk](https://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] @@ -714,7 +714,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] -* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] +* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] * [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] * [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] * [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] @@ -878,7 +878,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles. * [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] -* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) +* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing. [BSD] [website](http://www.pointclouds.org/) * [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] * [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) * [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] @@ -1002,8 +1002,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Yaml * [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] -* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] -* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] +* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++. [MIT] +* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML. [MIT] ## Miscellaneous *Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* @@ -1020,7 +1020,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] -* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] +* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] @@ -1170,7 +1170,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. * [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] * [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. -* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations +* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations. * [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. ## Coding Style Tools @@ -1262,8 +1262,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Useful C or C++ related websites.* * [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. -* [Build Bench](https://build-bench.com/) - Compare C++ Builds -* [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks +* [Build Bench](https://build-bench.com/) - Compare C++ Builds. +* [Quick Bench](https://quick-bench.com/) - Quick C++ Benchmarks. * [CppCon](http://cppcon.org/) - The C++ Conference. * [C++ reference](https://cppreference.com) - A complete online reference for the C and C++ languages and standard libraries. * [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. From 30ea484a01a486d2034a5b060d7ab1ac570fe57b Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 17 May 2023 21:32:10 +0800 Subject: [PATCH 720/959] JSON: Add UltraJSON --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 871032dd5..c0fb54676 100644 --- a/README.md +++ b/README.md @@ -647,6 +647,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] +* [UltraJSON](https://github.com/ultrajson/ultrajson) - Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause] * [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] * [yyjson](https://github.com/ibireme/yyjson) - A high performance JSON library written in ANSI C. [MIT] From 8d7df6078114263d1a12eca3d3d3064d89b56e45 Mon Sep 17 00:00:00 2001 From: BLUELOVETH Date: Tue, 6 Jun 2023 06:29:18 +0800 Subject: [PATCH 721/959] Add pocketpy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0c6fe9612..1fef4f0bb 100644 --- a/README.md +++ b/README.md @@ -914,6 +914,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) +* [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] From 51f364cb38b5abb9eef1e5d281ead824db3bf186 Mon Sep 17 00:00:00 2001 From: Lawrence Murray Date: Sat, 10 Jun 2023 15:57:33 -0700 Subject: [PATCH 722/959] Add Doxide. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fef4f0bb..3e3d73581 100644 --- a/README.md +++ b/README.md @@ -454,6 +454,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Documentation +* [Doxide](https://github.com/lawmurray/doxide) - Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] [website](https://doxide.org) * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) * [doxyrest](https://github.com/vovkos/doxyrest) - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT] * [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Commercial] [website](https://hdoc.io) From c07575c7ea45df77ded79ae3c6926af5a0c446cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matheus=20C=2E=20Fran=C3=A7a?= Date: Wed, 14 Jun 2023 08:56:39 -0300 Subject: [PATCH 723/959] tigerbeetle c++ client --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e3d73581..c355f5116 100644 --- a/README.md +++ b/README.md @@ -407,6 +407,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] +* [TigerBeetleDB C++ client (Community)](https://github.com/kassane/tigerbeetle-cpp) - TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] ## Data visualization *Data visiualization Libraries* From 9f3a85840a3066bc2ae9079a540abd98b1def188 Mon Sep 17 00:00:00 2001 From: bosmatt <107058910+bosmatt@users.noreply.github.com> Date: Thu, 22 Jun 2023 15:43:02 +0300 Subject: [PATCH 724/959] Add Speedb Add Speedb to the databases section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e3d73581..8e291dad2 100644 --- a/README.md +++ b/README.md @@ -399,6 +399,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2] * [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [Boost] +* [Speedb](https://github.com/speedb-io/speedb) - Community-led project: A RocksDB compliant high performance scalable embedded key-value store. [Apache2] * [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] * [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] * [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] From 88f71e5c08594d4f4b01fb011c97021cd513ca26 Mon Sep 17 00:00:00 2001 From: PatriotRossii Date: Mon, 26 Jun 2023 21:04:06 +0300 Subject: [PATCH 725/959] Add eoan-ermine/cpp-conferences repository --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e291dad2..263ae8c4b 100644 --- a/README.md +++ b/README.md @@ -1243,6 +1243,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Talks +* [C++ Conferences](https://github.com/eoan-ermine/cpp-conferences) - Catalog of C++ conferences * [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. * [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo. * [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) From facfdf3fc22d13931d87e537d80c664ac20cdee4 Mon Sep 17 00:00:00 2001 From: Xie Han <63350856@qq.com> Date: Sun, 2 Jul 2023 19:58:07 +0800 Subject: [PATCH 726/959] Add SRPC --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 263ae8c4b..57551c41d 100644 --- a/README.md +++ b/README.md @@ -611,6 +611,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) * [rpclib](https://github.com/rpclib/rpclib) - A modern C++ msgpack-RPC server and client library. [MIT] * [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] +* [SRPC](https://github.com/sogou/srpc) - A lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2] * [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) * [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] From ce12a62929f778db2e1aadc5a1dd906f9a7745b9 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 6 Jul 2023 22:59:16 +0800 Subject: [PATCH 727/959] Add DSP libraries --- README.md | 11 +++++++++++ todo.txt | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 57551c41d..13e2975f2 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Data visualization](#data-visualization) - [Debug](#debug) - [Documentation](#documentation) + - [DSP](#dsp) - [Font](#font) - [Game Engine](#game-engine) - [GUI](#gui) @@ -462,6 +463,16 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Commercial] [website](https://www.naturaldocs.org) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) +## DSP +*Digital signal processing.* + +* [DSPFilters](https://github.com/vinniefalco/DSPFilters) - A collection of useful C++ classes for digital signal processing. [MIT] +* [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] +* [iir1](https://github.com/berndporr/iir1) - IIR Realtime C++ filter library. [MIT] +* [kissfft](https://github.com/mborgerding/kissfft) - A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause] +* [pocketfft](https://github.com/mreineck/pocketfft) - FFT implementation based on FFTPack, but with several improvements. [BSD-3-Clause] +* [wavelib](https://github.com/rafat/wavelib) - C implementation of 1D and 2D wavelet transforms. [BSD-3-Clause] + ## Font *Libraries for parsing and manipulating font files.* diff --git a/todo.txt b/todo.txt index c2ae55c89..3049bd2d8 100644 --- a/todo.txt +++ b/todo.txt @@ -117,7 +117,6 @@ https://github.com/mozilla/mozjpeg https://github.com/tinfoilboy/Explodable https://github.com/shaih/HElib https://github.com/jlnr/gosu -https://github.com/vinniefalco/DSPFilters https://github.com/m-ou-se/moggle https://github.com/Hawstein/cracking-the-coding-interview From f6b8103c4477c9984479bd7f48760a4c89eebffc Mon Sep 17 00:00:00 2001 From: Chanchan Date: Mon, 10 Jul 2023 21:46:31 +0800 Subject: [PATCH 728/959] Add c++ wfrest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 13e2975f2..d26d5440b 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](https://www.boost.org) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) :zap: - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] +* [C++ wfrest](https://github.com/wfrest/wfrest) :zap: - C++ Web Framework REST API. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] From 12cee03c4cd005aa93405fe369f83525c6e2008a Mon Sep 17 00:00:00 2001 From: Chanchan Date: Thu, 13 Jul 2023 09:56:39 +0800 Subject: [PATCH 729/959] Add wfrest --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d26d5440b..4b58df32e 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](https://www.boost.org) * [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] * [C++ Workflow](https://github.com/sogou/workflow) :zap: - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] -* [C++ wfrest](https://github.com/wfrest/wfrest) :zap: - C++ Web Framework REST API. [Apache2] * [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] * [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] * [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] @@ -990,6 +989,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) * [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) * [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] +* [C++ wfrest](https://github.com/wfrest/wfrest) - C++ Web Framework REST API. [Apache2] * [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) * [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] * [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] From d208a71ad4f1b313cc7cb9fa1135d82a8c549fdb Mon Sep 17 00:00:00 2001 From: yahya-mohammed07 Date: Fri, 4 Aug 2023 09:43:58 +0300 Subject: [PATCH 730/959] add ezEengine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b58df32e..ed657cedd 100644 --- a/README.md +++ b/README.md @@ -508,6 +508,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) * [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] +* [ezEngine](https://github.com/ezEngine/ezEngine) - Is a free, open-source game engine written in C++. Its philosophy is to be modular and flexible, such that it can be adapted to many different use cases. [MIT] [website](https://ezengine.net/) ## GUI *Graphic User Interface* From fa472778c5683823d141218eb599cd0667a1fd34 Mon Sep 17 00:00:00 2001 From: Brad Bramble Date: Sun, 6 Aug 2023 09:06:59 -0400 Subject: [PATCH 731/959] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b58df32e..f52fd21f3 100644 --- a/README.md +++ b/README.md @@ -502,6 +502,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) * [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] * [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) +* [quakeforge](https://github.com/quakeforge/quakeforge) - Actively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0] * [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) * [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) * [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) From 608685ce4cd47e379b1be1b56497d47f2c069c13 Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sun, 6 Aug 2023 19:18:19 +0200 Subject: [PATCH 732/959] add Graaf library to Math section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b58df32e..383c0ff03 100644 --- a/README.md +++ b/README.md @@ -727,6 +727,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] +* [Graaf](https://github.com/bobluppes/graaf) - A general-purpose lightweight C++20 graph library with support for directed/undirected graph structures and algorithms. [MIT] [website](https://bobluppes.github.io/graaf/) * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] * [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] From 535c849a5fa778dfe8d3ca908874a604d847e19c Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sun, 6 Aug 2023 19:23:54 +0200 Subject: [PATCH 733/959] created new Graph section --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 383c0ff03..49b9edf1a 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [DSP](#dsp) - [Font](#font) - [Game Engine](#game-engine) + - [Graph](#graph) - [GUI](#gui) - [Graphics](#graphics) - [Image Processing](#image-processing) @@ -509,6 +510,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. * [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] +## Graph + +* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] +* [Graaf](https://github.com/bobluppes/graaf) - A general-purpose lightweight C++20 graph library. [MIT] [website](https://bobluppes.github.io/graaf/) + ## GUI *Graphic User Interface* @@ -718,7 +724,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) * [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] * [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] -* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] * [DirectXMath](https://github.com/microsoft/DirectXMath) - An all inline SIMD C++ linear algebra library for use in games and graphics apps. * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) * [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] @@ -727,7 +732,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) * [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] * [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] -* [Graaf](https://github.com/bobluppes/graaf) - A general-purpose lightweight C++20 graph library with support for directed/undirected graph structures and algorithms. [MIT] [website](https://bobluppes.github.io/graaf/) * [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) * [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] * [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause] From 87b719feea8233579377a36b8f7146b55f857a00 Mon Sep 17 00:00:00 2001 From: germinolegrand Date: Sun, 20 Aug 2023 18:55:08 +0200 Subject: [PATCH 734/959] Data visualization typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5988c8b0..fb4a82b9f 100644 --- a/README.md +++ b/README.md @@ -412,7 +412,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] ## Data visualization -*Data visiualization Libraries* +*Data visualization Libraries* * [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) From 9d247bd850d43646a0255640d56e34ebe4184c69 Mon Sep 17 00:00:00 2001 From: Tomer Shalev Date: Mon, 21 Aug 2023 12:38:45 -0700 Subject: [PATCH 735/959] Add https://micro-gl.github.io/docs/microgl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f5988c8b0..d05930556 100644 --- a/README.md +++ b/README.md @@ -565,6 +565,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) +* [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] * [Ogre 3D](https://github.com/OGRECave) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] [website](https://www.ogre3d.org) * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] From 9128749704cf6aed9d2bd3c868e5d5247e4455e0 Mon Sep 17 00:00:00 2001 From: Sheena Artrip Date: Thu, 14 Sep 2023 23:13:20 -0700 Subject: [PATCH 736/959] remove dead bsf framework that contains a malware'd domain --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 3322bc65b..5596207a2 100644 --- a/README.md +++ b/README.md @@ -550,7 +550,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) * [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] * [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) -* [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] * [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] * [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] * [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] From 5a689e7909eb1e344fc1e7e4bd1963c6bbef5488 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 15 Sep 2023 20:14:26 +0900 Subject: [PATCH 737/959] Add ssp (csv parser library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5596207a2..dfd64cd06 100644 --- a/README.md +++ b/README.md @@ -378,6 +378,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] * [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] * [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] +* [ssp](https://github.com/red0124/ssp) - A header only "csv" parser which is fast and versatile with modern C++ api. [MIT] * [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] ## Database From 1048b7a3df80b8320f9e91ace50e5027b4f98999 Mon Sep 17 00:00:00 2001 From: Lars Windolf Date: Fri, 15 Sep 2023 21:42:38 +0200 Subject: [PATCH 738/959] Needs new link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5596207a2..c197b63ef 100644 --- a/README.md +++ b/README.md @@ -1129,7 +1129,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Integrated Development Environment *List of C or C++ nominal IDEs.* -* [Anjuta DevStudio](http://anjuta.org/) - The GNOME IDE. [GPL3] +* [Anjuta DevStudio](https://sourceforge.net/projects/anjuta/) - The GNOME IDE. [GPL3] * [AppCode](http://www.jetbrains.com/objc/) - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform. * [Cevelop](https://www.cevelop.com) - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins. * [CLion](http://www.jetbrains.com/clion/) - Cross-platform C and C++ IDE from JetBrains. From 03b8d7acc0a1c673d1944adbde8a6bbd2c4b4296 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Sep 2023 21:46:26 +0900 Subject: [PATCH 739/959] Add commata (csv parser library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 221722b73..bfd41c20b 100644 --- a/README.md +++ b/README.md @@ -374,6 +374,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## CSV *Libraries for parsing Comma Separated Value (CSV) files* +* [commata](https://github.com/furfurylic/commata) - Just another header-only C++17 CSV parser. [Unlicense] * [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] * [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] * [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] From 87248be00dc5a9f149e704fc23c1f79e7c508ec1 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Sep 2023 09:11:40 +0900 Subject: [PATCH 740/959] add DAW JSON Link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bfd41c20b..51be99ac5 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boost.PropertyTree](https://github.com/boostorg/property_tree) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] [website](https://boost.org/libs/property_tree) * [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] +* [DAW JSON Link](https://github.com/beached/daw_json_link) - Fast, convenient JSON serialization and parsing in C++. [BSL-1.0] * [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] * [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] * [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] From 9978e1200b82b2807bf64d7b664fd35bf59405b9 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Sep 2023 09:38:26 +0900 Subject: [PATCH 741/959] add Jsonifier (JSON reader/writer) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a64ff0019..112fc7d54 100644 --- a/README.md +++ b/README.md @@ -655,6 +655,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] * [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] * [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] +* [Jsonifier](https://github.com/RealTimeChris/Jsonifier) - A few classes for parsing and serializing objects from/into JSON - very rapidly. [MIT] * [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] * [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] * [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] From 3980c125b46660cd0c60727adfd215ef00ae5a12 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 28 Sep 2023 17:38:54 +0900 Subject: [PATCH 742/959] add DuckDB (embedded OLAP database) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 112fc7d54..6e80cd426 100644 --- a/README.md +++ b/README.md @@ -386,6 +386,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Database Libraries, SQL Servers, ODBC Drivers, and Tools* * [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] +* [DuckDB](https://duckdb.org/) - in-process SQL OLAP Database Management System. [MIT] * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] From f4eda88c2e8aaaa32d6846ca0fe6027780c0a3bb Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 30 Sep 2023 21:57:32 +0000 Subject: [PATCH 743/959] deleted README.md.bak --- README.md.bak | 1317 ------------------------------------------------- 1 file changed, 1317 deletions(-) delete mode 100644 README.md.bak diff --git a/README.md.bak b/README.md.bak deleted file mode 100644 index bddfb9381..000000000 --- a/README.md.bak +++ /dev/null @@ -1,1317 +0,0 @@ -# Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](https://www.trackawesomelist.com/fffaraz/awesome-cpp/) -A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. - -- [Awesome C++](#awesome-cpp) - - [Standard Libraries](#standard-libraries) - - [Frameworks](#frameworks) - - [Artificial Intelligence](#artificial-intelligence) - - [Asynchronous Event Loop](#asynchronous-event-loop) - - [Audio](#audio) - - [Biology](#biology) - - [BitTorrent](#bittorrent) - - [Chemistry](#chemistry) - - [CLI](#cli) - - [Compression](#compression) - - [Concurrency](#concurrency) - - [Configuration](#configuration) - - [Containers](#containers) - - [Cryptography](#cryptography) - - [CSV](#csv) - - [Database](#database) - - [Data visualization](#data-visualization) - - [Debug](#debug) - - [Font](#font) - - [Game Engine](#game-engine) - - [GUI](#gui) - - [Graphics](#graphics) - - [Image Processing](#image-processing) - - [Internationalization](#internationalization) - - [Inter-process communication](#inter-process-communication) - - [JSON](#json) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Math](#math) - - [Memory Allocation](#memory-allocation) - - [Multimedia](#multimedia) - - [Networking](#networking) - - [PDF](#pdf) - - [Physics](#physics) - - [Reflection](#reflection) - - [Regular Expression](#regular-expression) - - [Robotics](#robotics) - - [Scientific Computing](#scientific-computing) - - [Scripting](#scripting) - - [Serialization](#serialization) - - [Sorting](#sorting) - - [Video](#video) - - [Virtual Machines](#virtual-machines) - - [Web Application Framework](#web-application-framework) - - [XML](#xml) - - [Yaml](#yaml) - - [Miscellaneous](#miscellaneous) -- [Software](#software) - - [Compiler](#compiler) - - [Online Compiler](#online-compiler) - - [Debugger](#debugger) - - [Integrated Development Environment](#integrated-development-environment) - - [Build Systems](#build-systems) - - [Static Code Analysis](#static-code-analysis) - - [Coding Style Tools](#coding-style-tools) -- [Resources](#resources) - - [API Design](#api-design) - - [Articles](#articles) - - [Books](#books) - - [Coding Style](#coding-style) - - [Podcasts](#podcasts) - - [Talks](#talks) - - [Videos](#videos) - - [Websites](#websites) -- [Other Awesome Lists](#other-awesome-lists) -- [Jobs](#jobs) -- [Sponsors](#sponsors) -- [Contributing](#contributing) - -## Standard Libraries -*C++ Standard Library - including STL Containers, STL Algorithm, STL Functional, etc.* - -* [C++ Standard Library](https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library) - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself. -* [Standard Template Library](https://en.wikipedia.org/wiki/Standard_Template_Library) - The Standard Template Library (STL). -* [C POSIX library](https://en.wikipedia.org/wiki/C_POSIX_library) - A specification of a C standard library for POSIX systems. -* [ISO C++ Standards Committee](https://github.com/cplusplus) - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/) -* [The GNU C Library](https://www.gnu.org/software/libc/manual) - The purpose of this manual is to tell you how to use the facilities of the GNU C Library. - -## Frameworks -*C++ generic frameworks and libraries.* - -* [abseil-cpp](https://github.com/abseil/abseil-cpp) - Abseil C++ Common Libraries. [Apache2] -* [Apache C++ Standard Library](http://stdcxx.apache.org/) - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2] -* [APR](http://apr.apache.org/) - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2] -* [ASL](http://stlab.adobe.com/) - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT] -* [Boost](https://github.com/boostorg) :zap: - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/) -* [BDE](https://github.com/bloomberg/bde) - The BDE Development Environment from Bloomberg Labs. [Apache2] -* [C++ Workflow](https://github.com/sogou/workflow) - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2] -* [CGraph](https://github.com/ChunelFeng/CGraph) - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT] -* [Cinder](https://libcinder.org/) - A community-developed, free and open source library for professional-quality creative coding. [BSD] -* [Coost](https://github.com/idealvin/coost) - A tiny boost library in C++11. [MIT] -* [Cxxomfort](http://ryan.gulix.cl/fossil.cgi/cxxomfort/) - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT] -* [Dlib](https://github.com/davisking/dlib) :zap: - A toolkit for making real world machine learning and data analysis applications in C++ [Boost] [website](http://dlib.net/) -* [EASTL](https://github.com/electronicarts/EASTL) - Electronic Arts Standard Template Library. [BSD] -* [ETL](https://github.com/ETLCPP/etl) - Embedded Template Library. [MIT] -* [ffead-cpp](https://github.com/sumeetchhetri/ffead-cpp) - Framework for Enterprise Application Development. [Apache2] -* [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] -* [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] -* [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] -* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) -* [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) -* [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] -* [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] -* [LibU](https://github.com/koanlogic/libu) - A multiplatform utility library written in C. [BSD] -* [libxutils](https://github.com/kala13x/libxutils) - Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT] -* [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] -* [MiLi](https://github.com/MariadeAnton/MiLi) - Minimal headers-only C++ Library. [Boost] -* [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](https://www.qt.io/download-open-source/) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] -* [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] -* [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] -* [Seastar](https://github.com/scylladb/seastar) - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/) -* [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] -* [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost] -* [tbox](https://github.com/tboox/tbox) - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/) -* [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] -* [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] -* [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] -* [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] - -## Artificial Intelligence - -* [ANNetGPGPU](https://github.com/ANNetGPGPU/ANNetGPGPU) - A GPU (CUDA) based Artificial Neural Network library. [LGPL] -* [btsk](https://github.com/aigamedev/btsk) - Game Behavior Tree Starter Kit. [zlib] -* [Evolving Objects](http://eodev.sourceforge.net/) - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL] -* [frugally-deep](https://github.com/Dobiasd/frugally-deep) - Header-only library for using Keras models in C++. [MIT] -* [Genann](https://github.com/codeplea/genann) - Simple neural network library in C. [zlib] -* [MXNet](https://github.com/apache/incubator-mxnet) - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org) -* [PyTorch](https://github.com/pytorch/pytorch) - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org) -* [flashlight](https://github.com/flashlight/flashlight) - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD] -* [Recast/Detour](https://github.com/recastnavigation/recastnavigation) - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib] -* [TensorFlow](https://github.com/tensorflow/tensorflow) - An open source software library for numerical computation using data flow graphs [Apache] -* [oneDNN](https://github.com/oneapi-src/oneDNN) - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn) -* [CNTK](https://github.com/Microsoft/CNTK) - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost] -* [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn) - A header only, dependency-free deep learning framework in C++11. [BSD] -* [Veles](https://github.com/Samsung/veles) - Distributed platform for rapid Deep learning application development. [Apache] -* [Kaldi](https://github.com/kaldi-asr/kaldi) - Toolkit for speech recognition. [Apache] - -## Asynchronous Event Loop - -* [Asio](https://github.com/chriskohlhoff/asio/) - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] [website](http://think-async.com/) -* [Boost.Asio](http://think-async.com/) - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [C++ Actor Framework](https://github.com/actor-framework/actor-framework) - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/) -* [Ichor](https://github.com/volt-software/ichor) - An event queue which focuses on thread safety and provides dependency injection. [MIT] -* [libev](http://libev.schmorp.de/) - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL] -* [libevent](http://libevent.org/) - An event notification library. [BSD] -* [libhv](https://github.com/ithewei/libhv) - Cross-platform event loop library. [BSD] -* [libuv](https://github.com/libuv/libuv) - Cross-platform asynchronous I/O. [BSD] -* [promise-cpp](https://github.com/xhawk18/promise-cpp) - Header only library that implements Promise/A+ standard. [Anti-996] -* [uvw](https://github.com/skypjack/uvw) - C++ wrapper for libuv. [MIT] - -## Audio -*Audio, Sound, Music, Digitized Voice Libraries* - -* [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] -* [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and music analysis, feature extraction. [MIT] -* [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] -* [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] -* [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] -* [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] -* [libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/) -* [libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/) -* [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] -* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] -* [miniaudio](https://github.com/mackron/miniaudio) - Single file audio playback and capture library. [Unlicense] [website](https://miniaud.io/) -* [ni-media](https://github.com/NativeInstruments/ni-media) - C++ library for reading and writing audio files. [MIT] -* [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] -* [PortAudio](http://www.portaudio.com/) - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT] -* [rnnoise](https://github.com/xiph/rnnoise) - Recurrent neural network for audio noise reduction. [BSD-3-Clause] -* [SELA](https://github.com/sahaRatul/sela) - SimplE Lossless Audio. [MIT] -* [SoLoud](https://github.com/jarikomppa/soloud) - Easy, portable audio engine for games. [zlib] -* [Speex](http://www.speex.org/) - A free codec for free speech. Obsoleted by Opus. [BSD] -* [Tonic](https://github.com/TonicAudio/Tonic) - Easy and efficient audio synthesis in C++. [Unlicense] -* [Vorbis](http://xiph.org/vorbis/) - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD] -* [minimp3](https://github.com/lieff/minimp3) - Public domain, header-only MP3 decoder with clean-room implementation. [CC0] -* [Verovio](https://github.com/rism-ch/verovio) - Verovio is a fast and lightweight music notation engraving library. [LGPL] [website](https://www.verovio.org) -* [Wav2Letter++](https://github.com/facebookresearch/wav2letter/) - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency [BSD] - -## Biology -*Bioinformatics, Genomics, Biotech* - -* [BioC++](http://biocpp.sourceforge.net/) - C++ Computational Libraries for Bioinformatics. [BSD] -* [Chaste](http://www.cs.ox.ac.uk/chaste/) - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD] -* [libsequence](http://molpopgen.github.io/libsequence/) - A C++ library for representing and analyzing population genetics data. [GPL] -* [SeqAn](http://www.seqan.de/) - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause] -* [Vcflib](https://github.com/ekg/vcflib) - A C++ library for parsing and manipulating VCF files. [MIT] -* [Wham](https://github.com/zeeev/wham) - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT] - -## BitTorrent - -* [jech/dht](https://github.com/jech/dht) - BitTorrent DHT library in C. [MIT] -* [libtorrent](https://github.com/arvidn/libtorrent) (a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD] -* [LibTorrent](https://github.com/rakshasa/libtorrent) (a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL] -* [libutp](https://github.com/bittorrent/libutp) - uTorrent Transport Protocol library. [MIT] - -## Chemistry -*Chemistry, Quantum Chemistry, Solid-State Chemistry/Physics, Geochemistry, Biochemistry* - -* [d-SEAMS](https://github.com/d-SEAMS/seams-core) - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] [website](https://dseams.info) -* [gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://www.gromacs.org) -* [Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org) -* [LAMMPS](https://github.com/lammps/lammps) - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] [website](https://lammps.sandia.gov/) -* [MADNESS](https://github.com/m-a-d-n-e-s-s/madness) - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] [website](https://github.com/m-a-d-n-e-s-s/madness) -* [MPQC](https://github.com/ValeevGroup/mpqc) - The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL] [website](https://mpqc.org/) -* [ORCA](https://en.wikipedia.org/wiki/ORCA_(quantum_chemistry_program)) - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] [website](https://orcaforum.kofo.mpg.de/) -* [Psi](https://github.com/psi4/psi4) - An ab initio computational chemistry package. [GPL] [website](https://psicode.org/) - -## CLI -*Console/Terminal User Interface, Command Line Interface* - - * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] - * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] - * [Boost.Program_options](http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html) - A library to obtain program options via conventional methods such as command line and config file. [Boost] - * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0] - * [cli](https://github.com/daniele77/cli) - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] - * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] - * [clipp](https://github.com/muellan/clipp) - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT] - * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] - * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] - * [FINAL CUT](https://github.com/gansm/finalcut) - Library for creating terminal applications with text-based widgets. [LGPL] - * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] - * [indicators](https://github.com/p-ranav/indicators/) - Activity indicators for Modern C++. [MIT] - * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] - * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] - * [Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] - * [Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT] - * [oof](https://github.com/s9w/oof) - Convenient, high-performance RGB color and position control for console output. [MIT] - * [PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain] - * [popl](https://github.com/badaix/popl) - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT] - * [replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD] - * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT] - * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] - * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] - * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] - * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] - * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface [MIT] - -## Compression -*Compression and Archiving Libraries* - -* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2] -* [Brotli](https://github.com/google/brotli) - Brotli compression format. Developed by Google. [MIT] -* [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] -* [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] -* [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. -* [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] -* [KArchive](https://api.kde.org/frameworks/karchive/html/index.html) - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL] -* [libarchive](https://github.com/libarchive/libarchive) - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/) -* [LZ4](https://github.com/lz4/lz4) - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/) -* [LZFSE](https://github.com/lzfse/lzfse) - LZFSE compression library and command line tool. Developed by Apple. -* [LZHAM](https://code.google.com/p/lzham/) - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD] -* [LZMA](http://www.7-zip.org/sdk.html) :zap: - The default and general compression method of 7z format. [PublicDomain] -* [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL] -* [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] -* [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] -* [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] -* [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] -* [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] -* [zlib-ng](https://github.com/Dead2/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] -* [zstd](https://github.com/facebook/zstd) - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD] -* [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] - -## Concurrency -*Concurrency and Multithreading* - -* [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka) - Abstraction library for parallel kernel acceleration. [LGPLv3+] -* [ArrayFire](https://github.com/arrayfire/arrayfire) - A general purpose GPU library. [BSD] -* [Async++](https://github.com/Amanieu/asyncplusplus) - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT] -* [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] -* [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] -* [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] -* [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] -* [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] -* [CUB](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] -* [cuda-api-wrappers](https://github.com/eyalroz/cuda-api-wrappers) - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD] -* [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] -* [C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost] -* [FiberTaskingLib](https://github.com/RichieSams/FiberTaskingLib) - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache] -* [HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost] -* [Intel Games Task Scheduler](https://github.com/GameTechDev/GTS-GamesTaskScheduler) - A task scheduling framework designed for the needs of game developers. [MIT] -* [Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2] -* [Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2] -* [junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD] -* [Kokkos](https://github.com/kokkos/kokkos) - A performance portable programming model for parallel execution and memory abstraction. [BSD] -* [libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD] -* [Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT] -* [libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT] -* [libdispatch](https://github.com/apple/swift-corelibs-libdispatch) - Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] [website](https://apple.github.io/swift-corelibs-libdispatch/) -* [libmill](https://github.com/sustrik/libmill/) - Introduces Go-style concurrency in C. [MIT] -* [marl](https://github.com/google/marl) - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0] -* [moderngpu](https://github.com/moderngpu/moderngpu) - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter] -* [NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD] -* [OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems. -* [OpenMP](http://openmp.org/) - The OpenMP API. -* [rotor](https://github.com/basiliscos/cpp-rotor) - Event loop friendly C++ actor micro framework. [MIT] -* [SObjectizer](https://github.com/Stiffstream/sobjectizer) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause] -* [Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html). -* [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2] -* [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] -* [stdgpu](https://github.com/stotko/stdgpu) - Efficient STL-like Data Structures on the GPU. [Apache2] -* [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] -* [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] -* [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] -* [STAPL](http://parasol-lab.gitlab.io/stapl-home/) - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD] -* [concurrencpp](https://github.com/David-Haim/concurrencpp) - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all. - -## Configuration -*Configuration files, INI files* - -* [inifile-cpp](https://github.com/Rookfighter/inifile-cpp) - A header-only and easy to use Ini file parser for C++. [MIT] -* [inih](https://github.com/benhoyt/inih) - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause] -* [inih](https://github.com/jtilly/inih) - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] -* [iniparser](https://github.com/ndevilla/iniparser) - INI file parser. [MIT] -* [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) -* [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] -* [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] -* [toml++](https://github.com/marzer/tomlplusplus) - Header-only TOML parser and serializer for C++17 and later. [MIT] [website](https://marzer.github.io/tomlplusplus/) - -## Containers - -* [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] -* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) -* [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] -* [Forest](https://github.com/xorz57/forest) - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT] -* [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] -* [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] -* [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] -* [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) -* [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) -* [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) -* [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] -* [robin-hood-hashing](https://github.com/martinus/robin-hood-hashing) - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] -* [robin-map](https://github.com/Tessil/robin-map) - Fast hash map and hash set using robin hood hashing. [MIT] -* [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] - -## Cryptography -*Cryptography and Encryption Libraries* - -* [Bcrypt](http://bcrypt.sourceforge.net/) - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD] -* [BeeCrypt](http://beecrypt.sourceforge.net/) - A portable and fast cryptography library. [LGPLv2.1+] -* [Botan](http://botan.randombit.net/) - A crypto library for C++. [BSD-2] -* [Crypto++](https://github.com/weidai11/cryptopp) - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/) -* [digestpp](https://github.com/kerukuro/digestpp) - C++11 header-only message digest (hash) library. [PublicDomain] -* [GnuPG](https://www.gnupg.org/) - A complete and free implementation of the OpenPGP standard. [GPL] -* [GnuTLS](http://www.gnutls.org/) - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1] -* [Libgcrypt](http://www.gnu.org/software/libgcrypt/) - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+] -* [LibreSSL](http://www.libressl.org/) - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?] -* [libsodium](https://github.com/jedisct1/libsodium) - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC] -* [libhydrogen](https://github.com/jedisct1/libhydrogen) - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC] -* [LibTomCrypt](https://github.com/libtom/libtomcrypt) - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL] -* [mbedTLS](https://github.com/ARMmbed/mbedtls) - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] [website](https://tls.mbed.org/) -* [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - A low-level cryptographic library. [LGPL] -* [OpenSSL](https://github.com/openssl/openssl) - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [website](http://www.openssl.org/) -* [retter](https://github.com/MaciejCzyzewski/retter) - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography. -* [s2n](https://github.com/awslabs/s2n) - An implementation of the TLS/SSL protocols. [Apache] -* [sha1collisiondetection](https://github.com/cr-marcstevens/sha1collisiondetection) - Library and command line tool to detect SHA-1 collision in a file. [MIT] -* [Tink](https://github.com/google/tink) - A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0] -* [Tiny AES in C](https://github.com/kokke/tiny-AES-c) - Small portable AES128/192/256 in C. [PublicDomain] -* [Themis](https://github.com/cossacklabs/themis) - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2] -* [HEhub](https://github.com/primihub/HEhub) - A library for homomorphic encryption and its applications. [Apache2] - -## CSV -*Libraries for parsing Comma Separated Value (CSV) files* - -* [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] -* [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] -* [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] -* [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] -* [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] - -## Database -*Database Libraries, SQL Servers, ODBC Drivers, and Tools* - -* [ClickHouse](https://github.com/ClickHouse/clickhouse-cpp) - C++ client for ClickHouse DBMS. [Apache2] -* [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] -* [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] -* [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] -* [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] -* [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] -* [LMDB](https://www.symas.com/lmdb) - Very fast embedded key/value store with full ACID semantics. [OpenLDAP] -* [LMDB++](https://github.com/bendiken/lmdbxx) - C++11 wrapper for the LMDB embedded database library. [PublicDomain] -* [MongoDB C Driver](https://github.com/mongodb/mongo-c-driver) - MongoDB client library for C. [Apache2] -* [MongoDB C++ Driver](https://github.com/mongodb/mongo-cxx-driver) - C++ driver for MongoDB. [Apache2] -* [MongoDB Libbson](https://github.com/mongodb/libbson) - A BSON utility library. [Apache2] -* [MySQL++](http://www.tangentsoft.net/mysql++/) - A C++ wrapper for MySQL's C API. [LGPL] -* [nanodbc](https://github.com/nanodbc/nanodbc) - A small C++ wrapper for the native C ODBC API. [MIT] -* [ODB](https://www.codesynthesis.com/products/odb/) - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2] -* [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] -* [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] -* [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store [Apache2] -* [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [BSL-1.0] -* [SQLite](http://www.sqlite.org/) - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain] -* [SQLiteC++](https://github.com/SRombauts/SQLiteCpp) - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT] -* [sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) - Header only C++14 wrapper around sqlite library. [MIT] -* [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [AGPL + paid MIT] -* [sqlpp11](https://github.com/rbock/sqlpp11) - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] -* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) -* [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) -* [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] - -## Data visualization -*Data visiualization Libraries* - -* [matplotplusplus](https://github.com/alandefreitas/matplotplusplus) - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/) - -## Debug -*Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing* - -* [backward-cpp](https://github.com/bombela/backward-cpp) - A beautiful stack trace pretty printer for C++. [MIT] -* [benchmark](https://github.com/google/benchmark) - Google provided small microbenchmark support library. [Apache2] -* [Boost.Test](http://www.boost.org/doc/libs/master/libs/test/doc/html/index.html) - Boost Test Library. [Boost] -* [check](https://github.com/libcheck/check) - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/) -* [doctest](https://github.com/onqtam/doctest) - The lightest feature rich C++ single header testing framework. [MIT] -* [Catch2](https://github.com/catchorg/Catch2) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD. [BSL-1.0] -* [Celero](https://github.com/DigitalInBlue/Celero) - C++ Benchmarking Framework. [Apache2] -* [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] -* [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] -* [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] -* [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] -* [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] -* [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] -* [DebugViewPP](https://github.com/CobaltFusion/DebugViewPP) - Debug logging viewer. [BSL] -* [Deleaker](http://www.deleaker.com) - A tool for resource leak detection, including memory, GDI and handle leaks. -* [FakeIt](https://github.com/eranpeer/FakeIt) - Simple mocking framework for C++. [MIT] -* [fff](https://github.com/meekrosoft/fff) - A micro-framework for creating fake C functions. [MIT] -* [Google Mock](https://github.com/google/googletest/blob/master/googlemock/README.md) - A library for writing and using C++ mock classes. [BSD] -* [Google Test](https://github.com/google/googletest) - Google C++ Testing Framework. [BSD] -* [ig-debugheap](https://github.com/deplinenoise/ig-debugheap) - Multiplatform debug heap useful for tracking down memory errors. [BSD] -* [libtap](https://github.com/zorgnax/libtap) - Write tests in C. [GPL2] -* [microprofile](https://github.com/jonasmr/microprofile) - Profiler with web-view for multiple platforms. [Unlicense] -* [MinUnit](https://github.com/siu/minunit) - A minimal unit testing framework for C self-contained in a single header file. [MIT] -* [Mockator](http://www.mockator.com) - Eclipse CDT plug-in for C++ Seams and Mock Objects. -* [nanobench](https://github.com/martinus/nanobench) - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] [website](https://nanobench.ankerl.com) -* [Nanotimer](https://github.com/mattreecebentley/plf_nanotimer) - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm) -* [Nonius](https://github.com/libnonius/nonius) - A C++ micro-benchmarking framework. [CC] -* [Remotery](https://github.com/Celtoys/Remotery) - Single C File Profiler with Web Viewer. [Apache2] -* [snitch](https://github.com/cschreib/snitch) - Lightweight C++20 testing framework. [Boost] -* [Touca](https://github.com/trytouca/trytouca) - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/) -* [UnitTest++](https://github.com/unittest-cpp/unittest-cpp) - A lightweight unit testing framework for C++. [MIT/X Consortium license] -* [Unity](https://github.com/ThrowTheSwitch/Unity) - Simple Unit Testing for C. [MIT] -* [utest.h](https://github.com/sheredom/utest.h) - Single header unit testing framework for C and C++. [Unlicense] -* [μt](https://github.com/boost-experimental/ut) - C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework [Boost] -* [VLD](https://kinddragon.github.io/vld//) - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++. - -## Font -*Libraries for parsing and manipulating font files.* - -* [Fontconfig](https://gitlab.freedesktop.org/fontconfig/fontconfig) - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/) -* [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] -* [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] -* [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine [Old MIT] - -## Game Engine - -* [Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT] -* [Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib] -* [Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT] -* [Corange](https://github.com/orangeduck/Corange) - A game engine written in pure C, SDL and OpenGL. [BSD] -* [crown](https://github.com/dbartolini/crown) - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT] -* [delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2] -* [EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT] -* [GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2] -* [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] -* [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] -* [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] -* [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) -* [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) -* [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) -* [OpenXRay](https://github.com/OpenXRay/xray-16) - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only] -* [Oxygine](http://oxygine.org/) - A cross-platform 2D C++ game engine. [MIT] -* [Panda3D](https://github.com/panda3d/panda3d) - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/) -* [PixelGameEngine](https://github.com/OneLoneCoder/olcPixelGameEngine) - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3] -* [Polycode](https://github.com/ivansafrin/Polycode) - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/) -* [raylib](https://github.com/raysan5/raylib) - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/) -* [Spring](https://github.com/spring/spring) - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/) -* [Torque2D](https://github.com/TorqueGameEngines/Torque2D) - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d) -* [Torque3D](https://github.com/TorqueGameEngines/Torque3D) - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d) -* [toy engine](https://github.com/hugoam/toy) - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations. -* [Urho3D](https://urho3d.github.io/) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT] - -## GUI -*Graphic User Interface* - -* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) -* [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. -* [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] -* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] -* [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] -* [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] -* [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] -* [imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT] -* [implot](https://github.com/epezent/implot) - Immediate Mode Plotting widgets for imgui. [MIT] -* [iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT] -* [libui](https://github.com/andlabs/libui) - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT] -* [MyGUI](https://github.com/MyGUI/mygui) - Fast, flexible and simple GUI. [MIT] -* [nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost] -* [NanoGui](https://github.com/mitsuba-renderer/nanogui) - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD] -* [nuklear](https://github.com/Immediate-Mode-UI/Nuklear) - A single-header ANSI C gui library. [PublicDomain] -* [QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3] -* [Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL] -* [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] -* [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] -* [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] -* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) -* [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] -* [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] -* [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] - -## Graphics - -* [assimp](https://github.com/assimp/assimp) - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] [website](http://www.assimp.org) -* [bgfx](https://github.com/bkaradzic/bgfx) - A cross-platform rendering library. [BSD] -* [Blend2D](https://github.com/blend2d/blend2d) - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/) -* [bs::framework](https://github.com/GameFoundry/bsf) - Modern C++14 library for the development of real-time graphical applications. [MIT] -* [Cairo](http://www.cairographics.org/) - A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL] -* [C-Turtle](https://github.com/walkerje/C-Turtle) - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT] -* [Diligent Engine](https://github.com/DiligentGraphics/DiligentEngine) - A modern cross-platform low-level 3D graphics library. [Apache2] -* [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] -* [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] -* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) -* [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) -* [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] -* [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) -* [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] -* [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] -* [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] -* [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) -* [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] -* [Ogre 3D](http://www.ogre3d.org/) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] -* [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] -* [OpenSubdiv](https://github.com/PixarAnimationStudios/OpenSubdiv) - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2] -* [OpenVDB](http://www.openvdb.org/) - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2] -* [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] -* [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] -* [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) -* [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] -* [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] -* [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] - -## Image Processing - -* [Boost.GIL](http://www.boost.org/doc/libs/1_56_0/libs/gil/doc/index.html) - Generic Image Library. -* [BitmapPlusPLus](https://github.com/baderouaich/BitmapPlusPlus) - Simple and Fast header only Bitmap C++ library. [MIT] -* [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] -* [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] -* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) -* [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] -* [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) -* [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. -* [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. -* [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] -* [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) -* [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] -* [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) -* [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) -* [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] -* [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] -* [OpenCV](http://opencv.org/) :zap: - Open source computer vision. [BSD] -* [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] -* [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] -* [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] -* [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] -* [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] -* [tesseract-ocr](https://github.com/tesseract-ocr) - An OCR engine. [Apache2] -* [TinyEXIF](https://github.com/cdcseacave/TinyEXIF) - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT] -* [Video++](https://github.com/matt-42/vpp) - A C++14 high performance video and image processing library. [MIT] -* [VIGRA](https://github.com/ukoethe/vigra) - A generic C++ computer vision library for image analysis. [MIT X11] -* [VTK](http://www.vtk.org/) - Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD] - -## Internationalization - -* [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] -* [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] -* [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] -* [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] -* [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] - -## Inter-process communication - -* [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] -* [Boost.Interprocess](https://www.boost.org/doc/libs/1_80_0/doc/html/interprocess.html) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/) -* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) -* [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) -* [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) -* [Ice](https://github.com/zeroc-ice/ice) - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2] -* [iceoryx](https://github.com/eclipse-iceoryx/iceoryx) - True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2] [website](https://iceoryx.io/) -* [libjson-rpc-cpp](https://github.com/cinemast/libjson-rpc-cpp) - JSON-RPC framework for C++ servers and clients. [MIT] -* [nanomsg](https://github.com/nanomsg/nanomsg) - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/) -* [nng](https://github.com/nanomsg/nng) - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/) -* [rpclib](https://github.com/rpclib/rpclib) - A modern C++ msgpack-RPC server and client library. [MIT] -* [simple-rpc-cpp](https://github.com/pearu/simple-rpc-cpp) - A simple RPC wrapper generator to C/C++ functions. [BSD] -* [WAMP](http://wamp.ws/) - Provides RPC and pub/sub messaging patterns. (various implementations, various languages) -* [xmlrpc-c](http://xmlrpc-c.sourceforge.net/) - A lightweight RPC library based on XML and HTTP. [BSD] - -## JSON - -* [Boost.PropertyTree](https://www.boost.org/doc/libs/1_81_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] -* [cJSON](https://github.com/DaveGamble/cJSON) - Ultralightweight JSON parser in ANSI C. [MIT] -* [frozen](https://github.com/cesanta/frozen) - JSON parser and generator for C/C++. [GPL & GPL2] -* [Glaze](https://github.com/stephenberry/glaze) - Extremely fast, in memory, JSON and interface library for modern C++. [MIT] -* [Jansson](https://github.com/akheron/jansson) - C library for encoding, decoding and manipulating JSON data. [MIT] -* [jbson](https://github.com/chrismanning/jbson) - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost] -* [JeayeSON](https://github.com/jeaye/jeayeson) - A very sane (header only) C++ JSON library. [BSD] -* [Jsmn](https://github.com/zserge/jsmn) - A minimalistic JSON parser in C. [MIT] -* [json](https://github.com/nlohmann/json) :zap: - JSON for Modern C++. [MIT] -* [JSON++](https://github.com/hjiang/jsonxx) - A JSON parser in C++. [MIT] -* [json.h](https://github.com/sheredom/json.h) - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense] -* [json-build](https://github.com/lcsmuller/json-build) - C89 tiny zero-allocation JSON serializer. [MIT] -* [json-c](https://github.com/json-c/json-c) - A JSON implementation in C. [MIT] -* [jsoncons](https://github.com/danielaparker/jsoncons) - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost] -* [JsonCpp](https://github.com/open-source-parsers/jsoncpp) - A C++ library for interacting with JSON. [MIT] -* [jsonParse](https://github.com/liufeigit/jsonParse) - A simple JSON parser in ANSI C. [MIT] -* [json-parser](https://github.com/udp/json-parser) - Very low footprint JSON parser written in portable ANSI C. [BSD] -* [json11](https://github.com/dropbox/json11) - A tiny JSON library for C++11. [MIT] -* [json-struct](https://github.com/jorgen/json_struct) - High performance, single header JSON parser parsing to and from C++ structs. [MIT] -* [json-voorhees](https://github.com/tgockel/json-voorhees) - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2] -* [jute](https://github.com/amir-s/jute) - Very simple C++ JSON Parser. [PublicDomain] -* [libjson](https://github.com/vincenthz/libjson) - A JSON parser and printer library in C. easy to integrate with any model. [LGPL] -* [libjson](http://sourceforge.net/projects/libjson/) - Lightweight JSON library. [?] -* [LIBUCL](https://github.com/vstakhov/libucl) :zap: - Universal configuration library parser [BSD-2-Clause] -* [parson](https://github.com/kgabis/parson) - Parson is a lighweight json library written in C. [MIT] -* [PicoJSON](https://github.com/kazuho/picojson) - A header-file-only, JSON parser serializer in C++. [BSD] -* [qt-json](https://github.com/gaudecker/qt-json) - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3] -* [QJson](https://github.com/flavio/qjson) - A qt-based library that maps JSON data to QVariant objects. [LGPL2] -* [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] -* [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] -* [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] -* [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] -* [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] -* [YAJL](https://github.com/lloyd/yajl) - A fast streaming JSON parsing library in C. [ISC] -* [yyjson](https://github.com/ibireme/yyjson) - A high performance JSON library written in ANSI C. [MIT] - -## Logging - -* [Blackhole](https://github.com/3Hren/blackhole) - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT] -* [Boost.Log](http://www.boost.org/doc/libs/1_56_0/libs/log/doc/html/index.html) - Designed to be very modular and extensible. [Boost] -* [Easylogging++](https://github.com/amrayn/easyloggingpp) - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT] -* [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] -* [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] -* [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. -* [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] -* [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] -* [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] -* [plog](https://github.com/SergiusTheBest/plog) - Portable and simple log for C++ in less than 1000 lines of code. [MPL2] -* [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] -* [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. -* [templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost] -* [P7Baical](http://baical.net/p7.html) - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL] -* [Quill](https://github.com/odygrd/quill) - Asynchronous cross platform low latency logging library. [MIT] - -## Machine Learning - -* [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] -* [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] -* [darknet](https://github.com/pjreddie/darknet) - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/) -* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) -* [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) -* [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) -* [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) -* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] -* [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) -* [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] -* [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) -* [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) -* [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] -* [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) -* [Recommender](https://github.com/GHamrouni/Recommender) - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] -* [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] -* [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] -* [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] -* [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) -* [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] -* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] - -## Math - -* [Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2] -* [Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/) -* [autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io) -* [blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD] -* [Boost.Multiprecision](http://www.boost.org/doc/libs/master/libs/multiprecision/doc/html/index.html) - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] -* [ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD] -* [CGAL](https://github.com/CGAL/cgal) - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/) -* [cml](http://cmldev.net/) - free C++ math library for games and graphics. [Boost] -* [CNL](https://github.com/johnmcfarlane/cnl/) - A Compositional Numeric Library for C++. [Boost] -* [CXXGraph](https://github.com/ZigRazor/CXXGraph) - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0] -* [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) -* [Eigen](http://eigen.tuxfamily.org/) - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2] -* [ExprTK](http://www.partow.net/programming/exprtk/) - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT] -* [Geometric Tools](https://www.geometrictools.com) - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com) -* [GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/) -* [GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2] -* [GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2] -* [Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein) -* [linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense] -* [MatX](https://github.com/NVIDIA/MatX) - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax [BSD 3-clause] -* [MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL] -* [NumCpp](https://github.com/dpilger26/NumCpp) - A templatized header only C++ implementation of the Python Numpy library. [MIT] -* [muparser](https://beltoforion.de/en/muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT] -* [LibTomMath](https://github.com/libtom/libtommath) - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/) -* [linmath.h](https://github.com/datenwolf/linmath.h) - A lean linear math library, aimed at graphics programming. [WTFPL] -* [lp_solve](https://sourceforge.net/projects/lpsolve) - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net) -* [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) -* [PCG-rand](https://www.pcg-random.org/) - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache] -* [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) -* [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) -* [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] -* [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] -* [Vc](https://github.com/VcDevel/Vc) - SIMD Vector Classes for C++. [BSD] -* [Versor](http://versor.mat.ucsb.edu/) - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc). -* [Wykobi](http://www.wykobi.com/) - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT] -* [xtensor](https://github.com/xtensor-stack/xtensor) - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor) -* [universal](https://github.com/stillwater-sc/universal) - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] - -## Memory Allocation - -* [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) -* [C Smart Pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] -* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) -* [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) -* [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] -* [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] -* [mimalloc](https://github.com/microsoft/mimalloc) - A compact general purpose allocator with excellent performance. [MIT] -* [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] -* [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] -* [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) -* [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] - -## Multimedia - -* [GStreamer](http://gstreamer.freedesktop.org/) - A library for constructing graphs of media-handling components. [LGPL] -* [libass](https://github.com/libass/libass) - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC] -* [libav](https://github.com/libav/libav) - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/) -* [LIVE555 Streaming Media](http://www.live555.com/liveMedia/) - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL] -* [libVLC](https://wiki.videolan.org/LibVLC) - libVLC (VLC SDK) media framework. [GPL] -* [MediaInfoLib](https://github.com/MediaArea/MediaInfoLib) - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD] -* [QtAv](https://github.com/wang-bin/QtAV) - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/) -* [SDL](http://www.libsdl.org/) :zap: - Simple DirectMedia Layer. [zlib] -* [SFML](https://github.com/SFML/SFML) :zap: - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/) -* [TagLib](https://github.com/taglib/taglib) - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/) - -## Networking - -* [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] -* [Boost.Asio](http://think-async.com/) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] -* [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [BSL-1.0] [website](https://www.boost.org/libs/beast) -* [Breep](https://github.com/Organic-Code/Breep) - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)] -* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - C++ REST SDK (previously named Casablanca). [Apache2] -* [Restbed](https://github.com/corvusoft/restbed) - C++11 Asynchronous RESTful framework. [AGPL] -* [Restinio](https://github.com/Stiffstream/restinio) - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD] -* [c-ares](https://github.com/c-ares/c-ares) - A C library for asynchronous DNS requests. [MIT] -* [cpp-httplib](https://github.com/yhirose/cpp-httplib) - A single file C++11 header-only HTTP/HTTPS server library. [MIT] -* [cpp-netlib](http://cpp-netlib.org/) - A collection of open-source libraries for high level network programming. [Boost] -* [cpp-netlib/uri](https://github.com/cpp-netlib/uri) - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0] -* [CppServer](https://github.com/chronoxor/CppServer) - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT] -* [cpr](https://github.com/whoshuu/cpr) - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org) -* [curlcpp](https://github.com/JosephP91/curlcpp) - An object oriented C++ wrapper for CURL(libcurl). [MIT] -* [DPDK](https://github.com/DPDK/dpdk) - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/) -* [Dyad.c](https://github.com/rxi/dyad) - Asynchronous networking for C. [MIT] -* [ENet](https://github.com/lsalzman/enet) - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/) -* [evpp](https://github.com/Qihoo360/evpp) - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD] -* [H2O](https://github.com/h2o/h2o) - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT] -* [HTTP Parser](https://github.com/nodejs/http-parser) :zap: - A http request/response parser for C. [MIT] -* [KCP](https://github.com/skywind3000/kcp/blob/master/README.en.md) - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT] -* [libcurl](http://curl.haxx.se/libcurl/) - Multiprotocol file transfer library. [MIT/X derivate license] -* [libhttpserver](https://github.com/etr/libhttpserver) - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1] -* [Libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+] -* [libpcap](https://github.com/the-tcpdump-group/libpcap) - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/) -* [libquic](https://github.com/devsisters/libquic) - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD] -* [librdkafka](https://github.com/edenhill/librdkafka) - Apache Kafka client library for C and C++. [BSD-2-Clause] -* [libwebsockets](https://github.com/warmcat/libwebsockets) - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/) -* [Lithium](https://matt-42.github.io/lithium/) - Build high performance C++ HTTP servers without being a C++ expert. [MIT] -* [lwIP](http://savannah.nongnu.org/projects/lwip/) - A lightweight TCP/IP stack. [Modified BSD] -* [Mongoose](https://github.com/cesanta/mongoose) - Extremely lightweight webserver. [GPL2] -* [MQTT-C](https://github.com/LiamBindle/MQTT-C) - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C) -* [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] -* [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] -* [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) -* [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] -* [PF_RING™](https://github.com/ntop/PF_RING) - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/) -* [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] -* [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) -* [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] -* [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] -* [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] -* [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] -* [tlse](https://github.com/eduardsui/tlse) - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause] -* [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] -* [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] -* [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] -* [WAFer](https://github.com/riolet/WAFer) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] -* [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] -* [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] -* [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] -* [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] -* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL] [website](http://zeromq.org/) - -## PDF -*Libraries for parsing and manipulating PDF documents.* - -* [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] -* [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] -* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] -* [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] -* [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] -* [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] -* [DynaPDF](http://www.dynaforms.com/) - An easy-to-use PDF generation library. [Commercial] - -## Physics -*Dynamics simulation engines* - -* [Box2D](https://github.com/erincatto/Box2D) - A 2D physics engine for games. [BSD-like] -* [Bullet](https://github.com/bulletphysics/bullet3) - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org) -* [Chipmunk](https://github.com/slembcke/Chipmunk2D) - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/) -* [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] -* [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] -* [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] -* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) -* [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] -* [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] -* [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) -* [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] -* [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] -* [SOFA](https://github.com/sofa-framework/sofa) - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] [website](https://www.sofa-framework.org) - -## Reflection - -* [config-loader](https://github.com/netcan/config-loader) - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT] -* [Better Enums](https://github.com/aantron/better-enums) - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/) -* [clReflect](https://github.com/Celtoys/clReflect) - C++ Reflection using clang. [MIT] -* [CPFG](https://github.com/cpgf/cpgf) - A C++03 library for reflection, callback and script binding. [Apache2] [website](http://www.cpgf.org/) -* [CPP-Reflection](https://github.com/AustinBrunkhorst/CPP-Reflection) - C++ Reflection using clang. [MIT] -* [Easy Reflection](https://github.com/chocolacula/easy_reflection_cpp) - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache] -* [Magic Enum](https://github.com/Neargye/magic_enum) - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] -* [magic_get](https://github.com/apolukhin/magic_get) - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost] -* [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] -* [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] -* [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] -* [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) -* [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [BSL-1.0] -* [Refureku](https://github.com/jsoysouvanh/Refureku) - A C++17 runtime reflection and code generation library. [MIT] - -## Regular Expression - -* [CppVerbalExpressions](https://github.com/VerbalExpressions/CppVerbalExpressions) - C++ regular expressions made easy. [MIT] -* [CTRE](https://github.com/hanickadot/compile-time-regular-expressions) - A Compile time PCRE (almost) compatible regular expression matcher. [MIT] -* [Hyperscan](https://github.com/intel/hyperscan) - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD] -* [Oniguruma](https://github.com/kkos/oniguruma) - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD] -* [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] -* [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] -* [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] -* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] -* [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] - -## Robotics - -* [MOOS-IvP](http://moos-ivp.org) - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles. -* [MRPT](http://www.mrpt.org/) - Mobile Robot Programming Toolkit. [BSD] -* [PCL](https://github.com/PointCloudLibrary/pcl) - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing [BSD] [website](http://www.pointclouds.org/) -* [Robotics Library (RL)](http://www.roboticslibrary.org/) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD] -* [RobWork](https://gitlab.com/sdurobotics/RobWork) - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/) -* [ROS](http://wiki.ros.org/) - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD] -* [YARP (Yet Another Robot Platform)](https://github.com/robotology/yarp) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/) - -## Scientific Computing - -* [AMGCL](https://github.com/ddemidov/amgcl) - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT] -* [FFTW](http://www.fftw.org/) - A C library for computing the DFT in one or more dimensions. [GPL] -* [GSL](http://www.gnu.org/software/gsl/) - GNU scientific library. [GPL] -* [preCICE](https://github.com/precice/precice) - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/) -* [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) -* [Trilinos](https://github.com/trilinos/Trilinos) - High performance PDE solvers. [BSD] -* [Torch](https://github.com/torch/torch7) - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/) - -## Scripting - -* [AngelScript](https://www.angelcode.com/angelscript/) - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib] -* [Boost.Python](http://www.boost.org/doc/libs/1_65_1/libs/python/doc/html/index.html) - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] -* [cppimport](https://github.com/tbenthompson/cppimport) - Import C++ files directly from Python! [MIT] -* [CppSharp](https://github.com/mono/CppSharp) - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT] -* [ChaiScript](https://github.com/ChaiScript/ChaiScript/) - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/) -* [ctypes.sh](https://github.com/taviso/ctypes.sh) - A foreign function interface for bash. [MIT] -* [Cython](https://github.com/cython/cython) - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/) -* [djinni](https://djinni.xlcpp.dev) - A tool for generating cross-language type declarations and interface bindings. [Apache2] -* [Duktape](https://github.com/svaarala/duktape) - An embeddable Javascript engine with compact footprint. [MIT] [website](http://duktape.org) -* [JavaCpp](https://github.com/bytedeco/javacpp) - The missing bridge between Java and native C++. [Apache2] -* [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) -* [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] -* [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] -* [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] -* [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] -* [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) -* [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] -* [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] -* [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] -* [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) -* [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] -* [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] -* [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] - -## Serialization - -* [Bitsery](https://github.com/fraillt/bitsery) - Header only C++ binary serialization library. [MIT] -* [Bond](https://github.com/Microsoft/bond) - An open source, cross-platform framework for working with schematized data. [MIT] -* [Boost.Serialization](https://www.boost.org/doc/libs/master/libs/serialization/doc/index.html) - Boost Serialization Library. [Boost] -* [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) -* [cereal](https://github.com/USCiLab/cereal) - A C++11 library for serialization. [BSD] -* [cista](https://github.com/felixguendling/cista) - A C++17 library for zero-copy high-performance (de-)serialization. [MIT] -* [cppcodec](https://github.com/tplgy/cppcodec) - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT] -* [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] -* [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] -* [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) -* [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) -* [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] -* [protobuf](https://github.com/protocolbuffers/protobuf) - Protocol Buffers - Google's data interchange format. [BSD] -* [protobuf-c](https://github.com/protobuf-c/protobuf-c) - Protocol Buffers implementation in C. [BSD] -* [SimpleBinaryEncoding](https://github.com/real-logic/simple-binary-encoding) - encoding and decoding application messages in binary format for low-latency applications. [Apache2] -* [upb](https://github.com/protocolbuffers/upb) - A small protobuf implementation in C. [BSD] -* [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] -* [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). - -## Sorting - -* [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] -* [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] -* [Indiesort](https://github.com/mattreecebentley/plf_indiesort) - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm) - -## Video - -* [libvpx](http://www.webmproject.org/code/) - VP8/VP9 Codec SDK. [BSD] -* [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2] -* [libde265](https://github.com/strukturag/libde265) - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/) -* [x265](https://bitbucket.org/multicoreware/x265_git/src) - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/) -* [OpenH264](https://github.com/cisco/openh264) - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/) -* [Theora](http://www.theora.org/) - A free and open video compression format. [BSD] -* [Vireo](https://github.com/twitter/vireo/) - A lightweight and versatile video processing library by Twitter. [MIT] - -## Virtual Machines - -* [CarpVM](https://github.com/tekknolagi/carp) - "interesting" VM in C. Let's see how this goes. [GPLv3] -* [MicroPython](https://github.com/micropython/micropython) - Aims to put an implementation of Python 3.x on a microcontroller. [MIT] -* [TinyVM](https://github.com/jakogut/tinyvm) - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT] - -## Web Application Framework - -* [Civetweb](https://github.com/civetweb/civetweb) - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] -* [C++ REST SDK](https://github.com/Microsoft/cpprestsdk) - Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT] -* [CppCMS](http://cppcms.com/) - A Free High Performance Web Development Framework (not a CMS). [LGPLv3] -* [Crow](https://github.com/CrowCpp/Crow) - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org) -* [Cutelyst](https://github.com/cutelyst/cutelyst) - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [LGPLv2.1+] [website](https://cutelyst.org/) -* [Drogon](https://github.com/an-tao/drogon) - A C++14/17 based, high-performance HTTP application framework. [MIT] -* [facil.io](https://github.com/boazsegev/facil.io) - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io) -* [Kore](https://kore.io/) - ultra fast and flexible web server / framework for web applications developed in C. [ISC] -* [libOnion](http://www.coralbits.com/libonion/) - lightweight library to help you create webservers in C programming language. [LGPLv3] -* [lwan](https://github.com/lpereira/lwan) - Experimental, scalable, high performance HTTP server. [GPL2] -* [oat++](https://github.com/oatpp/oatpp) - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/) -* [Pistache](http://pistache.io/) - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] -* [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] -* [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) -* [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) -* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] - -## XML -*XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* - -* [Boost.PropertyTree](http://www.boost.org/doc/libs/1_55_0/doc/html/property_tree.html) - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] -* [Expat](http://www.libexpat.org/) - An XML parser library written in C. [MIT] -* [Libxml2](http://xmlsoft.org/) - The XML C parser and toolkit of Gnome. [MIT] -* [libxml++](http://libxmlplusplus.sourceforge.net/) - An XML Parser for C++. [LGPL2] -* [Mini-XML](https://github.com/michaelrsweet/mxml) - A small XML parsing library written in ANSI C. [LGPL2 with exceptions] -* [PugiXML](http://pugixml.org/) - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT] -* [RapidXml](http://rapidxml.sourceforge.net/) - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost] -* [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] -* [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] -* [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] -* [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] - -## Yaml - -* [mini-yaml](https://github.com/jimmiebergmann/mini-yaml) - Single header YAML 1.0 C++11 serializer/deserializer. [MIT] -* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - A YAML parser and emitter in C++ [MIT] -* [rapidyaml](https://github.com/biojppm/rapidyaml) - Rapid YAML is a C++ library to parse and emit YAML [MIT] - -## Miscellaneous -*Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet* - -* [access_profiler](https://github.com/arvidn/access_profiler) - A tool to count accesses to member variables in c++ programs. [GPL3] -* [American fuzzy lop](http://lcamtuf.coredump.cx/afl/) a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2] -* [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] -* [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] -* [Boost.Signals](http://www.boost.org/doc/libs/1_56_0/doc/html/signals.html) - An implementation of a managed signals and slots system. [Boost] -* [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) -* [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] -* [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) -* [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] -* [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] -* [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] -* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD] -* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] -* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] -* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] -* [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] -* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. -* [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] -* [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] -* [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] -* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) -* [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] -* [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] -* [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] -* [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] -* [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] -* [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] -* [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] -* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] -* [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] -* [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] -* [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] -* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] -* [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] -* [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] -* [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] -* [stdman](https://github.com/jeaye/stdman) Formatted C++11/14 stdlib man pages (from cppreference). [MIT] -* [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] -* [StrTk](http://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] -* [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] -* [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. -* [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] -* [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] -* [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] -* [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] -* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] -* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] - -# Software -*Software for creating a development environment.* - -## Compiler -*List of C or C++ compilers* - -* [8cc](https://github.com/rui314/8cc) - A Small C Compiler. -* [c](https://github.com/ryanmjacobs/c) - Compile and execute C "scripts" in one go! [MIT] -* [Clang](http://clang.llvm.org/) - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA] -* [GCC](https://gcc.gnu.org/) - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3] -* [PCC](http://pcc.ludd.ltu.se/) - A very old C compiler. Supports C99. -* [Intel C++ Compiler](https://software.intel.com/en-us/c-compilers) - Developed by Intel. -* [LLVM](http://llvm.org/) - Collection of modular and reusable compiler and toolchain technologies. -* [Microsoft Visual C++](https://docs.microsoft.com/en-us/cpp/dotnet/dotnet-programming-with-cpp-cli-visual-cpp?view=msvc-160) - MSVC, developed by Microsoft. -* [Open WatCom](https://github.com/open-watcom) - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License] -* [Oracle Solaris Studio](http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html) - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License] -* [TCC](http://bellard.org/tcc/) - Tiny C Compiler. [LGPL] - -## Online Compiler -*List of online C or C++ compilers* - -* [codechef](https://www.codechef.com/ide) - A simple online compiler CodeChef. -* [codepad](http://codepad.org/) - An online compiler/interpreter, and a simple collaboration tool. -* [coliru](http://coliru.stacked-crooked.com/) - Online compiler/shell with support for various C++ compilers. -* [Compiler Explorer](http://gcc.godbolt.org/) - An interactive compiler with assembly output available. -* [CompileOnline](http://www.tutorialspoint.com/codingground.htm) - Compile and Execute C++ online on Linux. -* [Ideone](http://ideone.com/) - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages. -* [Programiz](https://www.programiz.com/cpp-programming/online-compiler) - An online compiler for learners and developers. -* [repl.it](https://repl.it) - A powerful yet simple tools and platforms for educators, learners, and developers. -* [Rextester](http://rextester.com/runcode) - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors. -* [Try It Online](https://tio.run/) - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages. -* [Wandbox](https://wandbox.org) - An online Clang/GCC compiler with Boost available. -* [paiza.io](https://paiza.io/en) - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing. -* [InterviewBit](https://www.interviewbit.com/online-cpp-compiler/) - A simple and easy to use online C++ compiler. - -## Debugger -*List of C or C++ debuggers* - -* [Comparison of debuggers](https://en.wikipedia.org/wiki/Comparison_of_debuggers) - A list of Debuggers from Wikipedia. -* [GDB](https://www.gnu.org/software/gdb/) - GNU Debugger. -* [LLDB](http://lldb.llvm.org/) - The LLDB Debugger. -* [Metashell](https://metashell.readthedocs.org) - An interactive template metaprogramming shell which includes the MDB metadebugger. -* [Valgrind](http://valgrind.org/) - A tool for memory debugging, memory leak detection, and profiling. -* [x64dbg](http://x64dbg.com/) - An open-source x64/x32 debugger for windows. - -## Integrated Development Environment -*List of C or C++ nominal IDEs.* - -* [Anjuta DevStudio](http://anjuta.org/) - The GNOME IDE. [GPL3] -* [AppCode](http://www.jetbrains.com/objc/) - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform. -* [Cevelop](https://www.cevelop.com) - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins. -* [CLion](http://www.jetbrains.com/clion/) - Cross-platform C and C++ IDE from JetBrains. -* [Code::Blocks](http://www.codeblocks.org/) - A free C, C++ and Fortran IDE. -* [CodeLite](http://codelite.org/) - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins] -* [color_coded](https://github.com/jeaye/color_coded) - A vim plugin for libclang-based highlighting. [MIT] -* [Dev-C++](http://sourceforge.net/projects/orwelldevcpp/) - A portable C/C++/C++11 IDE. -* [Eclipse CDT](http://www.eclipse.org/cdt/) - A fully functional C and C++ IDE based on the Eclipse platform. -* [Embarcadero Dev-CPP](https://github.com/Embarcadero/Dev-Cpp) - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] [website](https://www.embarcadero.com/free-tools/dev-cpp) -* [Geany](http://www.geany.org/) - Small, fast, cross-platform IDE. [GPL] -* [IBM VisualAge](http://www-03.ibm.com/software/products/en/visgen) - A family of computer integrated development environments from IBM. -* [Irony-mode](https://github.com/Sarcasm/irony-mode) - A C/C++ minor mode for Emacs powered by libclang. -* [juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT] -* [KDevelop](https://www.kdevelop.org/) - A free, open source IDE. -* [Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft. -* [Microsoft Visual Studio Code](https://code.visualstudio.com/) :zap: - An open-source IDE from Microsoft. [MIT] -* [NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. -* [Qt Creator](http://www.qt.io/developers/) :zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. -* [rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang. -* [Xcode](https://developer.apple.com/xcode/) - Developed by Apple. -* [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim. -* [cquery](https://github.com/cquery-project/cquery/) - A C++ code completion engine for vscode, emacs, vim, etc. - -## Build Systems - -* [Bazel](https://bazel.build) - A multi-language, fast and scalable build system from Google. [Apache] -* [Bear](https://github.com/rizsotto/Bear) - A tool to generate compilation database for clang tooling. [GPLv3] -* [Buck](https://github.com/facebook/buck) - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache] -* [build2](https://build2.org/) - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT] -* [clib](https://github.com/clibs/clib) - Package manager for the C programming language. [MIT] -* [CMake](https://cmake.org/) - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD] -* [Cget](https://github.com/pfultz2/cget) - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io) -* [Conan](https://conan.io/) - C/C++ Package Manager, open sourced. [MIT] -* [CPM](https://github.com/iauns/cpm) - A C++ Package Manager based on CMake and Git. -* [FASTBuild](http://www.fastbuild.org/docs/home.html) - High performance, open-source build system supporting highly scalable compilation, caching and network distribution. -* [Hunter](https://www.github.com/ruslo/hunter) - CMake driven cross-platform package manager for C++. [BSD-2] -* [MesonBuild](http://mesonbuild.com) - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. -* [Ninja](https://ninja-build.org/) - A small build system with a focus on speed. -* [Scons](http://www.scons.org/) - A software construction tool configured with a Python script. -* [Sconsolidator](http://www.sconsolidator.com/) - Scons build system integration for Eclipse CDT. -* [Spack](https://spack.io/) - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT] -* [SW](https://software-network.org/) - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3] -* [tundra](https://github.com/deplinenoise/tundra) - High-performance code build system designed to give the best possible incremental build times even for very large software projects. -* [tup](http://gittup.org/tup/) - File-based build system that monitors in the background for changed files. -* [Premake](http://premake.github.io) - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux. -* [Vcpkg](https://github.com/microsoft/vcpkg) - C++ library manager for Windows, Linux, and MacOS. [MIT] -* [waf](https://gitlab.com/ita1024/waf) - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/) -* [XMake](https://xmake.io/) - A C/C++ cross-platform build utility based on Lua. [Apache] - -## Static Code Analysis -*List of tools for improving quality and reducing defects by code analysis* - -* [Cppcheck](http://cppcheck.sourceforge.net/) - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck) -* [CppDepend](https://www.cppdepend.com/) - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code. -* [cpplint](https://github.com/cpplint/cpplint) - A C++ style checker following Google's C++ style guide. -* [PVS-Studio](http://www.viva64.com/en/pvs-studio/) - A tool for bug detection in the source code of programs, written in C, C++ and C#. -* [cpp-dependencies](https://github.com/tomtom-international/cpp-dependencies) - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache] -* [include-what-you-use](https://github.com/include-what-you-use/include-what-you-use) - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/) -* [Infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. [BSD] -* [OCLint](http://oclint.org/) - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint) -* [Clang Static Analyzer](http://clang-analyzer.llvm.org/index.html) - A source code analysis tool that finds bugs in C, C++, and Objective-C programs. -* [Linticator](http://linticator.com) - Eclipse CDT integration of Pc-/FlexeLint. -* [IKOS](https://github.com/NASA-SW-VnV/ikos) - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3] -* [List of tools for static code analysis](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B) - A list of tools for static code analysis from Wikipedia. -* [OptView2](https://github.com/OfekShilon/optview2) - Inspect missed Clang optimizations -* [Trunk](https://trunk.io) - Toolkit to check, test, merge, and monitor code. - -## Coding Style Tools - -* [Artistic Style](http://astyle.sourceforge.net/) - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle. -* [ClangFormat](http://clang.llvm.org/docs/ClangFormat.html) - A tool to format C/C++/Obj-C code. -* [Clang-Tidy](http://clang.llvm.org/extra/clang-tidy.html) - Clang-based C++ linter tool. -* [EditorConfig](https://editorconfig.org/) - EditorConfig helps maintain consistent coding styles across different editors and IDEs. -* [Uncrustify](https://github.com/uncrustify/uncrustify) - Code beautifier. - -# Resources -*Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.* - -## API Design - -* [Beautiful Native Libraries](http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/) -* [Designing Qt-Style C++ APIs](https://doc.qt.io/archives/qq/qq13-apis.html) - -## Articles -*Fantastic C++ related articles.* - -* [CppCon 2020 Presentation Materials](https://github.com/CppCon/CppCon2020) - CppCon 2020 Presentation Materials. -* [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. -* [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. -* [CppCon 2017 Presentation Materials](https://github.com/CppCon/CppCon2017) - CppCon 2017 Presentation Materials. -* [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. -* [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. -* [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. -* [C++Now 2019 Presentations](https://github.com/boostcon/cppnow_presentations_2019) - Presentation materials presented at C++Now 2019. -* [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. -* [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. -* [C++Now 2016 Presentations](https://github.com/boostcon/cppnow_presentations_2016) - Presentation materials presented at C++Now 2016. -* [C++Now 2015 Presentations](https://github.com/boostcon/cppnow_presentations_2015) - Presentation materials presented at C++Now 2015. -* [C++Now 2014 Presentations](https://github.com/boostcon/cppnow_presentations_2014) - Presentation materials presented at C++Now 2014. -* [C++Now 2013 Presentations](https://github.com/boostcon/cppnow_presentations_2013) - Presentation materials presented at C++Now 2013. -* [C++Now 2012 Presentations](https://github.com/boostcon/cppnow_presentations_2012) - Presentation materials presented at C++Now 2012. - -## Books -*Fantastic C or C++ related books.* - -* [List of Free C or C++ Books](https://github.com/fffaraz/awesome-cpp/blob/master/books.md) -* [Free C Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#c) - vhf/free-programming-books/C. -* [Free C++ Books](https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#cpp) - vhf/free-programming-books/C++. -* [cppbestpractices](https://github.com/lefticus/cppbestpractices) - Collaborative Collection of C++ Best Practices. - -## Coding Standards - -* [Cert C++](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) -* [Misra C++ 2008](https://www.cppdepend.com/misra-cpp) -* [Autosar C++ 2014](https://www.autosar.org/fileadmin/standards/adaptive/21-11/AUTOSAR_RS_CPP14Guidelines.pdf) - -## Coding Style - -* [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) - "Official" set of C++ guidelines, reviewed by the author of C++. -* [C++ Dos and Don'ts](http://www.chromium.org/developers/coding-style/cpp-dos-and-donts) - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts. -* [google-styleguide](https://github.com/google/styleguide) - Style guides for Google-originated open-source projects. -* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) -* [GNU Coding Standard](http://www.gnu.org/prep/standards/standards.html) -* [Linux kernel coding style](https://www.kernel.org/doc/Documentation/process/coding-style.rst) -* [LLVM Coding Standards](http://llvm.org/docs/CodingStandards.html) - -## Podcasts - -* [CppCast](http://cppcast.com) - The first podcast by C++ developers for C++ developers. -* [CppChat](http://cpp.chat) - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community. - -## Talks - -* [CppCon Talks](https://www.youtube.com/user/CppCon/videos) :zap: - The C++ conference. -* [Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo. -* [Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015) -* [Meeting Cpp](https://www.youtube.com/user/MeetingCPP/videos) - Meeting C++ Youtube Channel - -## Videos -*Fantastic C or C++ related videos.* - -* [List of C or C++ YouTube Videos](https://github.com/fffaraz/awesome-cpp/blob/master/videos.md) -* [Awesome C Programming Tutorials in Hi Def [HD]](https://www.youtube.com/playlist?list=PLCB9F975ECF01953C) - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers. -* [C++](https://www.youtube.com/playlist?list=PL2F919ADECA5E39A6) - by VoidRealms. -* [C++ Qt Programming](https://www.youtube.com/playlist?list=PL2D1942A4688E9D63) - by VoidRealms. -* [C++ Programming Tutorials Playlist](https://www.youtube.com/playlist?list=PLAE85DE8440AA6B83) - TheNewBoston Official Buckys C++ Programming Tutorials Playlist. -* [C++ Programming Tutorials from thenewboston](https://www.youtube.com/playlist?list=PLF541C2C1F671AEF6) - These are all of thenewboston's C++ programming tutorials. -* [C++ GUI with Qt Playlist](https://www.youtube.com/playlist?list=PLD0D54219E5F2544D) - Official Playlist for thenewboston C++ GUI with Qt tutorials. -* [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. -* [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. -* [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... - -## Websites -*Useful C or C++ related websites.* - -* [Standard C++](https://isocpp.org/) :zap: - News, Status & Discussion about Standard C++. -* [CppCon](http://cppcon.org/) - The C++ Conference. -* [C++ reference](http://cppreference.com/) - C++98, C++03, C++11, C++14 reference. -* [C++ by Example](http://www.cbyexample.com/) - Learn C++ by Example. -* [cplusplus.com](http://www.cplusplus.com/) - The C++ Resources Network. -* [C FAQ](http://c-faq.com/) - C frequently asked questions. -* [C++ FAQ](http://www.parashift.com/c++-faq/) - C++ frequently asked questions. -* [C++ FQA Lite](http://yosefk.com/c++fqa/) - C++ frequently questioned answers. -* [Guru of the Week](http://www.gotw.ca/gotw/) - A regular series of C++ programming problems created and written by Herb Sutter. -* [Meeting C++](http://meetingcpp.com/) -* [C++ Quiz](http://q.viva64.com/) - C++ quiz in which you propose to find errors in code fragments of open source projects. -* [Udemy C++ Courses and Tutorials](https://www.udemy.com/topic/C-plus-plus-tutorials/) -* [C++ Hints](http://cpphints.com/) - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team. -* [C++ tutorial](https://hackr.io/tutorials/learn-c-plus-plus) - A user ranked online tutorial bank site displaying multiple courses to learn C++ from. -* [C++ Tutorial for Beginners](https://www.scaler.com/topics/cpp) - A comprenhensive tutorial on C++ curated by trained experts. - -## Weblogs -*Useful C or C++ related weblogs.* - -* [Coding For Speed](https://codingforspeed.com/) - Coding For Speed DOT COM, Less Execution Time. -* [Eric Niebler](http://ericniebler.com/) -* [Sticky Bits](https://blog.feabhas.com/) -* [Paul Fultz II's Blog](http://pfultz2.com/blog/) -* [ridiculousfish](http://ridiculousfish.com/blog/posts/will-it-optimize.html) - Will It Optimize? -* [Embedded in Academia](http://blog.regehr.org/) -* [Simplify C++](https://arne-mertz.de/) -* [Fluent C++](https://www.fluentcpp.com/) -* [Bartek's Coding Blog](https://www.bfilipek.com/?m=1) -* [Kenny Kerr](https://kennykerr.ca/articles/) -* [Sutter’s Mill](https://herbsutter.com/gotw/) -* [Vorbrodt's C++ Blog](https://vorbrodt.blog/) -* [foonathan::blog()](https://foonathan.net/index.html) - -## Other Awesome Projects -*Collection of useful codes, snippets, ...* - -* [algorithms](https://github.com/xtaci/algorithms) - Algorithms & Data Structures in C++. -* [c-algorithms](https://github.com/fragglet/c-algorithms) - C algorithms library. -* [30 Seconds of C++](https://github.com/Bhupesh-V/30-seconds-of-cpp) - -# Other Awesome Lists -*Other amazingly awesome lists* - -* [lists](https://github.com/jnv/lists) - List of (awesome) lists curated on GitHub. -* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - A curated list of awesome awesomeness. -* [awesome](https://github.com/sindresorhus/awesome) :zap: - A curated list of awesome lists. -* [C++ links](https://github.com/MattPD/cpplinks) - A categorized list of C++ resources. -* [Awesome C++](https://getawesomeness.herokuapp.com/get/cpp) - getAwesomeness()'s mirror. -* [Awesome C++](https://cpp.libhunt.com/) - LibHunt's mirror. -* [Awesome C](https://notabug.org/koz.ross/awesome-c) 1 -* [Awesome C](https://github.com/aleksandar-todorovic/awesome-c) 2 -* [Awesome Modern C++](https://github.com/rigtorp/awesome-modern-cpp) - A collection of resources on modern C++. -* [AwesomePerfCpp](https://github.com/fenbf/AwesomePerfCpp) - A curated list of awesome C/C++ performance optimization resources. -* [free-programming-books](https://github.com/vhf/free-programming-books) - List of Freely Available Programming Books. -* [Inqlude](http://inqlude.org/) - The Qt library archive. -* [papers-we-love](https://github.com/papers-we-love/papers-we-love) - Papers from the computer science community to read and discuss. -* [awesome-algorithms](https://github.com/tayllan/awesome-algorithms) - A curated list of awesome places to learn and/or practice algorithms. -* [awesome-talks](https://github.com/JanVanRyswyck/awesome-talks) - A lot of screencasts, recordings of user group gatherings and conference talks. -* [Projects](https://github.com/karan/Projects) - A list of practical projects that anyone can solve in any programming language. -* [Awesome interview questions](https://github.com/MaximAbramchuck/awesome-interviews) - A list of lists of interview questions for the most popular technologies, including C and C++. -* [nothings/single_file_libs](https://github.com/nothings/single_file_libs) :zap: - List of single-file C/C++ libraries. - -# Jobs - -* This list is currently empty, but you can add to it by opening a merge request. - -# Sponsors - -* Please reach out if you are interested in sponsoring this repo. Your company's name and logo will be prominently displayed here. - -# Contributing -Please take a quick gander at the [contribution guidelines](https://github.com/fffaraz/awesome-cpp/blob/master/CONTRIBUTING.md) for details. -Thanks to all [contributors](https://github.com/fffaraz/awesome-cpp/graphs/contributors); you rock! - -#### *If you see a project or link here that is no longer maintained or is not a good fit, please submit a pull request to improve this document. Thank you!* From 8e39a1edb59ce93d5c0cb61c49015a98cbaa1769 Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Sat, 30 Sep 2023 21:59:43 +0000 Subject: [PATCH 744/959] add chronoxor/CppBenchmark --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 112fc7d54..aaab2cc5d 100644 --- a/README.md +++ b/README.md @@ -432,6 +432,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppUTest](https://github.com/cpputest/cpputest) - Unit testing and mocking framework for C/C++. [BSD-3-clause] * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] +* [CppBenchmark](https://github.com/chronoxor/CppBenchmark) - Performance benchmark framework for C++ with nanoseconds measure precision. [MIT] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] From 708517430639b81ad7d8ee43762878caf0d1fb51 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 4 Oct 2023 00:57:07 +0900 Subject: [PATCH 745/959] add StringZilla (fast string library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2066ea241..8cf36e44f 100644 --- a/README.md +++ b/README.md @@ -1078,6 +1078,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] * [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] +* [StringZilla](https://github.com/ashvardanian/StringZilla) - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. From 62754697d56a1526acc1f2af0a8c7a804d12d53f Mon Sep 17 00:00:00 2001 From: Riccardo Date: Tue, 3 Oct 2023 18:50:28 +0200 Subject: [PATCH 746/959] Update license of bit7z from GPLv2 to MPL2 The bit7z project was recently re-licensed from GPLv2 to the Mozilla Public License v2. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2066ea241..fde3a905c 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Compression *Compression and Archiving Libraries* -* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2] +* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [MPL2] * [Brotli](https://github.com/google/brotli) - Brotli compression format. Developed by Google. [MIT] * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] * [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] From f340dace191d4b70ae8e6e83adf6a66f4ca6eaa3 Mon Sep 17 00:00:00 2001 From: Oz Date: Tue, 3 Oct 2023 18:53:01 +0200 Subject: [PATCH 747/959] Update the description of bit7z --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fde3a905c..3c73847ca 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Compression *Compression and Archiving Libraries* -* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [MPL2] +* [bit7z](https://github.com/rikyoz/bit7z) - A C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2] * [Brotli](https://github.com/google/brotli) - Brotli compression format. Developed by Google. [MIT] * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] * [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] From a3d97b0730553be8f1186698ae199d6132c9e6e2 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 5 Oct 2023 00:37:24 +0900 Subject: [PATCH 748/959] add libenvpp (type-safe environment variable parsing library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7d6fc7d0..9a0aa9734 100644 --- a/README.md +++ b/README.md @@ -1062,6 +1062,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] * [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] +* [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] From 0bc7f685b64c0f6487989936795587ee26fdbe44 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 6 Oct 2023 23:43:46 +0900 Subject: [PATCH 749/959] add ada (url parsing library) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a0aa9734..0076d75a6 100644 --- a/README.md +++ b/README.md @@ -791,6 +791,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Networking +* [ada](https://github.com/ada-url/ada) - WHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT] * [ACE](http://www.dre.vanderbilt.edu/~schmidt/ACE.html) - An OO Network Programming Toolkit in C++. [?MIT?] * [Boost.Asio](https://github.com/boostorg/asio) :zap: - A cross-platform C++ library for network and low-level I/O programming. [Boost] [website](https://boost.org/libs/asio) * [Boost.Beast](https://github.com/boostorg/beast) :zap: - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] [website](https://www.boost.org/libs/beast) From 52e56a2cac495264ec15be397be08cc021441535 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 12 Oct 2023 11:58:06 +0900 Subject: [PATCH 750/959] Cpp-Taskflow has been renamed to Taskflow since 2020 (#1419) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0076d75a6..104758317 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] -* [Cpp-Taskflow](https://github.com/cpp-taskflow/cpp-taskflow) - Fast C++ Parallel Programming with Task Dependencies. [MIT] * [CUB](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] * [cuda-api-wrappers](https://github.com/eyalroz/cuda-api-wrappers) - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD] * [cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+] @@ -309,6 +308,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2] * [readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD] * [stdgpu](https://github.com/stotko/stdgpu) - Efficient STL-like Data Structures on the GPU. [Apache2] +* [Taskflow](https://github.com/taskflow/taskflow) - A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT] * [Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2] * [transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT] * [VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT] From cdf950c1037b98a7cb024a6572e36391022c6d0e Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 13 Oct 2023 12:47:54 +0900 Subject: [PATCH 751/959] Add Channel (thread-safe container) (#1420) * Add Channel (thread-safe container) * remove space --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 104758317..f682346fc 100644 --- a/README.md +++ b/README.md @@ -279,6 +279,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Async++](https://github.com/Amanieu/asyncplusplus) - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT] * [Boost.Compute](https://github.com/boostorg/compute) - A C++ GPU Computing Library for OpenCL. [Boost] [website](https://boost.org/libs/compute) * [Bolt](https://github.com/HSA-Libraries/Bolt) - A C++ template library optimized for GPUs. [Apache2] +* [Channel](https://github.com/andreiavrammsd/cpp-channel) - Thread-safe container for sharing data between threads. [MIT] * [ck](https://github.com/concurrencykit/ck) - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD] * [concurrentqueue](https://github.com/cameron314/concurrentqueue) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost] * [CUB](https://github.com/NVlabs/cub) - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD] @@ -569,7 +570,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) -* [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) +* [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] * [Ogre 3D](https://github.com/OGRECave) :zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] [website](https://www.ogre3d.org) * [OpenSceneGraph](http://www.openscenegraph.org/) - An open source high performance 3D graphics toolkit. [OSGPL] From ebc4857e7e7972049e855edfa5cb00d3fa216bf2 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 20 Oct 2023 16:19:10 +0900 Subject: [PATCH 752/959] Add PlayRho (physics engine) (#1421) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f682346fc..8cbf49ebb 100644 --- a/README.md +++ b/README.md @@ -870,6 +870,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] +* [PlayRho](https://github.com/louis-langholtz/PlayRho) - An interactive physics engine & library. [Zlib] * [Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/) * [Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT] * [Simbody](https://github.com/simbody/simbody) - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2] From d3d6954a80543baff0c709f04cdae3de4c088f29 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 21 Oct 2023 16:00:46 +0900 Subject: [PATCH 753/959] Add toml11 (toml parser) (#1422) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8cbf49ebb..d9dd236e1 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] * [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] * [toml++](https://github.com/marzer/tomlplusplus) - Header-only TOML parser and serializer for C++17 and later. [MIT] [website](https://marzer.github.io/tomlplusplus/) +* [toml11](https://github.com/ToruNiina/toml11) - a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT] ## Containers From 9517fe7bb7de002719c465d9143485c7639811cf Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 22 Oct 2023 05:26:06 +0900 Subject: [PATCH 754/959] Add unordered_dense (fast hashmap, hashset) (#1423) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d9dd236e1..c97d00bae 100644 --- a/README.md +++ b/README.md @@ -346,6 +346,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [robin-hood-hashing](https://github.com/martinus/robin-hood-hashing) - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] * [robin-map](https://github.com/Tessil/robin-map) - Fast hash map and hash set using robin hood hashing. [MIT] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] +* [unordered_dense](https://github.com/martinus/unordered_dense) - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT] ## Cryptography *Cryptography and Encryption Libraries* From f864edfe08479965a3ef046f48e28318d1cc3941 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 23 Oct 2023 09:39:40 +0900 Subject: [PATCH 755/959] Add svector (#1424) --- README.md | 1 + awesome-cpp | 1 + 2 files changed, 2 insertions(+) create mode 160000 awesome-cpp diff --git a/README.md b/README.md index c97d00bae..961c7950e 100644 --- a/README.md +++ b/README.md @@ -346,6 +346,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [robin-hood-hashing](https://github.com/martinus/robin-hood-hashing) - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] * [robin-map](https://github.com/Tessil/robin-map) - Fast hash map and hash set using robin hood hashing. [MIT] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] +* [svector](https://github.com/martinus/svector) - Compact SVO optimized vector for C++17 or higher. [MIT] * [unordered_dense](https://github.com/martinus/unordered_dense) - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT] ## Cryptography diff --git a/awesome-cpp b/awesome-cpp new file mode 160000 index 000000000..9517fe7bb --- /dev/null +++ b/awesome-cpp @@ -0,0 +1 @@ +Subproject commit 9517fe7bb7de002719c465d9143485c7639811cf From 697f0a91a623b448df3671634afbcfeeda015401 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 24 Oct 2023 10:10:19 +0900 Subject: [PATCH 756/959] The license of ZeroMQ has been changed to MPL2 since 4.3.5 (#1425) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 961c7950e..e0328e26a 100644 --- a/README.md +++ b/README.md @@ -848,7 +848,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] * [WebSocket++](https://github.com/zaphoyd/websocketpp) - C++/Boost Asio based websocket client/server library. [BSD] * [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] -* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL] [website](http://zeromq.org/) +* [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL3/MPL2] [website](http://zeromq.org/) ## PDF *Libraries for parsing and manipulating PDF documents.* From 17cef2831714c0575483e01aac9cc333145dfe28 Mon Sep 17 00:00:00 2001 From: MuggleWei Date: Thu, 26 Oct 2023 14:35:24 +0800 Subject: [PATCH 757/959] add haclog (#1428) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0328e26a..34674eef0 100644 --- a/README.md +++ b/README.md @@ -692,6 +692,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [fmtlog](https://github.com/MengRao/fmtlog) - A performant fmtlib-style logging library with latency in nanoseconds. [MIT] * [G3log](https://github.com/KjellKod/g3log) - Asynchronous logger with Dynamic Sinks. [PublicDomain] * [glog](https://github.com/google/glog) - C++ implementation of the Google logging module. +* [haclog](https://github.com/MuggleWei/haclog) - An extremely fast plain C logging library. [MIT] * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] * [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] From 8c226f9243bf2d5c6cd89fc82ed3e675b1d71400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Cie=C5=9Blar?= Date: Thu, 26 Oct 2023 08:47:50 +0200 Subject: [PATCH 758/959] Add faker-cxx library (#1427) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 34674eef0..72b2306eb 100644 --- a/README.md +++ b/README.md @@ -1056,6 +1056,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] From 97086357bb1e89c4c142beee9d40049436401711 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 26 Oct 2023 15:48:12 +0900 Subject: [PATCH 759/959] Add inja (#1426) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72b2306eb..27a9021a8 100644 --- a/README.md +++ b/README.md @@ -1064,6 +1064,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] +* [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] From 73418e12207f6bf92aef999955b74f43463dbb0e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 29 Oct 2023 11:10:45 +0900 Subject: [PATCH 760/959] Add PDF-Writer (#1429) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27a9021a8..f0e9ad37a 100644 --- a/README.md +++ b/README.md @@ -857,6 +857,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] * [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] From 6fd838a11eac028e0212631a04e8f8b19caa5c46 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 1 Nov 2023 10:24:59 +0900 Subject: [PATCH 761/959] Add minizip-ng (#1430) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0e9ad37a..3dc7003aa 100644 --- a/README.md +++ b/README.md @@ -264,6 +264,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LZMAT](http://www.matcode.com/lzmat.htm) - An extremely fast real-time lossless data compression library. [GPL] * [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] * [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] +* [minizip-ng](https://github.com/zlib-ng/minizip-ng) - Fork of the popular zip manipulation library found in the zlib distribution. [zlib] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] From 2b99241b0cceb15688393d6fe0a67d66ae0a4cf0 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Thu, 2 Nov 2023 22:42:38 -0400 Subject: [PATCH 762/959] Added newer versions of CppCon and CppNow presentations (#1432) * Added CppCon 2021 materials Added reference link for 2021 materials of CppCon. * Added CppCon 2022 materials Added reference link for 2022 materials of CppCon. * Added CppCon 2023 materials Added reference link for 2023 materials of CppCon. * Added CppNow 2021 materials Added reference link for 2021 materials of CppNow. * Added CppNow 2022 materials Added reference link for 2022 materials of CppNow. * Added CppNow 2023 materials Added reference link for 2023 materials of CppNow. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3dc7003aa..f6e62e8ca 100644 --- a/README.md +++ b/README.md @@ -1236,6 +1236,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Articles *Fantastic C++ related articles.* +* [CppCon 2023 Presentation Materials](https://github.com/CppCon/CppCon2023) - CppCon 2023 Presentation Materials. +* [CppCon 2022 Presentation Materials](https://github.com/CppCon/CppCon2022) - CppCon 2022 Presentation Materials. +* [CppCon 2021 Presentation Materials](https://github.com/CppCon/CppCon2021) - CppCon 2021 Presentation Materials. * [CppCon 2020 Presentation Materials](https://github.com/CppCon/CppCon2020) - CppCon 2020 Presentation Materials. * [CppCon 2019 Presentation Materials](https://github.com/CppCon/CppCon2019) - CppCon 2019 Presentation Materials. * [CppCon 2018 Presentation Materials](https://github.com/CppCon/CppCon2018) - CppCon 2018 Presentation Materials. @@ -1243,6 +1246,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CppCon 2016 Presentation Materials](https://github.com/CppCon/CppCon2016) - CppCon 2016 Presentation Materials. * [CppCon 2015 Presentation Materials](https://github.com/CppCon/CppCon2015) - CppCon 2015 Presentation Materials. * [CppCon 2014 Presentation Materials](https://github.com/CppCon/CppCon2014) - CppCon 2014 Presentation Materials. +* [C++Now 2023 Presentations](https://github.com/boostcon/cppnow_presentations_2023) - Presentation materials presented at C++Now 2023. +* [C++Now 2022 Presentations](https://github.com/boostcon/cppnow_presentations_2022) - Presentation materials presented at C++Now 2022. +* [C++Now 2021 Presentations](https://github.com/boostcon/cppnow_presentations_2021) - Presentation materials presented at C++Now 2021. * [C++Now 2019 Presentations](https://github.com/boostcon/cppnow_presentations_2019) - Presentation materials presented at C++Now 2019. * [C++Now 2018 Presentations](https://github.com/boostcon/cppnow_presentations_2018) - Presentation materials presented at C++Now 2018. * [C++Now 2017 Presentations](https://github.com/boostcon/cppnow_presentations_2017) - Presentation materials presented at C++Now 2017. From 07aebd3604a08d17b9ea75f248bdd98a2770b4df Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 3 Nov 2023 11:44:03 +0900 Subject: [PATCH 763/959] fix zlib-ng url (#1431) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6e62e8ca..dcf401002 100644 --- a/README.md +++ b/README.md @@ -268,7 +268,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] -* [zlib-ng](https://github.com/Dead2/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] +* [zlib-ng](https://github.com/zlib-ng/zlib-ng) - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib] * [zstd](https://github.com/facebook/zstd) - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD] * [ZZIPlib](http://zziplib.sourceforge.net/) - Provides read access on ZIP-archives. [MPL/LGPL] From a419835c1118841c9ac003c8e2ed113e259c7e64 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 06:20:04 +0900 Subject: [PATCH 764/959] Add heatshrink (#1433) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dcf401002..530208d91 100644 --- a/README.md +++ b/README.md @@ -254,6 +254,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bzip2](http://www.bzip.org/) - A freely available, patent free, high-quality data compressor. [BSD] * [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. +* [heatshrink](https://github.com/atomicobject/heatshrink) - data compression library for embedded/real-time systems [ISC] * [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://api.kde.org/frameworks/karchive/html/index.html) - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL] * [libarchive](https://github.com/libarchive/libarchive) - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/) From a2b02987b0330a50659ea54c5ec7ce8e03f9702d Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 5 Nov 2023 18:50:08 +0900 Subject: [PATCH 765/959] Add velox (#1434) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 530208d91..acd0d4094 100644 --- a/README.md +++ b/README.md @@ -420,6 +420,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] * [TigerBeetleDB C++ client (Community)](https://github.com/kassane/tigerbeetle-cpp) - TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] +* [Velox](https://github.com/facebookincubator/velox) - A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/) ## Data visualization *Data visualization Libraries* From 78737875c7fe1b977e486353cc67ee435284f320 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 6 Nov 2023 14:04:51 +0900 Subject: [PATCH 766/959] Add nghttp3 (HTTP/3 library) (#1435) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index acd0d4094..9a7416da8 100644 --- a/README.md +++ b/README.md @@ -835,6 +835,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mTCP](https://github.com/mtcp-stack/mtcp) - Highly scalable user-level TCP stack for multicore systems. [Modified BSD] * [Muduo](https://github.com/chenshuo/muduo) - A C++ non-blocking network library for multi-threaded server in Linux. [BSD] * [nghttp2](https://github.com/nghttp2/nghttp2) - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/) +* [nghttp3](https://github.com/ngtcp2/nghttp3) - HTTP/3 library written in C. [MIT] [website](https://nghttp2.org/nghttp3/) * [Onion](https://github.com/davidmoreno/onion) - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2] * [PF_RING™](https://github.com/ntop/PF_RING) - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/) * [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] From 191e46d352574bd8d634450771e229a5866dd96f Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 10 Nov 2023 15:01:44 +0900 Subject: [PATCH 767/959] Add libschrift (#1436) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a7416da8..c074e57f9 100644 --- a/README.md +++ b/README.md @@ -493,6 +493,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FreeType](https://www.freetype.org/) - FreeType is a freely available software library to render fonts. [FTL & GPLv2] * [otfcc](https://github.com/caryll/otfcc) - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0] * [harfbuzz](https://github.com/harfbuzz/harfbuzz) - A text shaping engine. [Old MIT] +* [libschrift](https://github.com/tomolt/libschrift) - A lightweight TrueType font rendering library. [ISC] ## Game Engine From eedf3389df1b3da19f971ee29774b6952c884a02 Mon Sep 17 00:00:00 2001 From: Nana Axel Date: Fri, 10 Nov 2023 07:02:26 +0100 Subject: [PATCH 768/959] Add Amplitude Audio SDK (#1437) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c074e57f9..fb80c4615 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Audio *Audio, Sound, Music, Digitized Voice Libraries* +* [Amplitude Audio SDK](https://github.com/SparkyStudios/AmplitudeAudioSDK) - A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0] [website](https://amplitudeaudiosdk.com) * [Aubio](https://github.com/aubio/aubio) - A library for audio and music analysis.[GPL-3.0] [website](https://aubio.org/) * [AudioFile](https://github.com/adamstark/AudioFile) - A simple C++ library for reading and writing audio files. [MIT] * [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and music analysis, feature extraction. [MIT] From f76699726687dfddb7e12bdbc5ae7c28e36f9239 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 12 Nov 2023 11:10:19 +0900 Subject: [PATCH 769/959] Add thorvg (svg rendering library) (#1438) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fb80c4615..cab6082bf 100644 --- a/README.md +++ b/README.md @@ -587,6 +587,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Panda3D](http://www.panda3d.org/) - A framework for 3D rendering and game development for Python and C++. [BSD] * [Partio](https://github.com/wdas/partio) - Library for wrangling particle data, with support for most common file formats. [Modified BSD] * [Skia](https://github.com/google/skia) - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/) +* [ThorVG](https://github.com/thorvg/thorvg) - a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT] [website](https://www.thorvg.org/) * [TinySpline](https://github.com/msteinbeck/tinyspline) - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT] * [urho3d](https://github.com/urho3d/Urho3D) - Cross-platform rendering and game engine. [Many different, mostly MIT] * [Yocto/GL](https://github.com/xelatihy/yocto-gl) - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT] From a6c316a591f38ba0892e46c2dbc6c1c04dbd2d4a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 03:55:14 +0900 Subject: [PATCH 770/959] slint: fix official url (#1440) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cab6082bf..a556c25c3 100644 --- a/README.md +++ b/README.md @@ -554,7 +554,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] -* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint-ui.com) +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint.dev/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From 5c6a60189b87f01012c0664e7be825e7738d5961 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 09:19:06 +0900 Subject: [PATCH 771/959] Add libserial (serial port library) (#1441) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a556c25c3..2453b6678 100644 --- a/README.md +++ b/README.md @@ -1082,6 +1082,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] +* [Libserial](https://github.com/crayzeewulf/libserial) - Serial Port Programming in C++. [BSD-3-Clause] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] From 339cfbea6b13b4064ff7ce137138d8f52c3c0eab Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 24 Nov 2023 15:09:48 +0900 Subject: [PATCH 772/959] Add scnlib (#1445) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2453b6678..e8d6cf13f 100644 --- a/README.md +++ b/README.md @@ -1088,6 +1088,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] +* [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] From d5bf37d96f58b87429097911dff4001d4ac8af3c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 25 Nov 2023 11:19:36 +0900 Subject: [PATCH 773/959] Add Jinja2C++ (#1446) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8d6cf13f..02b144fea 100644 --- a/README.md +++ b/README.md @@ -1074,6 +1074,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] * [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. +* [Jinja2С++](https://github.com/jinja2cpp/Jinja2Cpp) - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/) * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] From 3cb3907f8bbf50769c93cf3e49db918e02cec213 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 26 Nov 2023 06:59:29 +0900 Subject: [PATCH 774/959] Add FOX Toolkit (cross-platform GUI toolkit) (#1447) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02b144fea..31f4add78 100644 --- a/README.md +++ b/README.md @@ -538,6 +538,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] * [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] +* [FOX Toolkit](http://fox-toolkit.org) - an open-source, cross-platform widget toolkit. [LGPL] * [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] * [gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL] From 264c9d2c2d822d052048b0c42e3b67ae25e19688 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 14:45:40 +0900 Subject: [PATCH 775/959] fltk fix license (#1448) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 31f4add78..47237872d 100644 --- a/README.md +++ b/README.md @@ -537,7 +537,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] -* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [GPL2] +* [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [LGPL2] * [FOX Toolkit](http://fox-toolkit.org) - an open-source, cross-platform widget toolkit. [LGPL] * [GacUI](https://github.com/vczh-libraries/GacUI) - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL] * [GTK+](http://www.gtk.org/) - A multi-platform toolkit for creating graphical user interfaces. [LGPL] From bc1cba90fa8381abfc29b4378f7f65097b30de5b Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Mon, 27 Nov 2023 09:10:03 +0100 Subject: [PATCH 776/959] change misleading nomenclature; GPL == Commercial (#1449) --- README.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 47237872d..22e192e32 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Awesome C++ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](https://www.trackawesomelist.com/fffaraz/awesome-cpp/) A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. -- [Awesome C++](#awesome-cpp) +- [Awesome C++ ](#awesome-c--) - [Standard Libraries](#standard-libraries) - [Frameworks](#frameworks) - [Artificial Intelligence](#artificial-intelligence) @@ -24,7 +24,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [DSP](#dsp) - [Font](#font) - [Game Engine](#game-engine) - - [Graph](#graph) + - [Graph](#graph) - [GUI](#gui) - [Graphics](#graphics) - [Image Processing](#image-processing) @@ -76,6 +76,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Jobs](#jobs) - [Sponsors](#sponsors) - [Contributing](#contributing) + - [*If you see a project or link here that is no longer maintained or is not a good fit, please submit a pull request to improve this document. Thank you!*](#if-you-see-a-project-or-link-here-that-is-no-longer-maintained-or-is-not-a-good-fit-please-submit-a-pull-request-to-improve-this-document-thank-you) ## Standard Libraries *C++ Standard Library - including STL Containers, STL Algorithm, STL Functional, etc.* @@ -107,7 +108,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] -* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/) +* [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] [website](http://www.juce.com/) * [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] * [LibSourcey](https://github.com/sourcey/libsourcey) - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL] @@ -116,7 +117,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Loki](http://loki-lib.sourceforge.net/) - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT] * [MiLi](https://github.com/MariadeAnton/MiLi) - Minimal headers-only C++ Library. [Boost] * [OpenFrameworks](https://github.com/openframeworks/openFrameworks) - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/) -* [Qt](https://github.com/qt) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial] [website](https://www.qt.io) +* [Qt](https://github.com/qt) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Proprietary] [website](https://www.qt.io) * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] * [Seastar](https://github.com/scylladb/seastar) - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/) @@ -168,12 +169,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [audioFlux](https://github.com/libAudioFlux/audioFlux) - A C library for audio and music analysis, feature extraction. [MIT] * [dr_libs](https://github.com/mackron/dr_libs) - Single file audio decoding libraries for C and C++. [Unlicense] * [FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial] -* [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial] +* [KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Proprietary] * [LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL] * [libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/) * [libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/) * [Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT] -* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial] +* [OpenAL](http://www.openal.org/) - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Proprietary] * [miniaudio](https://github.com/mackron/miniaudio) - Single file audio playback and capture library. [Unlicense] [website](https://miniaud.io/) * [ni-media](https://github.com/NativeInstruments/ni-media) - C++ library for reading and writing audio files. [MIT] * [Opus](http://opus-codec.org/) - A totally open, royalty-free, highly versatile audio codec. [BSD] @@ -473,8 +474,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Doxide](https://github.com/lawmurray/doxide) - Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] [website](https://doxide.org) * [doxygen](https://github.com/doxygen/doxygen) :zap: - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org) * [doxyrest](https://github.com/vovkos/doxyrest) - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT] -* [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Commercial] [website](https://hdoc.io) -* [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Commercial] [website](https://www.naturaldocs.org) +* [hdoc](https://github.com/hdoc/hdoc) - The modern documentation tool for C++. [AGPL/Proprietary] [website](https://hdoc.io) +* [Natural Docs](https://github.com/NaturalDocs/NaturalDocs) - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary] [website](https://www.naturaldocs.org) * [Sphinx](https://github.com/sphinx-doc/sphinx) - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org) ## DSP @@ -534,7 +535,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## GUI *Graphic User Interface* -* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io) +* [Boden](https://github.com/AshampooSystems/boden) - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary] [website](https://www.boden.io) * [CEGUI](http://cegui.org.uk/) - Flexible, cross-platform GUI library. * [Elements](https://github.com/cycfi/elements) - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT] * [FLTK](http://www.fltk.org/index.php) - Fast, light, cross-platform C++ GUI toolkit. [LGPL2] @@ -555,7 +556,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib] * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] -* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Commercial] [website](https://slint.dev/) +* [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] @@ -571,7 +572,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DirectXTK](https://github.com/Microsoft/DirectXTK) - A collection of helper classes for writing DirectX 11.x code in C++. [MIT] * [GLFW](https://github.com/glfw/glfw) - A simple, cross-platform OpenGL wrangling library. [zlib/libpng] * [GLFWPP](https://github.com/janekb04/glfwpp) - A thin modern C++17 header-only wrapper for GLFW. [MIT] -* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] [website](https://www.harfang3d.com) +* [Harfang 3D](https://github.com/harfang3d/harfang3d) 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary] [website](https://www.harfang3d.com) * [herebedragons](https://github.com/kosua20/herebedragons) - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/) * [Horde3D](https://github.com/horde3d/Horde3D) - A small 3D rendering and animation engine. [EPL] * [Ion](https://github.com/google/ion) - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/) @@ -778,7 +779,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Boehm GC](https://github.com/ivmai/bdwgc) - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/) * [C Smart Pointers](https://github.com/Snaipe/libcsptr) - Smart pointers for the (GNU) C programming language. [MIT] -* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] [website](http://hoard.org/) +* [Hoard](https://github.com/emeryberger/Hoard) - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0] [website](http://hoard.org/) * [jemalloc](https://github.com/jemalloc/jemalloc) - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/) * [memory](https://github.com/foonathan/memory) - STL compatible C++ memory allocator library. [ZLib] * [memory-allocators](https://github.com/mtrebi/memory-allocators) - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT] @@ -864,7 +865,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libharu](https://github.com/libharu/libharu) - A free, cross platform, open-sourced software library for generating PDF. [zlib] * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] -* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial] +* [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary] * [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] @@ -916,7 +917,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PCRE](http://pcre.org/) - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD] * [PIRE](https://github.com/yandex/pire) - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0] * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] -* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Commercial] +* [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Proprietary] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] ## Robotics @@ -1029,7 +1030,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [QDjango](https://github.com/jlaine/qdjango/) - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL] * [TreeFrog Framework](https://github.com/treefrogframework/treefrog-framework) - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/) * [userver](https://github.com/userver-framework/userver) - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/) -* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Commercial] +* [Wt](http://www.webtoolkit.eu/wt) - A C++ library for developing web applications. [GPL/Proprietary] ## XML *XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds* @@ -1089,7 +1090,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] -* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Commercial] +* [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] From f6095342148cd61cb811660fdad69e78762f95fd Mon Sep 17 00:00:00 2001 From: Faraz Fallahi Date: Mon, 27 Nov 2023 03:12:43 -0500 Subject: [PATCH 777/959] rm --- awesome-cpp | 1 - 1 file changed, 1 deletion(-) delete mode 160000 awesome-cpp diff --git a/awesome-cpp b/awesome-cpp deleted file mode 160000 index 9517fe7bb..000000000 --- a/awesome-cpp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9517fe7bb7de002719c465d9143485c7639811cf From 9ee768e50c93b06af02de88144639e3660d88fe8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 13:50:21 +0900 Subject: [PATCH 778/959] Add simdutf (#1450) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 22e192e32..7cd1a2dba 100644 --- a/README.md +++ b/README.md @@ -629,6 +629,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [gettext](http://www.gnu.org/software/gettext/) - GNU 'gettext'. [GPL2] * [IBM ICU](http://site.icu-project.org/) - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU] * [libiconv](http://www.gnu.org/software/libiconv/) - An encoding conversion library between different character encodings. [GPL] +* [simdutf](https://github.com/simdutf/simdutf) - Unicode routines (UTF8, UTF16, UTF32): billions of characters per second using SSE2, AVX2, NEON, AVX-512. [Apache-2/MIT] * [uni-algo](https://github.com/uni-algo/uni-algo) - Unicode Algorithms Implementation for C/C++. [Unlicense or MIT] * [utf8.h](https://github.com/sheredom/utf8.h) - Single header utf8 string functions for C and C++. [Unlicense] * [utf8proc](https://github.com/JuliaStrings/utf8proc) - A clean C library for processing UTF-8 Unicode data. [MIT] From b8a2edc2a4a76f9e59e0bc09cebc2715ef246aaa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 11:18:24 +0900 Subject: [PATCH 779/959] Add PDFium (PDF generation library) (#1451) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7cd1a2dba..1b216a07a 100644 --- a/README.md +++ b/README.md @@ -868,6 +868,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary] * [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) +* [PDFium](https://pdfium.googlesource.com/pdfium/) - PDF generation and rendering library. [BSD-3-Clause] * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] * [Xpdf](https://www.xpdfreader.com/) - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3] From 2234892d66d55c7945bfe3837a483e1695e578aa Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 15:39:39 +0900 Subject: [PATCH 780/959] Add sonic-cpp (#1452) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b216a07a..ba6355fce 100644 --- a/README.md +++ b/README.md @@ -687,6 +687,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RapidJSON](https://github.com/miloyip/rapidjson) :zap: - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] [website](https://rapidjson.org) * [sajson](https://github.com/chadaustin/sajson) - Lightweight, extremely high-performance JSON parser for C++11. [MIT] * [simdjson](https://github.com/lemire/simdjson) - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0] +* [Sonic-Cpp](https://github.com/bytedance/sonic-cpp) - A fast JSON serializing & deserializing library, accelerated by SIMD. [Apache-2.0] * [taoJSON](https://github.com/taocpp/json) - Zero-dependency C++ header-only JSON library. [MIT] * [ujson](https://bitbucket.org/awangk/ujson) - µjson is a a small, C++11, UTF-8, JSON library. [MIT] * [UltraJSON](https://github.com/ultrajson/ultrajson) - Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause] From 4c84e035623b6f52d2caae3fc2dca4514afd4ead Mon Sep 17 00:00:00 2001 From: Jan Niklas Hasse Date: Thu, 30 Nov 2023 07:40:08 +0100 Subject: [PATCH 781/959] Add JNGL (2D game library) (#1453) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba6355fce..a6ab076ee 100644 --- a/README.md +++ b/README.md @@ -510,6 +510,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT] * [Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT] * [Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0] +* [JNGL](https://github.com/jhasse/jngl/) - 2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib] [website](https://bixense.com/jngl/) * [KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/) * [nCine](https://github.com/nCine/nCine) - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/) * [o3de](https://github.com/o3de/o3de) - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/) From 2ab4753734502f28f25d3b20ed7c1dc8116dd5e5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 18:34:07 +0900 Subject: [PATCH 782/959] Add pdf (pdf reading/writing library) (#1454) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a6ab076ee..9d494d6d7 100644 --- a/README.md +++ b/README.md @@ -870,6 +870,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [litePDF](https://litepdf.sourceforge.io) - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib] * [MuPDF](https://mupdf.com/) - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary] * [PDF-Writer](https://github.com/galkahana/PDF-Writer) - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/) +* [pdfio](https://github.com/michaelrsweet/pdfio) - A simple C library for reading and writing PDF files. [Apache-2] [website](https://www.msweet.org/pdfio/) * [PDFium](https://pdfium.googlesource.com/pdfium/) - PDF generation and rendering library. [BSD-3-Clause] * [PoDoFo](http://podofo.sourceforge.net/) - A library to work with the PDF file format. [LGPL] * [Poppler](https://poppler.freedesktop.org/) - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3] From a65f650ef6f4a547aa63fbb512c5089d6d3d5e8c Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 08:13:55 +0900 Subject: [PATCH 783/959] Add emio (character input/output library) (#1455) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d494d6d7..31ecd32e1 100644 --- a/README.md +++ b/README.md @@ -1071,6 +1071,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] +* [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) From c17c5f7ca64b5a5280396eb6a1f7c52e35dfb2ca Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 11:49:10 +0900 Subject: [PATCH 784/959] Add LodePNG (#1456) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 31ecd32e1..eeede0d31 100644 --- a/README.md +++ b/README.md @@ -611,6 +611,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) +* [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] * [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] * [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) From db85cd7ed6a51caff512e2e933dea85208032014 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 14:38:05 +0900 Subject: [PATCH 785/959] Add libspng (png reading/writing library)) (#1457) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eeede0d31..0844a72e0 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) +* [libspng](https://github.com/randy408/libspng) - Simple, modern libpng alternative. [BSD-2] [website](https://libspng.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] From c4a69e78773cc5254cdf159428687d5cd00a09b3 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 13:42:13 +0900 Subject: [PATCH 786/959] Add mozjpeg (improved JPEG encoder) (#1458) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0844a72e0..821cea136 100644 --- a/README.md +++ b/README.md @@ -615,6 +615,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] * [Magick++](https://imagemagick.org/script/magick++.php) - ImageMagick program interfaces for C++. [Apache2] * [MagickWnd](https://imagemagick.org/script/magick-wand.php) - ImageMagick program interfaces for C. [Apache2] +* [MozJPEG](https://github.com/mozilla/mozjpeg) - Improved JPEG encoder. [BSD/BSD-3-Clause/ZLIB] * [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] From fdba943a2d581d1171d5ef06d88a2d1dad886944 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 8 Dec 2023 12:32:32 +0900 Subject: [PATCH 787/959] Add libjxl (JPEG XL library) (#1460) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 821cea136..c110a265f 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) +* [libjxl](https://github.com/libjxl/libjxl) - JPEG XL image format reference implementation. [BSD-3-Clause] * [libspng](https://github.com/randy408/libspng) - Simple, modern libpng alternative. [BSD-2] [website](https://libspng.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] From db0472435f2ec43b9ce51c782314e238cdb92005 Mon Sep 17 00:00:00 2001 From: nirlivne Date: Fri, 8 Dec 2023 07:29:16 +0200 Subject: [PATCH 788/959] Update README.md (#1459) Cpptrace is a simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater on Linux, macOS, and Windows including MinGW and Cygwin environments. The goal: Make stack traces simple for once. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c110a265f..b954f9643 100644 --- a/README.md +++ b/README.md @@ -443,6 +443,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CUTE](http://cute-test.com) - C++ Unit Testing Easier. [LGPL3] * [CMocka](https://cmocka.org/) - unit testing framework for C with support for mock objects. [Apache2] * [CppBenchmark](https://github.com/chronoxor/CppBenchmark) - Performance benchmark framework for C++ with nanoseconds measure precision. [MIT] +* [Cpptrace](https://github.com/jeremy-rifkin/cpptrace) - A simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT] * [CppUnit](http://www.freedesktop.org/wiki/Software/cppunit/) - C++ port of JUnit. [LGPL2] * [CTest](https://cmake.org/cmake/help/v2.8.8/ctest.html) - The CMake test driver program. [BSD] * [dbg-macro](https://github.com/sharkdp/dbg-macro) - A dbg(…) macro for C++. [MIT] From 2f0d8d1bdc9f52703fecb3be2e2bee8bd8721fe6 Mon Sep 17 00:00:00 2001 From: Silver Zachara Date: Fri, 8 Dec 2023 08:37:36 +0100 Subject: [PATCH 789/959] Database: Add TinyORM modern C++ ORM library (#1215) Added the TinyORM modern C++ ORM library to the Database list. [TinyORM](https://github.com/silverqx/TinyORM) - Modern C++ ORM library. [MIT] [website](https://www.tinyorm.org/) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b954f9643..d634634d1 100644 --- a/README.md +++ b/README.md @@ -419,6 +419,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [sqlite_orm](https://github.com/fnc12/sqlite_orm) - SQLite ORM light header only library for modern C++. [AGPL + paid MIT] * [sqlpp11](https://github.com/rbock/sqlpp11) - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause] * [TileDB](https://github.com/TileDB-Inc/TileDB) - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/) +* [TinyORM](https://github.com/silverqx/TinyORM) - Modern C++ ORM library. [MIT] [website](https://www.tinyorm.org/) * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] * [TigerBeetleDB C++ client (Community)](https://github.com/kassane/tigerbeetle-cpp) - TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] From 449ad13a5f986d5f73cb92fb5ce3ec0b57415926 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 10 Dec 2023 01:27:01 +0900 Subject: [PATCH 790/959] Add libavif (avif reading/writing library) (#1461) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d634634d1..9785f3166 100644 --- a/README.md +++ b/README.md @@ -610,6 +610,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [GDCM](http://gdcm.sourceforge.net/wiki/index.php/Main_Page) - Grassroots DICOM library. * [ITK](http://www.itk.org/) - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0] * [Leptonica](https://github.com/DanBloomberg/leptonica) - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html) +* [libavif](https://github.com/AOMediaCodec/libavif) - Library for encoding and decoding .avif files. [BSD-2-Clause] * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libjxl](https://github.com/libjxl/libjxl) - JPEG XL image format reference implementation. [BSD-3-Clause] From 82fb740e7c677293c75b014d232e7da365b96e28 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 11 Dec 2023 10:44:40 +0900 Subject: [PATCH 791/959] Add itlib (STL like library) (#1463) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9785f3166..97c90c169 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Folly](https://github.com/facebook/folly) - An open-source C++ library developed and used at Facebook. [Apache2] * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] +* [itlib](https://github.com/iboB/itlib) - A collection of std-like single-header C++ libraries [MIT] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] [website](http://www.juce.com/) * [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] From f7dd85ed03fb55d26e30235620aa7b8647714edf Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Dec 2023 14:17:31 +0900 Subject: [PATCH 792/959] rename Colony to plf::colony (#1465) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 97c90c169..6c8908467 100644 --- a/README.md +++ b/README.md @@ -339,12 +339,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Containers * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] -* [Colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) +* [plf::colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) * [plf::stack](https://github.com/mattreecebentley/plf_stack) - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm) * [ring_span lite](https://github.com/martinmoene/ring-span-lite) - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT] From fadbfaaaf9db189770e3526e1c01f368f2fac513 Mon Sep 17 00:00:00 2001 From: Wawha Date: Thu, 14 Dec 2023 06:24:17 +0100 Subject: [PATCH 793/959] Add v8pp (modern C++ bindings for V8 JavaScript engine) (#1466) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c8908467..7af060807 100644 --- a/README.md +++ b/README.md @@ -979,6 +979,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) * [V7](https://github.com/cesanta/v7) - An embedded JavaScript engine. [GPL2] * [V8](https://v8.dev) - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD] +* [v8pp](https://github.com/pmed/v8pp) - Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST] [website](https://pmed.github.io/v8pp/) * [ChakraCore](https://github.com/Microsoft/ChakraCore) -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT] ## Serialization From 1cc8fe1e9826b9319d1f64cf6d463cbf7d49bcfa Mon Sep 17 00:00:00 2001 From: liuzicheng1987 Date: Fri, 15 Dec 2023 03:50:01 +0100 Subject: [PATCH 794/959] Add reflect-cpp (#1462) * Added reflect-cpp * Fixed typo * Removed duplicate entry; shortened description * Added dash --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7af060807..d953cd6bf 100644 --- a/README.md +++ b/README.md @@ -916,6 +916,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [meta](https://github.com/skypjack/meta) - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT] * [Nameof](https://github.com/Neargye/nameof) - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT] * [Ponder](https://github.com/billyquith/ponder) - A C++11 library for reflection. [MIT] +* [reflect-cpp](https://github.com/getml/reflect-cpp) - Serialization through reflection, including automatic field name retrieval from structs. [MIT] * [RTTR](https://github.com/rttrorg/rttr) - A C++11 library for reflection. [MIT] [website](http://www.rttr.org) * [TSMP](https://github.com/fabian-jung/tsmp) - An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT] * [visit_struct](https://github.com/cbeck88/visit_struct) - A miniature library for struct-field reflection in C++. [Boost] From ce459c24be419965e63779b17a27cf42bc8a9b59 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 15 Dec 2023 11:55:18 +0900 Subject: [PATCH 795/959] Add DuckX(docx file library) (#1467) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d953cd6bf..defad82ca 100644 --- a/README.md +++ b/README.md @@ -1080,6 +1080,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) +* [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] From 294fa8dd7a09a5d219cc5e73bbc3056a24720b46 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 03:55:56 +0100 Subject: [PATCH 796/959] Remove uSTL (#1468) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index defad82ca..a983ec6ca 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost] * [tbox](https://github.com/tboox/tbox) - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/) * [Ultimate++](http://www.ultimatepp.org/) - A C++ cross-platform rapid application development framework. [BSD] -* [uSTL](http://msharov.github.io/ustl/) - The small STL library. [MIT] * [Windows Template Library](http://sourceforge.net/projects/wtl/) - A C++ library for developing Windows applications and UI components. [Public] * [Yomm2](https://github.com/jll63/yomm2) - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost] From 9452c8837599a8af24a9da5a7795b7df126d0439 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 03:56:21 +0100 Subject: [PATCH 797/959] Add parallel-hashmap (very fast hashmap and btree) (#1469) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a983ec6ca..a4f224430 100644 --- a/README.md +++ b/README.md @@ -342,6 +342,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] +* [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] [website](https://greg7mdp.github.io/parallel-hashmap/) * [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) * [plf::colony](https://github.com/mattreecebentley/plf_colony) - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] [website](http://www.plflib.org/colony.htm) * [plf::list](https://github.com/mattreecebentley/plf_list) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm) From 9a0fa0323f715c017d5b6e9ff67c172aa96a156d Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:02:43 +0100 Subject: [PATCH 798/959] Add argparse (Argument Parser for Modern C++) (#1470) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a4f224430..9d2004a7d 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny *Console/Terminal User Interface, Command Line Interface* * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] + * [argparse](https://github.com/p-ranav/argparse) - Argument Parser for Modern C++. [MIT] * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](https://github.com/boostorg/program_options) - A library to obtain program options via conventional methods such as command line and config file. [Boost] [website](https://boost.org/libs/program_options) * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] From b5908e32614c6b5c6f3bcfa0db2ccf70bd7e1eaf Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:04:36 +0100 Subject: [PATCH 799/959] Add date (A date and time library based on the C++11/14/17 header) (#1471) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d2004a7d..6a53be5a2 100644 --- a/README.md +++ b/README.md @@ -1080,6 +1080,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] From a2d929db82a4126f1d0b53f43f824f8ce1dbd045 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:09:33 +0100 Subject: [PATCH 800/959] Add date (A date and time library based on the C++11/14/17 header) (#1471) From 70af64e4fd9b4b62d1ae6227708a7a445289f380 Mon Sep 17 00:00:00 2001 From: Wawha Date: Fri, 15 Dec 2023 04:12:56 +0100 Subject: [PATCH 801/959] Add hedley (Header designed to smooth over some platform-specific annoyances) (#1472) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a53be5a2..fa51acb93 100644 --- a/README.md +++ b/README.md @@ -1089,6 +1089,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) * [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] +* [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] From febc4ead342b6754bd32bc4db1eead6d68d1b411 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 16 Dec 2023 22:21:33 +0900 Subject: [PATCH 802/959] Add CSerialPort (serial port library) (#1474) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa51acb93..654302c87 100644 --- a/README.md +++ b/README.md @@ -1080,6 +1080,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [CSerialPort](https://github.com/itas109/CSerialPort) - lightweight cross-platform serial port library. [LGPL3] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] From ff784c6912aede0a49c5862df23f50cfae7a13f1 Mon Sep 17 00:00:00 2001 From: Stephen Berry Date: Sat, 16 Dec 2023 13:57:24 -0600 Subject: [PATCH 803/959] Add Glaze under CSV libraries (#1473) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 654302c87..1dda7242e 100644 --- a/README.md +++ b/README.md @@ -388,6 +388,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [csv2](https://github.com/p-ranav/csv2) - Fast CSV parser for modern C++. [MIT] * [Csv::Parser](https://github.com/ashaduri/csv-parser) - Compile-time and runtime CSV parser written in C++17. [Zlib] * [Fast C++ CSV Parser](https://github.com/ben-strasser/fast-cpp-csv-parser) - Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause] +* [Glaze](https://github.com/stephenberry/glaze) - High performance, header only, CSV library with reflection support. [MIT] * [lazycsv](https://github.com/ashtum/lazycsv) - A fast, lightweight and single-header csv parser for modern C++. [MIT] * [ssp](https://github.com/red0124/ssp) - A header only "csv" parser which is fast and versatile with modern C++ api. [MIT] * [Vince's CSV Parser](https://github.com/vincentlaucsb/csv-parser) - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT] From db14508c4db7bcc3c68d43c88562695ffb4a55eb Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 01:12:52 +0900 Subject: [PATCH 804/959] add "Serial Port" category (#1476) --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1dda7242e..cd109de36 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Scientific Computing](#scientific-computing) - [Scripting](#scripting) - [Serialization](#serialization) + - [Serial Port](#serial-port) - [Sorting](#sorting) - [Video](#video) - [Virtual Machines](#virtual-machines) @@ -1007,6 +1008,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [YAS](https://github.com/niXman/yas) - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost] * [zpp_bits](https://github.com/eyalz800/zpp_bits) - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon). +## Serial Port + +* [Asio](https://github.com/chriskohlhoff/asio/) - Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost] [website](http://think-async.com/) +* [Boost.Asio](https://github.com/boostorg/asio) - Boost.Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost] [website](https://boost.org/libs/asio) +* [CSerialPort](https://github.com/itas109/CSerialPort) - lightweight cross-platform serial port library. [LGPL3] +* [Libserial](https://github.com/crayzeewulf/libserial) - Serial Port Programming in C++. [BSD-3-Clause] +* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] [website](http://wjwwood.io/serial/) + ## Sorting * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] @@ -1081,7 +1090,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] -* [CSerialPort](https://github.com/itas109/CSerialPort) - lightweight cross-platform serial port library. [LGPL3] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] @@ -1107,7 +1115,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] -* [Libserial](https://github.com/crayzeewulf/libserial) - Serial Port Programming in C++. [BSD-3-Clause] * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] @@ -1117,7 +1124,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] * [SDS](https://github.com/antirez/sds) - Simple Dynamic Strings library for C. [BSD] * [semver.c](https://github.com/h2non/semver.c) - A semver parser and render in ANSI C. [MIT] -* [Serial Communication Library](https://github.com/wjwwood/serial) - Cross-platform, Serial Port library written in C++. [MIT] * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] From 791b478ed32a9e2f4a062299f7ddf482842fafc9 Mon Sep 17 00:00:00 2001 From: Stanislav Paskalev Date: Sun, 17 Dec 2023 22:13:07 +0200 Subject: [PATCH 805/959] Add spaskalev/buddy_alloc (#1475) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd109de36..5cf422447 100644 --- a/README.md +++ b/README.md @@ -801,6 +801,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [rpmalloc](https://github.com/mjansson/rpmalloc) - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain] * [snmalloc](https://github.com/microsoft/snmalloc) - Message passing based high-performance allocator. [MIT] * [TCMalloc](https://github.com/google/tcmalloc) - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/) +* [buddy_alloc](https://github.com/spaskalev/buddy_alloc) - A single header buddy memory allocator for C with bounded allocation costs. [0BSD] * [tgc](https://github.com/orangeduck/tgc) - A tiny garbage collector for C written in \~500 LOC. [BSD] ## Multimedia From 82a30b5262188cc2d50a003a4a452041e142faf2 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 12:55:11 +0900 Subject: [PATCH 806/959] Add Office Open XML category (#1477) --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5cf422447..d2373ab54 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny - [Memory Allocation](#memory-allocation) - [Multimedia](#multimedia) - [Networking](#networking) + - [Office Open XML](#office-open-xml) - [PDF](#pdf) - [Physics](#physics) - [Reflection](#reflection) @@ -875,6 +876,17 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense] * [ZeroMQ](https://github.com/zeromq/libzmq) - High-speed, modular asynchronous communication library. [LGPL3/MPL2] [website](http://zeromq.org/) +## Office Open XML +*Libraries for parsing and manipulating xlsx, pptx, docx, etc.* + +* [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] +* [FreeXL](https://www.gaia-gis.it/fossil/freexl/index) - an open source library to extract valid data from within Spreadsheets. [MPL/GPL-2/LGPL-2] +* [libxls](https://github.com/libxls/libxls) - Read binary Excel files from C/C++ [BSD-2-Clause] +* [libxlsxwriter](https://github.com/jmcnamara/libxlsxwriter) - A C library for creating Excel XLSX files. [BSD-2-Clause] [website](https://libxlsxwriter.github.io/) +* [OpenXLSX](https://github.com/troldal/OpenXLSX) - A C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files. [BSD-3-Clause] +* [SimpleXlsxWriter](https://sourceforge.net/projects/simplexlsx/) - XLSX files writer for Microsoft Excel 2007 and above. [zlib] +* [XLSX I/O](https://github.com/brechtsanders/xlsxio) - C library for reading and writing .xlsx files. [MIT] + ## PDF *Libraries for parsing and manipulating PDF documents.* @@ -1093,7 +1105,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) -* [DuckX](https://github.com/amiremohamadi/DuckX) - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT] * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] From b232d7ce7b4e4489e22c2083d15e420cb98d2a06 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Dec 2023 11:31:30 +0900 Subject: [PATCH 807/959] Add quickjs (embeddedable javascript engine) (#1478) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2373ab54..6d81aafff 100644 --- a/README.md +++ b/README.md @@ -991,6 +991,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) * [pybind11](https://github.com/pybind/pybind11) - Seamless operability between C++11 and Python. [BSD] +* [QuickJS](https://bellard.org/quickjs/) - a small and embeddable Javascript engine. [MIT] * [SIP](https://riverbankcomputing.com/software/sip/intro) - C or C++ Bindings Generator for Python v2 and v3. [GPL] * [sol2](https://github.com/ThePhD/sol2) - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT] * [SWIG](https://github.com/swig/swig) - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/) From 2600811976adbca1e23fd229b99fb85f8a67d59c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 21 Dec 2023 02:50:12 +0900 Subject: [PATCH 808/959] Add iguana (universal serialization engine) (#1479) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d81aafff..4e0573aa8 100644 --- a/README.md +++ b/README.md @@ -1012,6 +1012,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FastBinaryEncoding](https://github.com/chronoxor/FastBinaryEncoding) - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT] * [FlatBuffers](https://github.com/google/flatbuffers) - A Memory efficient serialization library. [Apache2] * [Kaitai Struct](http://kaitai.io) - A declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][Apache2] +* [iguana](https://github.com/qicosmos/iguana) - a modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2] * [MessagePack](https://github.com/msgpack/msgpack-c) - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/) * [mrpt-serialization](https://github.com/mrpt/mrpt/) - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html) * [nanopb](https://github.com/nanopb/nanopb) - Small code-size Protocol Buffers implementation in ANSI C. [Zlib] From eb668ad064ac9fbfe03271883b41813f5830c28e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Dec 2023 23:43:34 +0900 Subject: [PATCH 809/959] Add cpp-sort (sorting algorithms) (#1480) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e0573aa8..0bc75ecfc 100644 --- a/README.md +++ b/README.md @@ -1033,6 +1033,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Sorting ++ [cpp-sort](https://github.com/Morwenn/cpp-sort) - Sorting algorithms & related tools for C++14. [MIT] * [pdqsort](https://github.com/orlp/pdqsort) - Pattern-defeating quicksort. [zlib] * [Timsort](https://github.com/gfx/cpp-TimSort) - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT] * [Indiesort](https://github.com/mattreecebentley/plf_indiesort) - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm) From 7f2faf9c17500dfe69a47905836105ace2250c46 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 15:50:37 +0900 Subject: [PATCH 810/959] Add lunasvg(svg rendering library) (#1481) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0bc75ecfc..5bd215e5d 100644 --- a/README.md +++ b/README.md @@ -587,6 +587,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Irrlicht](http://irrlicht.sourceforge.net/) - A high performance realtime 3D engine written in C++. [zlib] * [libigl](https://github.com/libigl/libigl) - Simple C++ geometry processing library. [MPL2] * [LLGL](https://github.com/LukasBanana/LLGL) - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause] +* [LunaSVG](https://github.com/sammycage/lunasvg) - a standalone SVG rendering library in C++. [MIT] * [magnum](https://github.com/mosra/magnum) - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics) * [micro-gl](https://github.com/micro-gl/micro-gl) - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl) * [NanoVG](https://github.com/memononen/nanovg) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib] From 508c09239ee199efcc78226e0cd1a460f78b96a8 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 23:48:51 +0900 Subject: [PATCH 811/959] Add TGUI (Cross-platform modern c++ GUI) (#1482) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5bd215e5d..067607d8a 100644 --- a/README.md +++ b/README.md @@ -565,6 +565,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT] * [Sciter](http://sciter.com/) - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial] * [Slint](https://github.com/slint-ui/slint) - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/) +* [TGUI](https://github.com/texus/TGUI) - Cross-platform modern c++ GUI. [Zlib] [website](https://tgui.eu/) * [wxWidgets](http://wxwidgets.org/) - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL] * [xtd](https://github.com/gammasoft71/xtd) - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT] * [Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2] From 4cabd41087a6f9dea673028d7d6e96929bfe7cca Mon Sep 17 00:00:00 2001 From: Bader-eddine Ouaich <49657842+baderouaich@users.noreply.github.com> Date: Sat, 30 Dec 2023 00:06:16 +0100 Subject: [PATCH 812/959] Add tgbotxx (Telegram Bot C++ Library) (#1483) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 067607d8a..9349a03fd 100644 --- a/README.md +++ b/README.md @@ -1148,6 +1148,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] * [StringZilla](https://github.com/ashvardanian/StringZilla) - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] +* [tgbotxx](https://github.com/baderouaich/tgbotxx) - Telegram Bot C++ Library. [MIT] * [Tulip Indicators](https://tulipindicators.org) - A C library of over 100 financial technical analysis indicators. [LGPL] * [ub-canaries](https://github.com/regehr/ub-canaries) - A collection of C/C++ programs that try to get compilers to exploit undefined behavior. * [value-category-cheatsheet](https://github.com/jeaye/value-category-cheatsheet) A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft] From 173d6bb4b8ff075f72d84c9b6f856fb39381288b Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 30 Dec 2023 16:22:49 +0900 Subject: [PATCH 813/959] Add lwlog (logging library) (#1484) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9349a03fd..b5c097cac 100644 --- a/README.md +++ b/README.md @@ -721,6 +721,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Log4cpp](http://log4cpp.sourceforge.net/) - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL] * [log4cplus](https://github.com/log4cplus/log4cplus) - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2] * [loguru](https://github.com/emilk/loguru) - A lightweight C++ logging library. [PublicDomain] +* [lwlog](https://github.com/ChristianPanov/lwlog) - Very fast synchronous and asynchronous C++17 logging library. [MIT] * [plog](https://github.com/SergiusTheBest/plog) - Portable and simple log for C++ in less than 1000 lines of code. [MPL2] * [reckless](https://github.com/mattiasflodin/reckless) - Low-latency, high-throughput, asynchronous logging library for C++. [MIT] * [spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library. From e67a6a9540658d139439058ab2108b0170fdcc1c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 00:20:41 +0900 Subject: [PATCH 814/959] Add Jolt Physics (rigid body physics library), sort by library name (#1485) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b5c097cac..0ebf7990d 100644 --- a/README.md +++ b/README.md @@ -910,10 +910,11 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Box2D](https://github.com/erincatto/Box2D) - A 2D physics engine for games. [BSD-like] * [Bullet](https://github.com/bulletphysics/bullet3) - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org) * [Chipmunk](https://github.com/slembcke/Chipmunk2D) - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/) +* [Jolt Physics](https://github.com/jrouwe/JoltPhysics) - A multi core friendly rigid body physics and collision detection library. [MIT] +* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [LiquidFun](https://github.com/google/liquidfun) - A 2D physics engine for games. [BSD-like] * [Newton Dynamics](https://github.com/MADEAPPS/newton-dynamics) - An integrated solution for real time simulation of physics environments. [zlib] * [ODE](http://www.ode.org/) - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL] -* [Kratos](https://github.com/KratosMultiphysics/Kratos) - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/) * [ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like] * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause] * [PlayRho](https://github.com/louis-langholtz/PlayRho) - An interactive physics engine & library. [Zlib] From 83e3d2b060c74b5fc24e9a2949607ce40d7dc197 Mon Sep 17 00:00:00 2001 From: Ryan Hardy <155328211+ryyHardy@users.noreply.github.com> Date: Tue, 2 Jan 2024 18:50:53 -0500 Subject: [PATCH 815/959] Add The Cherno's C++ playlist to Videos (#1486) Add TheCherno's C++ playlist to Videos --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0ebf7990d..75af5aae3 100644 --- a/README.md +++ b/README.md @@ -1367,6 +1367,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Caleb Curry's C Programming Tutorials](https://www.youtube.com/playlist?list=PL_c9BZzLwBRKKqOc9TJz1pP0ASrxLMtp2) - An all-in-one playlist of tutorials for C programming. * [C Programming Tutorials](https://www.youtube.com/playlist?list=PL78280D6BE6F05D34) - All of TheNewBoston's C programming tutorials are right here. * [Bo Qian's playlist](https://www.youtube.com/user/BoQianTheProgrammer/playlists) - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ... +* [The Cherno's C++ Playlist](https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb) - Extensive C++ tutorial series by The Cherno. ## Websites *Useful C or C++ related websites.* From 52c951b335889d2519df72c19c0a8e9d3ea6eca4 Mon Sep 17 00:00:00 2001 From: Miguel Nischor Date: Sat, 6 Jan 2024 19:36:24 -0400 Subject: [PATCH 816/959] Added C++ team blog (#1487) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 75af5aae3..fd3be0f62 100644 --- a/README.md +++ b/README.md @@ -1408,6 +1408,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Sutter’s Mill](https://herbsutter.com/gotw/) * [Vorbrodt's C++ Blog](https://vorbrodt.blog/) * [foonathan::blog()](https://foonathan.net/index.html) +* [C++ Team Blog](https://devblogs.microsoft.com/cppblog/) - Dev blog from the Microsoft Visual C++ team ## Other Awesome Projects *Collection of useful codes, snippets, ...* From 25af87818406d7ea4b0e8292aae2b9f8a51b2200 Mon Sep 17 00:00:00 2001 From: Ash Vardanian <1983160+ashvardanian@users.noreply.github.com> Date: Mon, 8 Jan 2024 00:35:32 +0000 Subject: [PATCH 817/959] Added Unum and other ML libraries (#1488) --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fd3be0f62..d6d6c5338 100644 --- a/README.md +++ b/README.md @@ -344,6 +344,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] +* [flat_hash_map](https://github.com/skarupke/flat_hash_map) - A very fast flat hashtable with Fibonacci hashing. * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] [website](https://greg7mdp.github.io/parallel-hashmap/) * [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) @@ -428,6 +429,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [UnQLite](https://github.com/symisc/unqlite) - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.org/) * [upscaledb](https://upscaledb.com) - An embedded "typed" key/value store with a built-in query interface. [GPLv3] * [TigerBeetleDB C++ client (Community)](https://github.com/kassane/tigerbeetle-cpp) - TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0] +* [UStore](https://github.com/unum-cloud/ustore) - Multi-Modal database for BLOBs, JSON, and graphs. [Apache2] * [Velox](https://github.com/facebookincubator/velox) - A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/) ## Data visualization @@ -732,16 +734,20 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny ## Machine Learning * [Caffe](https://github.com/BVLC/caffe) - A fast framework for neural networks. [BSD] +* [catboost](https://github.com/catboost/catboost) - A fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2] * [CCV](https://github.com/liuliu/ccv) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD] * [darknet](https://github.com/pjreddie/darknet) - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/) * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [FAISS](https://github.com/facebookresearch/faiss) - A library for efficient similarity search and clustering of dense vectors. [MIT] * [Fido](https://github.com/FidoProject/Fido) - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/) * [flashlight](https://github.com/facebookresearch/flashlight) - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] [website](https://fl.readthedocs.io/en/latest/) +* [ggml](https://github.com/ggerganov/ggml) - Tensor library for machine learning with 16-bit and 4-bit quantization support. [MIT] * [libsvm](https://github.com/cjlin1/libsvm) - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) * [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT] * [MeTA](https://github.com/meta-toolkit/meta) - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/) * [Minerva](https://github.com/dmlc/minerva) - A fast and flexible system for deep learning. [Apache2] * [mlpack](https://github.com/mlpack/mlpack) - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/) +* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] * [OpenCV](https://github.com/Itseez/opencv) :zap: - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/) * [oneDAL](https://github.com/oneapi-src/oneDAL) - A powerful machine learning library that helps speed up big data analysis. [Apache] * [ONNX runtime](https://github.com/microsoft/onnxruntime) - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/) @@ -749,9 +755,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RNNLIB](https://github.com/szcom/rnnlib) - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3] * [SHOGUN](https://github.com/shogun-toolbox/shogun) - The Shogun Machine Learning Toolbox. [GPLv3] * [sofia-ml](https://code.google.com/p/sofia-ml/) - The suite of fast incremental algorithms for machine learning. [Apache2] +* [USearch](https://github.com/unum-cloud/usearch) - Fast search and clustering library for vectors and strings. [Apache2] * [VLFeat](https://github.com/vlfeat/vlfeat) - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/) * [xgboost](https://github.com/dmlc/xgboost) - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] -* [ncnn](https://github.com/Tencent/ncnn) - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD] ## Math @@ -784,6 +790,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenBLAS](https://github.com/xianyi/OpenBLAS) - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/) * [PCG-rand](https://www.pcg-random.org/) - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache] * [QuantLib](https://github.com/lballabio/quantlib) - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/) +* [SimSIMD](https://github.com/ashvardanian/SimSIMD) - Vector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2] * [StatsLib](https://github.com/kthohr/stats) - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html) * [SymEngine](https://github.com/symengine/symengine) - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT] * [TinyExpr](https://github.com/codeplea/tinyexpr) - A C library for parsing and evaluating math expressions from strings. [zlib] @@ -865,6 +872,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [PicoHTTPParser](https://github.com/h2o/picohttpparser) - A tiny, primitive, fast HTTP request/response parser. [MIT] * [POCO](https://github.com/pocoproject) :zap: - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/) * [Proxygen](https://github.com/facebook/proxygen) - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD] +* [RedPanda](https://github.com/redpanda-data/redpanda) - Streaming data platform for developers. Kafka API compatible. 10x faster. [BSL] * [RakNet](https://github.com/OculusVR/RakNet) - A cross platform, open source, C++ networking engine for game programmers. [BSD] * [restclient-cpp](https://github.com/mrtazz/restclient-cpp) - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT] * [Seasocks](https://github.com/mattgodbolt/seasocks) - Simple, small, C++ embeddable webserver with WebSockets support. [BSD] @@ -872,6 +880,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Tufão](https://github.com/vinipsmaker/tufao) - An asynchronous web framework for C++ built on top of Qt. [LGPL2] * [uriparser](https://github.com/uriparser/uriparser) - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause] * [uWebSockets](https://github.com/uNetworking/uWebSockets) - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib] +* [UCall](https://github.com/unum-cloud/ucall) - A high-performance SIMD-accelerated RPC library on io_uring. [Apache2] * [WAFer](https://github.com/riolet/WAFer) - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2] * [Wangle](https://github.com/facebook/wangle) - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0] * [wdt](https://github.com/facebook/wdt) - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause] From cd10802e68126e5b0efc320c0df634557cf67a56 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jan 2024 01:34:05 +0900 Subject: [PATCH 818/959] Add LuaBridge3 (binder Lua, LuaJIT, Luau and Ravi to C++) (#1489) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6d6c5338..fc7f2fdc0 100644 --- a/README.md +++ b/README.md @@ -999,6 +999,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libffi](https://github.com/libffi/libffi) - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/) * [Lua](http://www.lua.org/) - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT] * [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] +* [LuaBridge3](https://github.com/kunitoki/LuaBridge3) - A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) From 2911d97096a46bac83f31f3d172ac04b053633f9 Mon Sep 17 00:00:00 2001 From: Uno <148621783+Udoheud@users.noreply.github.com> Date: Fri, 12 Jan 2024 11:38:48 +0800 Subject: [PATCH 819/959] Add Infinity, the AI-native database for LLM and RAM (#1490) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fc7f2fdc0..e4e71fa9e 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] * [itlib](https://github.com/iboB/itlib) - A collection of std-like single-header C++ libraries [MIT] +* [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] [website](http://www.juce.com/) * [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] From fbae428b4818eb3ec45b11fc93fbdeca8463e7cf Mon Sep 17 00:00:00 2001 From: Uno <148621783+Udoheud@users.noreply.github.com> Date: Sat, 13 Jan 2024 11:40:07 +0800 Subject: [PATCH 820/959] Move Infinity to the Database category. (#1491) Apologies. I should have put Infinity under the Database category instead of the framework category.. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4e71fa9e..8e7001b6f 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) - Functional Programming Library for C++. Write concise and readable C++ code. [MIT] * [GLib](https://wiki.gnome.org/Projects/GLib) - GLib provides the core application building blocks for libraries and applications written in C. [LGPL] * [itlib](https://github.com/iboB/itlib) - A collection of std-like single-header C++ libraries [MIT] -* [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [JUCE](https://github.com/julianstorer/JUCE) - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] [website](http://www.juce.com/) * [Kigs framework](https://github.com/Kigs-framework/kigs) - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/) * [libPhenom](https://github.com/facebook/libphenom) - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] @@ -404,6 +403,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [DuckDB](https://duckdb.org/) - in-process SQL OLAP Database Management System. [MIT] * [hiberlite](https://github.com/paulftw/hiberlite) - C++ Object-relational mapping for sqlite3. [BSD] * [Hiredis](https://github.com/redis/hiredis) - A minimalistic C client library for the Redis database. [BSD] +* [Infinity](https://github.com/infiniflow/infinity) - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2] * [Kvrocks](https://github.com/apache/incubator-kvrocks) - A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2] * [LevelDB](https://github.com/google/leveldb) - A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD] * [libpqxx](https://github.com/jtv/libpqxx) - The official C++ client API for PostgreSQL. [BSD-3-Clause] From 1a587287de07541f7e9330dc9c78ff3f451b6c12 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jan 2024 10:28:11 +0900 Subject: [PATCH 821/959] Add Rapidgzip (#1493) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e7001b6f..2b57e78ff 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] * [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] * [minizip-ng](https://github.com/zlib-ng/minizip-ng) - Fork of the popular zip manipulation library found in the zlib distribution. [zlib] +* [Rapidgzip](https://github.com/mxmlnkn/rapidgzip) - Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] * [ZLib](http://zlib.net/) - A very compact compression library for data streams. [zlib] From f8447e2872b6818c48f7ece23cb5afe53aed49df Mon Sep 17 00:00:00 2001 From: Bright Chen <1021774709@qq.com> Date: Tue, 16 Jan 2024 14:23:55 +0800 Subject: [PATCH 822/959] Add bRPC(industrial-grade RPC framework) (#1492) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2b57e78ff..2c3de84e6 100644 --- a/README.md +++ b/README.md @@ -657,6 +657,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Apache Thrift](https://thrift.apache.org/) - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2] * [Boost.Interprocess](https://github.com/boostorg/interprocess) - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://boost.org/libs/interprocess) +* [bRPC](https://github.com/apache/brpc) - bRPC is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. [Apache2] [website](https://brpc.apache.org/) * [Cap'n Proto](https://github.com/capnproto/capnproto) - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/) * [eCAL](https://github.com/continental/ecal) - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/) * [gRPC](https://github.com/grpc/grpc) - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/) From 078bf95eb0052e2f99da6f5918f417de3b9770b7 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jan 2024 23:59:33 +0900 Subject: [PATCH 823/959] sort Compression list (#1494) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c3de84e6..64cac0271 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [bzip3](https://github.com/kspalaiologos/bzip3) - A better and stronger spiritual successor to BZip2. [LGPL] * [FiniteStateEntropy](https://github.com/Cyan4973/FiniteStateEntropy) - New generation entropy codecs : Finite State Entropy and Huff0. * [heatshrink](https://github.com/atomicobject/heatshrink) - data compression library for embedded/real-time systems [ISC] -* [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [KArchive](https://api.kde.org/frameworks/karchive/html/index.html) - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL] * [libarchive](https://github.com/libarchive/libarchive) - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/) * [LZ4](https://github.com/lz4/lz4) - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/) @@ -271,6 +270,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [miniz](https://github.com/richgel999/miniz) - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT] * [Minizip](https://github.com/nmoinvaz/minizip) - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib] * [minizip-ng](https://github.com/zlib-ng/minizip-ng) - Fork of the popular zip manipulation library found in the zlib distribution. [zlib] +* [PhysicsFS](https://icculus.org/physfs/) - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib] * [Rapidgzip](https://github.com/mxmlnkn/rapidgzip) - Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT] * [smaz](https://github.com/antirez/smaz) - Small strings compression library. [BSD] * [Snappy](https://google.github.io/snappy/) - A fast compressor/decompressor. [BSD] From 7df8634e3a1e6bace4bb22e400a0638be4a77332 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 19 Jan 2024 23:48:07 +0900 Subject: [PATCH 824/959] Add srell (regex library) (#1495) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 64cac0271..b02503cd7 100644 --- a/README.md +++ b/README.md @@ -965,6 +965,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [RE2](https://github.com/google/re2) - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause] * [SLRE](https://github.com/cesanta/slre) - Super Light Regexp engine for C/C++. [GPLv2/Proprietary] * [sregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD] +* [SRELL](https://www.akenotsuki.com/misc/srell/en/) - Unicode-aware regular expression template library for C++. [BSD] ## Robotics From 9a5d9d17dafda35dd097b297fa3eceef9d8db5a1 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 26 Jan 2024 23:30:15 +0900 Subject: [PATCH 825/959] Add mINI (ini file reader/writer library) (#1496) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b02503cd7..3870d17cf 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [inipp](https://github.com/mcmtroffaes/inipp) - Simple header-only C++ ini parser and generator. [MIT] * [libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/) * [libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC] +* [mINI](https://github.com/metayeti/mINI) - INI file reader and writer. [MIT] * [simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT] * [toml++](https://github.com/marzer/tomlplusplus) - Header-only TOML parser and serializer for C++17 and later. [MIT] [website](https://marzer.github.io/tomlplusplus/) * [toml11](https://github.com/ToruNiina/toml11) - a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT] From df1b40f28e48d31f8cb0cab9c4156712a7b3990c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 27 Jan 2024 23:31:25 +0900 Subject: [PATCH 826/959] Add hat-trie (HAT trie library) (#1497) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3870d17cf..3014928a7 100644 --- a/README.md +++ b/README.md @@ -344,9 +344,10 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [C++ B-tree](https://github.com/algorithm-ninja/cpp-btree) - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2] * [dynamic_bitset](https://github.com/pinam45/dynamic_bitset) - A C++17 header-only dynamic bitset. [MIT] +* [flat_hash_map](https://github.com/skarupke/flat_hash_map) - A very fast flat hashtable with Fibonacci hashing. * [Hashmaps](https://github.com/goossaert/hashmap) - Implementation of open addressing hash table algorithms in C++. [MIT] +* [hat-trie](https://github.com/Tessil/hat-trie) - C++ implementation of a fast and memory efficient HAT-trie. [MIT] * [Hopscotch map](https://github.com/Tessil/hopscotch-map) - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT] -* [flat_hash_map](https://github.com/skarupke/flat_hash_map) - A very fast flat hashtable with Fibonacci hashing. * [LSHBOX](https://github.com/RSIA-LIESMARS-WHU/LSHBOX) - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL] * [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] [website](https://greg7mdp.github.io/parallel-hashmap/) * [PGM-index](https://github.com/gvinciguerra/PGM-index) - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] [website](https://pgm.di.unipi.it) From b6edbcfee929fd92ae2ba036e5e03094f6830cc4 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 28 Jan 2024 02:06:39 +0900 Subject: [PATCH 827/959] add tree containers (st_tree, tree.hh) (#1498) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3014928a7..71f1a0a0e 100644 --- a/README.md +++ b/README.md @@ -358,7 +358,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [robin-hood-hashing](https://github.com/martinus/robin-hood-hashing) - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT] * [robin-map](https://github.com/Tessil/robin-map) - Fast hash map and hash set using robin hood hashing. [MIT] * [sparsepp](https://github.com/greg7mdp/sparsepp) - A fast, memory efficient hash map for C++. [BSD 3-clause] +* [st_tree](https://github.com/erikerlandson/st_tree) - A fast and flexible c++ template class for tree data structures. [Apache-2.0] * [svector](https://github.com/martinus/svector) - Compact SVO optimized vector for C++17 or higher. [MIT] +* [tree.hh](https://github.com/kpeeters/tree.hh) - An STL-like C++ header-only tree library. [GPL2+] * [unordered_dense](https://github.com/martinus/unordered_dense) - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT] ## Cryptography From 73619060a1e71e8d4e3d84e9a56a31adb2369d9a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Feb 2024 23:37:18 +0900 Subject: [PATCH 828/959] Add Reindexer (#1500) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71f1a0a0e..9c7604923 100644 --- a/README.md +++ b/README.md @@ -421,6 +421,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [nanodbc](https://github.com/nanodbc/nanodbc) - A small C++ wrapper for the native C ODBC API. [MIT] * [ODB](https://www.codesynthesis.com/products/odb/) - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2] * [redis3m](https://github.com/luca3m/redis3m) - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2] +* [Reindexer](https://github.com/Restream/reindexer) - Embeddable, in-memory, document-oriented database with a high-level Query builder interface. [Apache2] [website](https://reindexer.io/) * [RocksDB](https://github.com/facebook/rocksdb) - Embedded key-value store for fast storage from facebook. [BSD] * [SimDB](https://github.com/LiveAsynchronousVisualizedArchitecture/simdb) - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2] * [SOCI](https://github.com/SOCI/soci) - A database abstraction layer for C++. [Boost] From 3e10e576b633da5951874a83190cb8ab23ed8414 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 18 Feb 2024 07:54:00 +0900 Subject: [PATCH 829/959] add TermOx (terminal UI library), sort CLI category (#1501) * add termox, sort CLI category, normalilze entry name * revert linenoise position --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9c7604923..6929e96eb 100644 --- a/README.md +++ b/README.md @@ -225,16 +225,19 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argh!](https://github.com/adishavit/argh) - A minimalist, frustration-free, header-only argument handler. [BSD] * [argparse](https://github.com/p-ranav/argparse) - Argument Parser for Modern C++. [MIT] - * [Taywee/args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] + * [args](https://github.com/taywee/args) - A simple header-only C++ argument parser library. [MIT] * [Boost.Program_options](https://github.com/boostorg/program_options) - A library to obtain program options via conventional methods such as command line and config file. [Boost] [website](https://boost.org/libs/program_options) * [Clara](https://github.com/catchorg/Clara) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost] * [cli](https://github.com/daniele77/cli) - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost] * [CLI11](https://github.com/CLIUtils/CLI11) - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD] * [clipp](https://github.com/muellan/clipp) - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT] - * [jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] + * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] + * [cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT] * [docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost] * [FINAL CUT](https://github.com/gansm/finalcut) - Library for creating terminal applications with text-based widgets. [LGPL] + * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] * [gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD] + * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface. [MIT] * [indicators](https://github.com/p-ranav/indicators/) - Activity indicators for Modern C++. [MIT] * [linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause] * [linenoise-ng](https://github.com/arangodb/linenoise-ng) - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD] @@ -247,9 +250,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++. [MIT] * [TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT] * [termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT] - * [cpp-terminal](https://github.com/jupyter-xeus/cpp-terminal) - Small header only C++ library for writing multiplatform terminal applications. [MIT] - * [FTXUI](https://github.com/ArthurSonzogni/FTXUI) - C++ Functional Terminal User Interface. [MIT] - * [imtui](https://github.com/ggerganov/imtui) - Immediate Mode Text-based User Interface. [MIT] + * [TermOx](https://github.com/a-n-t-h-o-n-y/TermOx) - C++17 Terminal User Interface(TUI) Library. [MIT] ## Compression *Compression and Archiving Libraries* From 065a83dc05db9981e185d28c596c5f6152f27628 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Feb 2024 23:54:10 +0900 Subject: [PATCH 830/959] Add miniscript (embed scripting language) (#1502) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6929e96eb..cec9614e8 100644 --- a/README.md +++ b/README.md @@ -1011,6 +1011,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [LuaBridge](https://github.com/vinniefalco/LuaBridge) - A lightweight, dependency-free library for binding Lua to C++. [MIT] * [LuaBridge3](https://github.com/kunitoki/LuaBridge3) - A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT] * [luacxx](https://github.com/dafrito/luacxx) - C++11 API for creating Lua bindings. [MIT] +* [MiniScript](https://miniscript.org/) - scripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT] * [nbind](https://github.com/charto/nbind) - Magical headers that make your C++ library accessible from JavaScript. [MIT] * [PHP-CPP](https://github.com/CopernicaMarketingSoftware/PHP-CPP) - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/) * [pocketpy](https://github.com/blueloveTH/pocketpy) - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/) From da22bce3c92862eb917cf0ce36b6d16a2e60f0a1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Feb 2024 01:00:06 +0900 Subject: [PATCH 831/959] add png libraries (#1503) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index cec9614e8..8b27629b8 100644 --- a/README.md +++ b/README.md @@ -621,6 +621,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [CImg](http://cimg.eu/) - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL] * [CxImage](https://www.codeproject.com/Articles/1300/CxImage) - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib] * [Dlib](https://github.com/davisking/dlib) :zap: - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] [website](http://dlib.net/) +* [fpng](https://github.com/richgel999/fpng) - Super fast C++ .PNG writer/reader. [Unlicense] * [FreeImage](http://freeimage.sourceforge.net/) - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3] * [GD](https://github.com/libgd/libgd) - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/) * [DCMTK](http://dicom.offis.de/dcmtk.php.en) - DICOM Toolkit. @@ -631,6 +632,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [libfacedetection](https://github.com/ShiqiYu/libfacedetection) - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD] * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/) * [libjxl](https://github.com/libjxl/libjxl) - JPEG XL image format reference implementation. [BSD-3-Clause] +* [libpng](https://github.com/pnggroup/libpng) - the reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0] [website](https://libpng.sourceforge.io/) * [libspng](https://github.com/randy408/libspng) - Simple, modern libpng alternative. [BSD-2] [website](https://libspng.org/) * [libvips](https://github.com/jcupitt/libvips) - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/) * [LodePNG](https://github.com/lvandeve/lodepng) - PNG encoder and decoder in C and C++. [Zlib] From be6a9236d2b119a840a2dd6e74a25838f43fe644 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Feb 2024 15:39:20 +0900 Subject: [PATCH 832/959] add CCTZ (time-zone, civil-time translating library) (#1504) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8b27629b8..2935ba5fc 100644 --- a/README.md +++ b/README.md @@ -1130,6 +1130,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) +* [CCTZ](https://github.com/google/cctz) - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0] * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] From 80e5cef89614846781a78b4cddf1ea8fc0da0bd6 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 25 Feb 2024 18:54:29 +0900 Subject: [PATCH 833/959] sort Miscellaneous category (#1505) --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 2935ba5fc..3db81284f 100644 --- a/README.md +++ b/README.md @@ -1130,38 +1130,40 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) +* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CCTZ](https://github.com/google/cctz) - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0] * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. * [Concord](https://github.com/Cogmasters/concord) - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord) * [CPPItertools](https://github.com/ryanhaining/cppitertools) - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause] +* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [date](https://github.com/HowardHinnant/date) - A date and time library based on the C++11/14/17 header. [MIT] [website](https://howardhinnant.github.io/date/date.html) * [D++ (DPP)](https://github.com/brainboxdotcc/DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev) * [DynaMix](https://github.com/iboB/dynamix) - A library which allows you to compose and modify objects at run time. [MIT] * [emio](https://github.com/Viatorus/emio) - A safe and fast high-level and low-level character input/output library. [MIT] * [faker-cxx](https://github.com/cieslarmichal/faker-cxx) - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT] +* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] * [fccf](https://github.com/p-ranav/fccf) - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT] * [{fmt}](https://github.com/fmtlib/fmt) :zap: - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev) -* [FastFormat](http://www.fastformat.org) - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD] +* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [hedley](https://github.com/nemequ/hedley) - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/) -* [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] -* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] -* [cxx-prettyprint](https://github.com/louisdx/cxx-prettyprint) - A pretty printing library for C++ containers. [Boost] * [icecream-cpp](https://github.com/renatoGarcia/icecream-cpp) - A small printing library for debugging purposes. [MIT] * [inja](https://github.com/pantor/inja) - A Template Engine for Modern C++. [MIT] -* [gcc-poison](https://github.com/leafsr/gcc-poison) - A simple header file for developers to ban unsafe C/C++ functions from applications. * [Jinja2С++](https://github.com/jinja2cpp/Jinja2Cpp) - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/) * [jwt-cpp](https://github.com/Thalhammer/jwt-cpp) - A header only library for creating and validating JSON web tokens in C++. [MIT] * [Kangaru](https://github.com/gracicot/kangaru) - A dependency injection container for C++11 and C++14. [MIT] * [Klib](https://github.com/attractivechaos/klib) - Small and lightweight implementations of common algorithms and data structures. [MIT] -* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libcpuid](https://github.com/anrieff/libcpuid) - A small C library for x86 CPU detection and feature extraction. [BSD] * [libenvpp](https://github.com/ph3at/libenvpp) - A modern C++ library for type-safe environment variable parsing. [Apache-2.0] * [libevil](https://github.com/avati/libevil) - The Evil License Manager. [GPLv3] * [libnih](https://github.com/keybuk/libnih) - A lightweight library of C functions and structures. [GPL2.1] +* [libsigc++](https://github.com/libsigcplusplus/libsigcplusplus) - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus) * [libusb](https://libusb.info/) - A universal USB library which allows for portable access to USB devices. [LGPL2] * [Mach7](https://github.com/solodon4/Mach7) - A Pattern-matching library for C++. [BSD] * [mio](https://github.com/mandreyel/mio) - Cross-platform C++11 header-only library for memory mapped file IO. [MIT] * [PEGTL](https://github.com/taocpp/PEGTL) - The Parsing Expression Grammar Template Library. [MIT] +* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] +* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] +* [QtVerbalExpressions](https://github.com/VerbalExpressions/QtVerbalExpressions) - This Qt lib is based off of the C++ VerbalExpressions library. [MIT] * [Remote Call Framework](http://www.deltavsoft.com/) - Inter-process communication framework for C++. [GPL2/Proprietary] * [scnlib](https://github.com/eliaskosunen/scnlib) - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/) * [Scintilla](http://scintilla.org/) - A free source code editing component. [MIT] @@ -1170,8 +1172,8 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [sigslot](http://sigslot.sourceforge.net/) - C++ Signal/Slot Library. [PublicDomain] * [SimpleSignal](https://github.com/larspensjo/SimpleSignal) - High performance C++11 signals. [PublicDomain] * [Stage](https://github.com/rtv/Stage) - Mobile robot simulator. [GPL2] -* [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [stb](https://github.com/nothings/stb) :zap: - A range of single-file libraries for C/C++. [PublicDomain] +* [stdman](https://github.com/jeaye/stdman) - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT] * [StringZilla](https://github.com/ashvardanian/StringZilla) - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0] * [StrTk](https://www.partow.net/programming/strtk/index.html) - A C++ library consisting of high performance string processing routines. [MIT] * [tgbotxx](https://github.com/baderouaich/tgbotxx) - Telegram Bot C++ Library. [MIT] @@ -1181,8 +1183,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [VarTypes](https://github.com/szi/vartypes) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL] * [ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2] * [ZXing](https://github.com/zxing/zxing/) - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache] -* [pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT] -* [pspsdk](https://github.com/pspdev/pspsdk) - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3] # Software *Software for creating a development environment.* From f20a669e0c6025483686762e73bc837b110ea427 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 23:15:29 +0900 Subject: [PATCH 834/959] Add OpenJPEG(JPEG 2000 library) (#1506) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3db81284f..5408e7ee5 100644 --- a/README.md +++ b/README.md @@ -642,6 +642,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [OpenCV](https://github.com/opencv) :zap: - Open source computer vision. [Apache2] [website](https://opencv.org) * [OpenEXR](http://www.openexr.com/) - Cross-platform library for high dynamic range imaging. [Modified BSDF] * [OpenImageIO](https://github.com/OpenImageIO/oiio) - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD] +* [OpenJPEG](https://github.com/uclouvain/openjpeg) - an open-source JPEG 2000 codec written in C language. [BSD-2-Clause] * [SAIL](https://github.com/happy-sea-fox/sail) - Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT] * [Simd](https://github.com/ermig1979/Simd) - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT] * [stb-image](https://github.com/nothings/stb/blob/master/stb_image.h) - STB single-header image loading library. [Public Domain] From e23f033a6c758378d5f3fe015a50f55b1db9d706 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 22:24:00 +0900 Subject: [PATCH 835/959] Add Xalan C (#1508) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5408e7ee5..18d1a23d4 100644 --- a/README.md +++ b/README.md @@ -1115,6 +1115,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [TinyXML](http://sourceforge.net/projects/tinyxml/) - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib] * [TinyXML2](https://github.com/leethomason/tinyxml2) - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib] * [TinyXML++](https://github.com/rjpcomputing/ticpp) - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT] +* [Xalan C](https://github.com/apache/xalan-c) - A library and a command line program to transform XML documents using a stylesheet that conforms to XSLT 1.0 standards. [Apache-2.0] [website](https://xalan.apache.org/) * [Xerces-C++](http://xerces.apache.org/xerces-c/) - A validating XML parser written in a portable subset of C++. [Apache2] ## Yaml From 85c11f2b3dc3b30465f9145822aa6a283892443f Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 29 Feb 2024 23:22:24 +0900 Subject: [PATCH 836/959] Add CRCpp (CRC library) (#1509) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18d1a23d4..61e9d3956 100644 --- a/README.md +++ b/README.md @@ -1132,6 +1132,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Argon2](https://github.com/P-H-C/phc-winner-argon2) - The password hash Argon2, winner of PHC. [CC0/Apache2] * [Better String](http://bstring.sourceforge.net) - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2] * [Boost.Signals2](https://github.com/boostorg/signals2) - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2) +* [CRCpp](https://github.com/d-bahr/CRCpp) - Easy to use and fast C++ CRC library. [BSD-3-Clause] * [casacore](https://code.google.com/p/casacore/) - A set of c++ core libraries derived from aips++. [LGPL] * [CCTZ](https://github.com/google/cctz) - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0] * [Cheat Sheets of HackingCPP](https://hackingcpp.com/cpp/cheat_sheets.html) - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc. From 9cc00cb9d72defd020ec6e4daae79888f3cd0655 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Mar 2024 23:39:00 +0900 Subject: [PATCH 837/959] Add SaneCppLibraries (platform abstraction libraries) (#1510) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61e9d3956..a3cea66b4 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny * [Qt](https://github.com/qt) :zap: - A cross-platform application and UI framework. [GPL/LGPL/Proprietary] [website](https://www.qt.io) * [Reason](http://code.google.com/p/reason/) - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] * [ROOT](https://root.cern.ch/) - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] +* [SaneCppLibraries](https://github.com/Pagghiu/SaneCppLibraries) - a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] [website](https://pagghiu.github.io/SaneCppLibraries/) * [Seastar](https://github.com/scylladb/seastar) - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/) * [STLport](http://www.stlport.org/) - An exemplary version of STL. [Free] * [STXXL](http://stxxl.sourceforge.net/) - Standard Template Library for Extra Large Data Sets. [Boost] From e36131502f7331087f763afafbc41ea6c2f6a08f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Mar 2024 00:44:25 +0900 Subject: [PATCH 838/959] 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 839/959] 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 840/959] 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 841/959] 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 842/959] 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 843/959] 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 844/959] 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 845/959] 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 846/959] 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 847/959] 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 848/959] 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 849/959] 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 850/959] 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 851/959] 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 852/959] 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 853/959] 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 854/959] 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 855/959] 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 856/959] 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 857/959] 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 858/959] 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 859/959] 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 860/959] 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 861/959] 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 862/959] 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 863/959] 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 864/959] 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 865/959] 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 866/959] 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 867/959] 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 868/959] 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 869/959] 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 870/959] 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 871/959] 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 872/959] 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 873/959] 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 874/959] 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 875/959] 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 876/959] 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 877/959] 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 878/959] 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 879/959] 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 880/959] 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 881/959] 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 882/959] 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 883/959] 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 884/959] 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 885/959] 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 886/959] 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 887/959] 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 888/959] 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 889/959] 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 890/959] 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 891/959] 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 892/959] 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 893/959] 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 894/959] 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 895/959] 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 896/959] 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 897/959] 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 898/959] 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 899/959] 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 900/959] 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 901/959] 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 902/959] 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 903/959] 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 904/959] 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 905/959] 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 906/959] 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 907/959] 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 908/959] 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 909/959] 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 910/959] 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 911/959] 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 912/959] 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 913/959] 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 914/959] 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 915/959] 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 916/959] 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 917/959] 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 918/959] 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 919/959] 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 920/959] 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 921/959] 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 922/959] 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 923/959] 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 924/959] 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 925/959] 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 926/959] 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 927/959] 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 928/959] 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 929/959] 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 930/959] 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 931/959] 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 932/959] 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 933/959] 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 934/959] 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 935/959] 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 936/959] 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 937/959] 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 938/959] 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 939/959] 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 940/959] 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 941/959] 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 942/959] 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 943/959] 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 944/959] 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 945/959] 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 946/959] 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 947/959] 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 948/959] 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 949/959] 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 950/959] 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 951/959] 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 952/959] 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 953/959] 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 954/959] 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 955/959] 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 956/959] 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 957/959] 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 958/959] 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 959/959] 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]