You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-7Lines changed: 27 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
9
9
- [Audio](#audio)
10
10
- [Biology](#biology)
11
11
- [BitTorrent](#bittorrent)
12
+
- [Chemistry](#chemistry)
12
13
- [CLI](#cli)
13
14
- [Compression](#compression)
14
15
- [Concurrency](#concurrency)
@@ -143,6 +144,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
143
144
144
145
*[FMOD](http://www.fmod.org/) - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
145
146
*[KFR](https://www.kfrlib.com/) - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial]
147
+
*[LAME](https://lame.sourceforge.io/using.php) - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
146
148
*[libsndfile](https://github.com/erikd/libsndfile/) - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1][website](http://www.mega-nerd.com/libsndfile/)
147
149
*[libsoundio](https://github.com/andrewrk/libsoundio) - C library for cross-platform real-time audio input and output. [MIT][website](http://libsound.io/)
148
150
*[Maximilian](https://github.com/micknoise/Maximilian) - C++ Audio and Music DSP Library. [MIT]
@@ -176,6 +178,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
*[libutp](https://github.com/bittorrent/libutp) - uTorrent Transport Protocol library. [MIT]
178
180
181
+
## Chemistry
182
+
*Chemistry, Geochemistry, Biochemistry*
183
+
184
+
*[d-SEAMS](https://github.com/d-SEAMS/seams-core) - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL][website](https://dseams.info)
185
+
*[gromacs](https://github.com/gromacs/gromacs) - A message-passing parallel molecular dynamics implementation. [GPL][website](http://gromacs.org)
186
+
*[Reaktoro](https://github.com/reaktoro/reaktoro) - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL][website](https://reaktoro.org)
187
+
*[LAMMPS](https://github.com/lammps/lammps) - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL][website](https://lammps.sandia.gov/)
188
+
179
189
## CLI
180
190
*Console/Terminal User Interface, Command Line Interface*
181
191
@@ -188,12 +198,14 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
188
198
*[jarro2783/cxxopts](https://github.com/jarro2783/cxxopts) - Lightweight C++ command line option parser. [MIT]
189
199
*[docopt.cpp](https://github.com/docopt/docopt.cpp) - A library to generate option parser from docstring. [MIT/Boost]
190
200
*[gflags](https://gflags.github.io/gflags/) - Commandline flags module for C++. [BSD]
201
+
*[indicators](https://github.com/p-ranav/indicators/) - Activity indicators for Modern C++. [MIT]
191
202
*[linenoise](https://github.com/antirez/linenoise) - A small self-contained alternative to readline and libedit. [BSD-2-Clause]
192
203
*[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]
193
204
*[Lyra](https://github.com/bfgroup/Lyra) - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost]
194
205
*[Ncurses](http://invisible-island.net/ncurses/) - A terminal user interface. [MIT]
195
206
*[PDCurses](https://github.com/wmcbrine/PDCurses) - Public domain curses library with both source code and pre-compiled library available. [PublicDomain]
196
207
*[replxx](https://github.com/AmokHuginnsson/replxx) - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD]
208
+
*[tabulate](https://github.com/p-ranav/tabulate) - Table Maker for Modern C++ [MIT]
197
209
*[TCLAP](http://tclap.sourceforge.net) - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]
198
210
*[termbox](https://github.com/nsf/termbox) - A C library for writing text-based user interfaces. [MIT]
199
211
@@ -236,10 +248,12 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
236
248
*[cupla](https://github.com/ComputationalRadiationPhysics/cupla) - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]
237
249
*[C++React](https://github.com/schlangster/cpp.react) - A reactive programming library for C++11. [Boost]
238
250
*[FiberTaskingLib](https://github.com/RichieSams/FiberTaskingLib) - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]
251
+
*[HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
239
252
*[Intel Games Task Scheduler](https://github.com/GameTechDev/GTS-GamesTaskScheduler) - A task scheduling framework designed for the needs of game developers. [MIT]
240
253
*[Intel Parallel STL](https://github.com/intel/parallelstl) - Intel® implementation of C++17 STL for C++11 and above. [Apache2]
241
254
*[Intel TBB](https://www.threadingbuildingblocks.org/) - Intel® Threading Building Blocks. [Apache2]
242
255
*[junction](https://github.com/preshing/junction) - A library of concurrent data structures in C++. [BSD]
256
+
*[Kokkos](https://github.com/kokkos/kokkos) - A performance portable programming model for parallel execution and memory abstraction. [BSD]
243
257
*[libcds](https://github.com/khizmax/libcds) - A C++ library of Concurrent Data Structures. [BSD]
244
258
*[Libclsph](https://github.com/libclsph/libclsph) - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
245
259
*[libdill](https://github.com/sustrik/libdill/) - Introduces structured concurrency in C. [MIT]
@@ -249,14 +263,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
249
263
*[NCCL](https://github.com/NVIDIA/nccl) - Optimized primitives for collective multi-GPU communication. [BSD]
250
264
*[OpenCL](https://www.khronos.org/opencl/) - The open standard for parallel programming of heterogeneous systems.
251
265
*[OpenMP](http://openmp.org/) - The OpenMP API.
252
-
*[SObjectizer](https://github.com/Stiffstream/sobjectizer) - A tool for simplification of the development of complex multi-threaded applications in C++ by using Actor-, Publish-Subscribe and CSP models. [BSD-3-Clause]
266
+
*[SObjectizer](https://github.com/Stiffstream/sobjectizer) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]
267
+
*[Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html).
253
268
*[RaftLib](http://raftlib.io/) - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2]
254
269
*[readerwriterqueue](https://github.com/cameron314/readerwriterqueue) - A fast single-producer, single-consumer lock-free queue for C++. [BSD]
255
270
*[Thrust](http://thrust.github.io/) - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]
256
271
*[transwarp](https://github.com/bloomen/transwarp) - A header-only C++ library for task concurrency. [MIT]
257
-
*[HPX](https://github.com/STEllAR-GROUP/hpx/) - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
258
272
*[VexCL](https://github.com/ddemidov/vexcl) - A C++ vector expression template library for OpenCL/CUDA. [MIT]
259
-
*[Quantum](https://github.com/bloomberg/quantum) - A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html).
260
273
261
274
## Configuration
262
275
*Configuration files, INI files*
@@ -267,6 +280,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
267
280
*[libconfig](https://github.com/hyperrealm/libconfig) - C, C++ library for processing structured configuration files. [LGPL-2.1][website](https://hyperrealm.github.io/libconfig/)
268
281
*[libconfuse](https://github.com/martinh/libconfuse) - Small configuration file parser library for C. [ISC]
269
282
*[simpleini](https://github.com/brofield/simpleini) - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]
283
+
*[toml++](https://github.com/marzer/tomlplusplus) - Header-only TOML parser and serializer for C++17 and later. [MIT][website](https://marzer.github.io/tomlplusplus/)
270
284
271
285
## Containers
272
286
@@ -390,14 +404,13 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
390
404
*[Acid](https://github.com/Equilibrium-Games/Acid) - A high speed C++17 Vulkan game engine. [MIT]
391
405
*[Allegro](http://liballeg.org/) - A cross-platform library mainly aimed for video games and multimedia programming. [zlib]
392
406
*[Atomic Game Engine](https://github.com/AtomicGameEngine/AtomicGameEngine) - A multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript. [Commercial]
393
-
*[Banshee 3D](https://github.com/BearishSun/BansheeEngine) - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting. [LGPL3/Commercial]
394
407
*[Cocos2d-x](http://www.cocos2d-x.org/) - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT]
395
408
*[Corange](https://github.com/orangeduck/Corange) - A game engine written in pure C, SDL and OpenGL. [BSD]
396
409
*[delta3d](http://sourceforge.net/projects/delta3d/) - A robust simulation platform. [LGPL2]
397
410
*[EnTT](https://github.com/skypjack/entt) - Gaming meets modern C++. [MIT]
398
411
*[GamePlay](https://github.com/gameplay3d/GamePlay) - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2]
399
412
*[Godot](https://github.com/godotengine/godot) - A fully featured, open source, MIT licensed, game engine. [MIT]
400
-
*[Grit](http://www.gritengine.com/) - Community project to build a free game engine for implementing open world 3D games. [MIT]
413
+
*[Grit](https://github.com/grit-engine/grit-engine) - Community project to build a free game engine for implementing open world 3D games. [MIT]
401
414
*[Halley](https://github.com/amzeratul/halley) - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0]
402
415
*[KlayGE](https://github.com/gongminmin/KlayGE) - a cross-platform open source game engine with plugin-based architecture. [GPLv2][website](http://www.klayge.org/)
403
416
*[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]
@@ -423,7 +436,6 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
423
436
*[gtkmm](http://www.gtkmm.org/en/) - The official C++ interface for the popular GUI library GTK+. [LGPL]
424
437
*[imgui](https://github.com/ocornut/imgui) - Immediate Mode Graphical User Interface with minimal dependencies. [MIT]
425
438
*[iup](https://www.tecgraf.puc-rio.br/iup) - Multi-platform toolkit for building graphical user interfaces. [MIT]
426
-
*[libRocket](http://librocket.com/) - libRocket is a C++ HTML/CSS game interface middleware. [MIT]
427
439
*[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]
428
440
*[MyGUI](http://mygui.info/) - Fast, flexible and simple GUI. [MIT]
429
441
*[nana](http://nanapro.org/en-us/) - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
@@ -432,6 +444,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
432
444
*[QCustomPlot](http://qcustomplot.com/) - Qt plotting widget without further dependencies. [GPLv3]
433
445
*[Qwt](http://qwt.sourceforge.net/) - Qt Widgets for Technical Applications. [Own based on LGPL]
434
446
*[QwtPlot3D](http://qwtplot3d.sourceforge.net/) - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
447
+
*[RmlUi](https://github.com/mikke89/RmlUi) - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT]
435
448
*[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]
436
449
*[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]
437
450
*[Yue](https://github.com/yue/yue) - A library for creating native cross-platform GUI apps. [LGPLv2]
@@ -562,6 +575,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
562
575
*[spdlog](https://github.com/gabime/spdlog) - Super fast, header only, C++ logging library.
563
576
*[templog](http://www.templog.org/) - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
564
577
*[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]
@@ -587,6 +601,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
587
601
588
602
*[Apophenia](https://github.com/b-k/apophenia) - A C library for statistical and scientific computing [GPL2]
589
603
*[Armadillo](https://gitlab.com/conradsnicta/armadillo-code) - Fast C++ library for linear algebra & scientific computing. [Apache2][website](http://arma.sourceforge.net/)
604
+
*[autodiff](https://github.com/autodiff/autodiff) - A modern, fast and expressive C++ library for automatic differentiation. [MIT][website](https://autodiff.github.io)
590
605
*[blaze](https://bitbucket.org/blaze-lib/blaze) - high-performance C++ math library for dense and sparse arithmetic. [BSD]
591
606
*[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]
592
607
*[ceres-solver](http://ceres-solver.org/) - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
@@ -599,6 +614,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
599
614
*[GLM](https://github.com/g-truc/glm) - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT][website](https://glm.g-truc.net/)
600
615
*[GMTL](http://ggt.sourceforge.net/) - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
601
616
*[GMP](https://gmplib.org/) - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
617
+
*[Klein](https://github.com/jeremyong/klein) - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT][website](https://jeremyong.com/klein)
602
618
*[linalg.h](https://github.com/sgorsten/linalg) - Single header, public domain, short vector math library for C++. [Unlicense]
603
619
*[MIRACL](https://github.com/CertiVox/MIRACL) - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
604
620
*[muparser](http://beltoforion.de/article.php?a=muparser) - muParser is an extensible high performance math expression parser library written in C++. [MIT]
@@ -717,8 +733,9 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
717
733
*[ofxBox2d](https://github.com/vanderlin/ofxBox2d) - openFrameworks wrapper for Box2D. [BSD-like]
718
734
*[PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
719
735
*[Project Chrono](https://github.com/projectchrono/chrono) - An open source multi-physics simulation engine. [BSD-3-Clause][website](https://projectchrono.org/)
720
-
*[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]
721
736
*[Quantum++](https://github.com/vsoftco/qpp) - A modern C++11 quantum computing library. [MIT]
737
+
*[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]
738
+
*[SOFA](https://github.com/sofa-framework/sofa) - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL][website](https://www.sofa-framework.org)
722
739
723
740
## Reflection
724
741
@@ -904,6 +921,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
904
921
*[VarTypes](https://code.google.com/p/vartypes/) - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
905
922
*[ZBar](http://zbar.sourceforge.net/) - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2]
906
923
*[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]
924
+
*[pprint](https://github.com/p-ranav/pprint) - Pretty Printer for Modern C++. [MIT]
907
925
908
926
# Software
909
927
*Software for creating a development environment.*
@@ -964,6 +982,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
964
982
*[juCi++](https://gitlab.com/cppit/jucipp) - Cross-platform, lightweight C++ IDE with libclang integration. [MIT]
965
983
*[KDevelop](https://www.kdevelop.org/) - A free, open source IDE.
966
984
*[Microsoft Visual Studio](https://www.visualstudio.com/) - An IDE from Microsoft.
985
+
*[Microsoft Visual Studio Code](https://code.visualstudio.com/):zap: - An open-source IDE from Microsoft. [MIT]
967
986
*[NetBeans](https://netbeans.org/) - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5.
968
987
*[Qt Creator](http://www.qt.io/developers/):zap: - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
969
988
*[rtags](https://github.com/Andersbakken/rtags) - A c/c++ client/server indexer with for integration with emacs based on clang.
@@ -1074,6 +1093,7 @@ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny
1074
1093
*[CppCon Talks](https://www.youtube.com/user/CppCon/videos):zap: - The C++ conference.
1075
1094
*[Quick game development with C++11/C++14](https://github.com/SuperV1234/cppcon2014) - CppCon 2014 talk by Vittorio Romeo.
1076
1095
*[Presentation on Hana for C++Now 2015](https://github.com/ldionne/hana-cppnow-2015)
1096
+
*[Meeting Cpp](https://www.youtube.com/user/MeetingCPP/videos) - Meeting C++ Youtube Channel
0 commit comments