From 49927a60f70406dc36c1ae846cbac0ad4fbdb952 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 7 Nov 2017 14:51:27 +0800 Subject: [PATCH 001/157] 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 3ac57ae..4e31431 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 3635ef17062a198da8c71ccc3c9b8f526dec4c23 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 17 Nov 2017 13:52:47 +0800 Subject: [PATCH 002/157] Networking: Add libwebsockets --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e31431..0fa44e4 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 003/157] 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 0fa44e4..10fc3b7 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 004/157] Networking: Add libquic --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 10fc3b7..7a9ff83 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 005/157] Networking: Remove net_skeleton(fossa) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 7a9ff83..5558132 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 006/157] Miscellaneous: Remove SLDR --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5558132..5fa1582 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 007/157] Add Regular Expression section --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5fa1582..c9c5976 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 008/157] 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 c9c5976..fd8962c 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 009/157] Game Engine: Add KlayGE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd8962c..a8fdf9a 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 010/157] Adds Taywee/args to CLI libraries --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8fdf9a..dcf7c80 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 011/157] 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 dcf7c80..9907bb8 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 a0593e0..229c511 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 012/157] 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 9907bb8..cfa668c 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 013/157] Multimedia: Add MediaInfoLib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfa668c..f24dd82 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 014/157] 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 9907bb8..3c332f7 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 015/157] Clean --- todo.txt | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/todo.txt b/todo.txt index 229c511..c1eac16 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 016/157] Graphics: Add DirectXTK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24cd9d0..ffb6415 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 017/157] 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 ffb6415..325da53 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 018/157] 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 325da53..7ed4acf 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 019/157] Networking: Add nghttp2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ed4acf..f2a5ceb 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 020/157] Scripting: Add cppimport, CppSharp --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f2a5ceb..c8e6e85 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 021/157] 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 c8e6e85..aad8c18 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 022/157] Networking: Add uWebSockets --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index aad8c18..bfceb71 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 023/157] GUI: Add NanoGUI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bfceb71..5a2ae9a 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 024/157] 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 5a2ae9a..c52bd57 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 c1eac16..db431c9 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 025/157] Database: Add sqlite_orm --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c52bd57..27b85a4 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 026/157] Asynchronous Event Loop: Add Asio, CAF --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 27b85a4..360b557 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 027/157] GUI: Add Yue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 360b557..14f6fdb 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 028/157] Frameworks: Add GLib, tbox --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 14f6fdb..d505798 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 029/157] 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 d505798..c5d70eb 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 db431c9..c55ac40 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 030/157] Scripting: Add ctypes.sh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5d70eb..b870204 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 031/157] Graphics: Add herebedragons, Ion --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b870204..d2911e9 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 032/157] Static Code Analysis: Add cpp-dependencies --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2911e9..4dcc929 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 033/157] Scientific Computing: Add Torch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4dcc929..8402bc3 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 034/157] 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 8402bc3..7d79b2c 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 035/157] 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 8402bc3..b960924 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 036/157] 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 7d79b2c..7713274 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 037/157] Add C++ Now 2017 Presentation materials link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7713274..f38dcc7 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 038/157] Add Vireo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d79b2c..fee1805 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 039/157] 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 2146ffc..a7673be 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 040/157] added evpp library in networking --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7673be..3acee1f 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 041/157] updated description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3acee1f..9fcb9d3 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 042/157] Add Cutelyst Web Framewok --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7673be..3a0f609 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 043/157] Add AwesomePerfCpp under Other Awesome Lists --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3a0f609..a901c35 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 044/157] Add Containers::sparsepp, Logging::loguru, ML::xgboost --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index a901c35..1c520d9 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 045/157] Add Scripting::djinni --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1c520d9..307728e 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 046/157] tiny-AES-c --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 307728e..30446bb 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 047/157] fixes issue #397 (FunctionalPlus, frugally-deep) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 30446bb..9fdbb46 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 048/157] yomm11 -> yomm2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b4491ca..b4fb357 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 049/157] 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 b4fb357..ac1fd23 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 050/157] 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 ac1fd23..988e2b0 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 051/157] =?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 ac1fd23..64b00f0 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 052/157] Add TileDB website link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7de2e04..ab129ae 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 053/157] Update README.md Added digestpp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab129ae..ff4199c 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 054/157] Add Awesome lists badge. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab129ae..1a40f73 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 055/157] 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 168d722..46ea1f0 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 056/157] 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 46ea1f0..2a3123d 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 468c238..b86477d 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 057/157] 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 2a3123d..d685dd0 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 058/157] 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 2a3123d..a7d2047 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 059/157] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f14861a..27f602c 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 060/157] Add CLI::replxx library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27f602c..53dae74 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 061/157] 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 53dae74..ba78848 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 062/157] Update README.md Added Deleaker. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 53dae74..0c3365e 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 063/157] Add cquery C++ code completer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd70ebc..7f13dfa 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 064/157] Adding CLI11 to Command Line Parsers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f13dfa..b936a42 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 065/157] Updated readme: added Diligent Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b936a42..33446dc 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 066/157] 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 b936a42..9e184bb 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 067/157] 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 b936a42..f707dae 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 068/157] Add plf containers, classes, also ring_span --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3af57fa..4e77c89 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 069/157] Add GFX's Timsort --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 4e77c89..cf6a723 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 070/157] Corrected weblinks --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cf6a723..2773938 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 071/157] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2773938..5c635c3 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 072/157] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c635c3..6dd31d0 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 073/157] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6dd31d0..c26a7a3 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 074/157] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c26a7a3..c846fa9 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 075/157] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c846fa9..0ee1a0d 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 076/157] 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 0ee1a0d..4a40428 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 077/157] Add Intel PSTL --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a40428..ed2f622 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 078/157] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed2f622..ee74a2f 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 079/157] ML: Add VLFeat --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee74a2f..cc179ee 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 080/157] Networking: Add ENet(#351) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc179ee..cbc9d15 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 081/157] Graphics: Add libigl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cbc9d15..f97ca81 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 082/157] Graphics: Add NanoVG --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f97ca81..1f86cfa 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 083/157] Build Systems: Add clib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f86cfa..5f751e8 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 084/157] Build Systems: Add waf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f751e8..2815dc7 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 085/157] Graphics: Add bs::framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2815dc7..b458449 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 086/157] Add TinyEXIF to Image Processing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2815dc7..6ae636b 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 087/157] fix wrong bazel URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ae636b..304d07f 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 088/157] Game Engine: Add Banshee Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8f2757..7360df3 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 089/157] add cpp-taskflow to concurrency --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7360df3..ef297d3 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 090/157] Added reference to Flounder Game Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef297d3..5504381 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 091/157] Add StatsLib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5504381..8ddd168 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 092/157] add GTE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ddd168..df0a558 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 093/157] 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 df0a558..536ab59 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 094/157] add transwarp library under concurrency section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 536ab59..4c5a6f5 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 095/157] Add mini_al --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4c5a6f5..c6c642a 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 096/157] 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 c6c642a..c5da5b1 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 097/157] Networking: Add H2O --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5da5b1..11d7adb 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 098/157] Added Tulip Indicators --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11d7adb..04f0297 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 099/157] 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 04f0297..8475f9d 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 100/157] Database: Add nanodbc, ODB --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 04f0297..7272355 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 101/157] IPC: Add nng --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7272355..ffa2940 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 102/157] Added TinyExpr --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a838c65..0940aaf 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 103/157] Added Genann --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a838c65..e705486 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 104/157] 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 ee2ac4f..feb8ef5 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 105/157] Cryptography: Add sha1collisiondetection --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee2ac4f..d911561 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 106/157] Cryptography: Add Google Tink --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c172d72..a0b14d5 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 107/157] Added missing talks entry to TOC. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0b14d5..eba6e9d 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 108/157] Added CppCast to new Podcasts section. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index eba6e9d..7f7958f 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 109/157] 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 a0b14d5..3417059 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 110/157] Added SimpleSignal. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59d1b02..cef6794 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 111/157] 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 cef6794..34680c8 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 112/157] 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 34680c8..7d06a1e 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 c55ac40..1b96fa4 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 113/157] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d06a1e..43e85c1 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 114/157] Update termbox license Closes #548 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 43e85c1..a21c48d 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 115/157] Added PoDoFo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d..1ebf10f 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 116/157] Added Xpdf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d..1dbe23b 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 117/157] Added BioC++ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d..e87914b 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 118/157] Added Chaste --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d..174d64a 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 119/157] Added Try It Online --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a21c48d..90ac74f 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 120/157] Memory Allocation Section --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index fd16f1e..7fca72b 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 121/157] Articles: Add CppCon 2018, C++Now 2018 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7fca72b..6a6a6e3 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 122/157] XML: Add mxml --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a6a6e3..362d9e3 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 123/157] Scripting: Add LuaBridge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 362d9e3..592ad31 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 124/157] Compression: Add libarchive --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 592ad31..8fa07f5 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 125/157] 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 8fa07f5..741c78f 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 126/157] libhydrogen & YAS added subj --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 741c78f..82bb881 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 127/157] 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 82bb881..cdbce5a 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 128/157] added Pixel Game Engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cdbce5a..0eb1a2b 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 129/157] 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 0eb1a2b..efc3791 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 130/157] Add xtensor --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index efc3791..12a3919 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 131/157] Multimedia: Add TagLib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 12a3919..068de96 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 132/157] add xmake --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 068de96..79cf58b 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 133/157] 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 79cf58b..ef29b15 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 134/157] Scripting: Add sol2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef29b15..d3c8eea 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 135/157] Add OpenXRay engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef29b15..7637fcc 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 136/157] Graphics: Add TinySpline --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 207eff9..760f8f1 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 137/157] Multimedia: Add libav --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 207eff9..479e743 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 138/157] JSON: Update LIBUCL license info --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 207eff9..cdb7432 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 139/157] Serialization: Add upb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fd959b..fe69457 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 140/157] Networking: Add Wangle --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fd959b..e1c50f0 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 141/157] CLI: Add linenoise --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1de5d48..fe18031 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 142/157] CLI: Add linenoise-ng --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe18031..b063735 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 143/157] Networking: Add libmicrohttpd --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b063735..f918611 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 144/157] 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 f918611..0e4b132 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 145/157] IPC: Add Ice to close #390 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0e4b132..1cf1ca0 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 146/157] Networking: Add libpcap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0e4b132..03b0538 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 147/157] Scientific computing/AMGCL Closes #503 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 41ae8d9..0e4510a 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 148/157] 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 41ae8d9..d5b67f7 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 149/157] Concurrency: Add libdispatch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68438c9..9259117 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 150/157] Database: Add sqlpp11 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9259117..e2cc6c7 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 151/157] Update books.md --- books.md | 1 + 1 file changed, 1 insertion(+) diff --git a/books.md b/books.md index 8cf2bd1..0e37919 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 152/157] Graphics: Add assimp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2cc6c7..2233423 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 153/157] Serialization: Add Bond --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2233423..094cae2 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 154/157] IPC: Add rpclib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 094cae2..e64cd22 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 155/157] JSON: Add sajson --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 094cae2..ea15266 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 156/157] gettext: fix quotation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e2eb161..7f8ab61 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 157/157] Coding Style Tools: Add Artistic Style --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2eb161..9b620b2 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.