metapp
reflecxx
metapp | reflecxx | |
---|---|---|
6 | 5 | |
77 | 55 | |
- | - | |
4.7 | 10.0 | |
5 months ago | about 2 years ago | |
C++ | Python | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
metapp
-
I implement a fast, macro-based namedtuple works under C++11
https://github.com/wqking/metapp Need to register your struct to a wrapper manually.
-
JSON for Modern C++ 3.11.0
My recent working on libraries are focusing on solving the problems you have. metapp is a runtime reflection library, jsonpp is a simple JSON library basing on metapp. More important, the meta data built in metapp is reusable for different purpose, such as serialization, scripting, etc.
-
jsonpp -- easy to use and reusable C++ JSON library
Reusable technology. The core technology is from C++ reflection library metapp developed by the same developer (wqking) of jsonpp. The technology is not unique to jsonpp, it's reusable for other purposes such as runtime reflection system, serialization, script binding, etc.
-
metapp - C++ open source library for runtime reflection and variant
You may read Core concepts and mechanism for some basic concepts. If you wonder how it parses the mystery type char const *(*(* volatile * (&)[][8])())[], or even 10 times more complicated type, it's not magic, it uses recursive template specialization.
reflecxx
- I implement a fast, macro-based namedtuple works under C++11
- reflecxx: A static reflection library framework and tooling. Auto serialization and more.
-
Unable to use asio.hpp when using conan
I haven't used the cmake_find_package generator much myself. People like it because it lets you write your cmake in a mostly conan agnostic way. If you don't care about that, I find the plain cmake generator much easier to use. You can inspect the generated conanbuildinfo.cmake file to see the targets, and call conan_basic_setup(TARGETS ). Then you link against targets that look like CONAN_PKG::boost or similar. I usually wrap conan setup in a cmake utility file like this: https://github.com/jimmyorourke/reflecxx/blob/main/test/cmake/ConanSetup.cmake
-
Is there any good binary serializer & deserializer for C / C++?
I have a library and tooling that using code generation will allow you to automatically generate serialization/deserialization to your custom binary format. It uses the visitor pattern and code generation for static reflection (eg iterating over fields of a struct). Check it out at https://github.com/jimmyorourke/reflecxx. Particularly it includes an automatic to/from json, which you could use as a starting point for how to write your own visitor.
-
figcone - Read JSON, YAML, TOML, XML or INI configuration by declaring a struct
You might be interested in a project I've put together that uses libclang to generate static reflection metadata that can then be used for generic parsing or serialization: https://github.com/jimmyorourke/reflecxx. It has examples of automatic to/from json.
What are some alternatives?
metacpp - Meta C++ Library and Tool
hvpp - hvpp is a lightweight Intel x64/VT-x hypervisor written in C++ focused primarily on virtualization of already running operating system
miroir - C++20 compile-time reflection library.
morphologica - A library of supporting code for numerical modelling (JSON config, HDF5 data, Modern OpenGL visualization)
namedtuple - Implementation of super-fast C++-styled namedtuple, for compile-time reflection.
eventpp - Event Dispatcher and callback list for C++
TextLayoutSampler - Utility to display text via multiple Windows API's simultaneously (D2D, DWrite, GDI, GDI+).
json - JSON for Modern C++
Protobuf - Protocol Buffers - Google's data interchange format
Bitsery - Your binary serialization library