When 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 msgpackThis 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 tupleThis 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 clangFit 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-programmingHigherOrderFunctions 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-programmingC++ Insights is a clang-based tool which does a source to source transformation. Its goal is it to make things visible which normally, and intentionally, happen behind the scenes. It's about the magic the compiler does for us to make things work. You can see all the compiler provided functions. Also the downcast from Derived to Base.
clang cpp cpp11 cpp14 cpp17 cpp20 ast cplusplus cplusplus-11 cplusplus-14 cplusplus-17 cplusplus-20 llvmNow we tell sqlite_orm library about schema and provide database filename. We create storage service object that has CRUD interface. Also we create every table and every column. All code is intuitive and minimalistic. Too easy isn't it? You do not have to specify mapped type explicitly - it is deduced from your member pointers you pass during making a column (for example: &User::id). To create a column you have to pass two arguments at least: its name in the table and your mapped class member pointer. You can also add extra arguments to tell your storage about column's constraints like not_null (deduced from type), primary_key, autoincrement, default_value or unique(order isn't important).
sqlite-orm crud orm cplusplus cplusplus-14 sqlite cpp modern-cpp sql sqliteormSimple and typesafe commandline parsing for C++14.
cplusplus cplusplus-14 cplusplus-11 cpp cpp11 cpp14 argument-parser command-line-parserThis project is currently a proof of concept. New features and performance improvements are to be expected in the near future. The Boson Framework only supports Linux on x86-64 platforms for now, but Windows and Mac OS are in the roadmap.
boson-framework routines coroutines cplusplus cplusplus-14 fibers io async-programming asynchronous-tasks asynchronous-jobsHeader only C++ wrapper for SDL2. The library leverages RAII and error handling with exceptions.
sdl cplusplus-14 sdl2 wrapper header-only cplusplus-11 cplusplus cpp cpp11 cpp14 gamedev gamedev-library c-plus-plus c-plus-plus-11 c-plus-plus-14 c-plus-plus-17 c-plus-plus11Compile-time string obfuscation (C++14)
obfuscation obfuscator metaprogramming string-obfuscation cplusplus-14Above code fails to compile because compiler confuses the declaration of objectB. A C++ compiler will not consider it as defining a variable named objectB of type ExampleClass calling a constructor that takes the object constructed by calling the ExampleClass constructor. Instead compiler will this think this line as a function named objectB which returns ExampleClass object and takes an unnamed function pointer that returns a ExampleClass object and does not take any parameters. Clang compiler lets you know of potential disambiguation. To fix this, C++11 has provided Uniform Initialization. The code with uniform initialization will look like this.
cpp17 cpp14 cpp11 cpp cplusplus cplusplus-11 cplusplus-14 cplusplus-17 modern-cppBreep is a c++ bridged peer to peer library. What does that mean? It means that even though the network is constructed as a peer to peer one, there may be no direct connections between two dudes, say A and B, if these connections are impossible (due to poorly configured ports, for example). In that case, Breep will attempt to use another peer C as a bridge between A and B. Breep is also a high-level library. You don't have to care on when peers connect, disconnect, send data, and on how to send your classes. You simply register listeners that get notified when peers come and go, when they send you stuff. You may even use serialization and send your own object directly through the network. Same goes for your listeners: you don't say 'I want to listen for piles of bytes', but instead you say 'I want to listen for fancy::MyClass'. The BREEP_DECLARE_TYPE involved here is used to tell to breep::network that we will listen/send some std::strings. If you forget to do it, you will get a compile-time error.
cplusplus-14 peer-to-peer high-level library networking network-library cplusplus p2pA future and stream library for modern C++, inspired by futures-rs. futures_cpp use C++11 move semantic extensively, inspired by the Rust programming.
cplusplus-14 event-driven futures frameworkFFTW bindings for the xtensor C++ multi-dimensional array library. xtensor-fftw enables easy access to Fast Fourier Transforms (FFTs) from the FFTW library for use on xarray numerical arrays from the xtensor library.
library cpp numpy template-metaprogramming cplusplus-14 fft fftw fftw3-binding xtensorThis repository contains build scripts and test files for the openxr*.hpp headers, providing a C++-friendly projection of the OpenXR API. The authoritative public repository is located at https://github.com/KhronosGroup/OpenXR-HPP/. It hosts the public Issue tracker, and accepts patches (Pull Requests) from the general public.
vr virtual-reality cplusplus-14 openxr
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.