This 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.
https://github.com/apolukhin/magic_getTags | boost std reflection cpp14 cpp17 reflections reflection-library cpp cplusplus cplusplus-14 tuple tuples magic visual-studio gcc clang |
Implementation | C++ |
License | Public |
Platform |
This 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 tupleC++ 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 llvmFit 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-programmingHeader-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.
cplusplus cplusplus-17 c-plus-plus c-plus-plus-17 cpp cpp17 enum-to-string string-to-enum serialization reflection metaprogramming header-only single-file no-dependenciesHeader-only C++17 library provides nameof macros and functions to simply obtain the name of a variable, type, function, macro, and enum. Nameof returns std::string_view. If argument does not have name, returns empty string.
cplusplus cplusplus-17 c-plus-plus c-plus-plus-17 cpp cpp17 nameof nameof-operator enum-to-string serialization reflection metaprogramming header-only single-file no-dependenciesRESTinio is a header-only C++14 library that gives you an embedded HTTP/Websocket server. It is based on standalone version of ASIO and targeted primarily for asynchronous processing of HTTP-requests. Since v.0.4.1 Boost::ASIO (1.66 or higher) is also supported (see notes on building with Boost::ASIO). Server runs on the main thread, and respond to all requests with hello-world message. Of course you've got an access to the structure of a given HTTP request, so you can apply a complex logic for handling requests.
cpp cpp14 cplusplus http-server websockets tls-support asio library http https restV1 replaced Boost with C++11. V2 added Lua bindings. V3 refactored to remove some warts, ease future development, and re-add serialisation. API is evolving. Ponder is a C++ multi-purpose reflection library. It provides an abstraction for most of the high-level concepts of C++: classes, enumerations, functions, properties.
c-plus-plus reflection library lua-binding serialization introspection cpp cpp11 cpp14 cpp-library reflection-library serialization-librarysol is a C++ library binding to Lua. It currently supports all Lua versions 5.1+ (LuaJIT 2.x included). sol aims to be easy to use and easy to add to a project. The library is header-only for easy integration with projects. Find it here. A run-through kind of tutorial is here! The API documentation goes over most cases (particularly, the "api/usertype" and "api/table_proxy" and "api/function" sections) that should still get you off your feet and going, and there's an examples directory here as well.
sol lua-bindings lua-binding lua-scripting simple modern-cpp gcc clang visual-studio android ios ndk visual-cpp luajit cpp17rang 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-libraryWhen 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 msgpackLibrary interface to the C++ AST — parse source files, synthesize entities, get documentation comments and generate code. If you're writing a tool that needs access to the C++ AST (i.e. documentation generator, reflection library, …), your only option apart from writing your own parser is to use clang. It offers three interfaces for tools, but the only one that really works for standalone applications is libclang. However, libclang has various limitations and does not expose the entire AST.
cplusplus ast parser-library libclangNow 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 sqliteormdoctest 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-framework------------------------------------------ See Help\swigtutorial.html Upgrading from version 3 ------------------------------------------ See 3.x_to_4.x_upgrade.txt Windows users (Visual Studio 2008 and 2010) ----------------------------------------- Load RakNet_VS2008.sln and convert if necessary.After the project conversion, if you encounter error MSB4006,follow the steps below to fix it:1. Open project properties2. Click on "Common Properties"3. Click on "Framework and References"4. Look
RTTR is released under the terms of the MIT license, so it is free to use in your free or commercial projects. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
reflection introspection serialization properties c-plus-plus cplusplus-11 cmake libraryRefureku is a powerful C++17 RTTI free runtime reflection library based on Kodgen. It allows to retrieve information on namespaces, structs/classes, fields, methods, non-member variables, non-member functions, enums and enum values at runtime.
reflection reflection-library cpp-libraryCista++ is a simple, open source (MIT license) C++17 compatible way of (de-)serializing C++ data structures. Single header - no dependencies. No macros. No source code generation.
serialization benchmark reflection cpp high-performance zero-copy efficient deserialization cpp17📚 C++11/14/17 On the Fly
cpp11 cpp14 cpp17 modern-cpp cpp
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.