Many of these descriptions and examples come from various resources (see Acknowledgements section), summarized in my own words. Also, there are now dedicated readme pages for each major C++ version.
cpp cpp11 cpp14 cpp17doctest is a new C++ testing framework but is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other feature-rich alternatives. It brings the ability of compiled languages such as D / Rust / Nim to have tests written directly in the production code by providing a fast, transparent and flexible test runner with a clean interface. The framework is and will stay free but needs your support to sustain its development. There are lots of new features and maintenance to do. If you work for a company using doctest or have the means to do so, please consider financial support. Monthly donations via Patreon and one-offs via PayPal.
c-plus-plus doctest tdd testing unit-testing header-only cplusplus cpp cpp11 cpp14 cpp17 single-file test-frameworkYou can browse the documentation online at http://boostorg.github.io/hana. The documentation covers everything you should need including installing the library, a tutorial explaining what Hana is and how to use it, and an extensive reference section with examples. The remainder of this README is mostly for people that wish to work on the library itself, not for its users. After issuing this, doc/html will contain exactly the same static website that is available online. Note that doc/html is automatically ignored by Git so updating the documentation won't pollute your index.
hana boost cpp metaprogramming cpp14 cpp11 header-onlyimmer is a library of persistent and immutable data structures written in C++. These enable whole new kinds of architectures for interactive and concurrent programs of striking simplicity, correctness, and performance. In the last few years, there has been a growing interest in immutable data structures, motivated by the horizontal scaling of our processing power and the ubiquity of highly interactive systems. Languages like Clojure and Scala provide them by default, and implementations for JavaScript like Mori and Immutable.js are widely used, specially in combination with modern UI frameworks like React.
immutable data-structures modern-cpp cpp14 rrb-tree persistent postmodernism value-semantics📚 C++11/14/17 On the Fly
cpp11 cpp14 cpp17 modern-cpp cppWhen srv.run() is called, rpclib starts the server loop which listens to incoming connections and tries to dispatch calls to the bound functions. The functions are called from the thread where run was called from. There is also async_run that spawns worker threads and returns immediately. All planned 1.0.0 features are done and tested; the current state is production-ready.
rpc cpp14 cpp cplusplus cplusplus-14 msgpackAn easy to use header-only cross-platform C++11 memory mapping library with an MIT license. mio has been created with the goal to be easily includable (i.e. no dependencies) in any C++ project that needs memory mapped file IO without the need to pull in Boost.
cpp cpp11 cpp14 memory-mapped-file memory-mapping mmap fileviewer file-view header-only cross-platformhelps you write concise and readable C++ code. Great code should mostly be self-documenting, but while using C++ in reality you can find yourself dealing with low-level stuff like iterators or hand-written loops that distract from the actual essence of your code.
range composition stl functional-programming algorithms header-only c-plus-plus c-plus-plus-14 c-plus-plus-17 library cpp cpp14This project has moved to https://gitlab.com/cppit/jucipp. Current IDEs struggle with C++ support due to the complexity of the programming language. juCI++, however, is designed especially towards libclang with speed, stability, and ease of use in mind.
juci lldb libclang ide llvm cpp14 cpp17 cpp1zHigh performance routing engine written in C++14 designed to run on OpenStreetMap data. To quickly try OSRM use our demo server which comes with both the backend and a frontend on top.
osrm cpp14 cpp c-plus-plus routing routing-engine map-matching traveling-salesman openstreetmap osm isochronesThis is a C++14 library for very basic reflection that gives you access to structure elements by index and provides other std::tuple like methods for user defined types without any macro or boilerplate code. Boost.PFR is a part of the Boost C++ Libraries. However, Boost.PFR is a header only library that does not depend on Boost. You can just copy the content of the "include" folder from the github into your project, and the library will work fine.
visual-studio reflection magic cplusplus cpp boost tuples gcc cpp14 clang cpp17 cplusplus-14 std reflection-library reflections tuplerang only depends on C++ standard library, unistd.h system header on unix and windows.h & io.h system headers on windows based systems. In other words, you don't need any 3rd party dependencies. rang is a single header-only library. Put rang.hpp in the include folder directly into the project source tree or somewhere reachable from your project.
cli ansi rang cpp cpp11 console command-line color terminal cpp14 cpp17 cplusplus cpp-libraryThis C++14 library is meant for accessing structure elements by index and providing other std::tuple like methods for user defined types without any macro or boilerplate code. Distributed under the Boost Software License, Version 1.0.
boost std reflection cpp14 cpp17 reflections reflection-library cpp cplusplus cplusplus-14 tuple tuples magic visual-studio gcc clangRecent generations of CPUs, and GPUs in particular, require data-parallel codes for full efficiency. Data parallelism requires that the same sequence of operations is applied to different input data. CPUs and GPUs can thus reduce the necessary hardware for instruction decoding and scheduling in favor of more arithmetic and logic units, which execute the same instructions synchronously. On CPU architectures this is implemented via SIMD registers and instructions. A single SIMD register can store N values and a single SIMD instruction can execute N operations on those values. On GPU architectures N threads run in perfect sync, fed by a single instruction decoder/scheduler. Each thread has local memory and a given index to calculate the offsets in memory for loads and stores. Current C++ compilers can do automatic transformation of scalar codes to SIMD instructions (auto-vectorization). However, the compiler must reconstruct an intrinsic property of the algorithm that was lost when the developer wrote a purely scalar implementation in C++. Consequently, C++ compilers cannot vectorize any given code to its most efficient data-parallel variant. Especially larger data-parallel loops, spanning over multiple functions or even translation units, will often not be transformed into efficient SIMD code.
vectorization parallel simd-vector simd-instructions simd avx c-plus-plus avx512 sse neon cpp portable cpp11 cpp14 cpp17 avx2 simd-programming data-parallel parallel-computingFit is a header-only C++11/C++14 library that provides utilities for functions and function objects, which can solve many problems with much simpler constructs than whats traditionally been done with metaprogramming. This requires a C++11 compiler. There are no third-party dependencies. This has been tested on clang 3.5-3.8, gcc 4.6-6.2, and Visual Studio 2015. Gcc 5.1 is not supported at all, however, gcc 5.4 is supported.
modern constexpr cplusplus lambda functional c-plus-plus cplusplus-11 cplusplus-14 cpp cpp11 cpp14 functional-programmingDLL is a library that aims to provide a C++ implementation of Restricted Boltzmann Machine (RBM) and Deep Belief Network (DBN) and their convolution versions as well. It also has support for some more standard neural networks. Note: When you clone the library, you need to clone the sub modules as well, using the --recursive option.
c-plus-plus cpp cpp11 cpp14 performance machine-learning deep-learning artificial-neural-networks gpu rbm cpu convolutional-neural-networksAt this point, this library is experimental and it is a pure curiosity. No stability of interface or quality of implementation is guaranteed. Use at your own risks. Dyno solves the problem of runtime polymorphism better than vanilla C++ does. It provides a way to define interfaces that can be fulfilled non-intrusively, and it provides a fully customizable way of storing polymorphic objects and dispaching to virtual methods. It does not require inheritance, heap allocation or leaving the comfortable world of value semantics, and it can do so while outperforming vanilla C++.
cpp hana cpp14 cpp11 type-erasure polymorphism cpp17HigherOrderFunctions is a header-only C++11/C++14 library that provides utilities for functions and function objects, which can solve many problems with much simpler constructs than whats traditionally been done with metaprogramming. This requires a C++11 compiler. There are no third-party dependencies. This has been tested on clang 3.5-3.8, gcc 4.6-7, and Visual Studio 2015 and 2017.
modern constexpr cplusplus lambda functional c-plus-plus cplusplus-11 cplusplus-14 cpp cpp11 cpp14 functional-programmingConsider it a work in progress. The whole API is also fully documented in-code for those who are brave enough to read it. Currently, EnTT is tested on Linux, Microsoft Windows and OS X. It has proven to work also on both Android and iOS. Most likely it will not be problematic on other systems as well, but has not been sufficiently tested so far.
header-only modern-cpp cpp cpp14 entity-component entity-component-system game-development game-programming architectural-patterns game-engine gamedev gamedev-framework cpp17 minecraft indiegame indiedev indie-developer game-dev
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.