A list of paid, free or open source C++ (C plus plus) reflection libraries, plugins and tools including reflection frameworks, enums to and from string, iteration, callback and script binding and more. Sourced under a creative commons. This list will be updated regularly. Email over the URL, if you wish to be included.
C++ reflection libraries, plugins and tools
- config-loader – A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
- Better Enums – Reflective enums (to string, iteration). Single header. [BSD] website
- clReflect – C++ Reflection using clang. [MIT]
- CPFG – A C++03 library for reflection, callback and script binding. [Apache2]
- CPP-Reflection – C++ Reflection using clang. [MIT]
- Easy Reflection – Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache]
- Magic Enum – Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT]
- magic_get – std::tuple like methods for user defined types without any macro or boilerplate code. [Boost]
- meta – Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT]
- Nameof – Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT]
- Ponder – A C++11 library for reflection. [MIT]
- RTTR – A C++11 library for reflection. [MIT] website
- TSMP – An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT]
- visit_struct – A miniature library for struct-field reflection in C++. [Boost]
- Refureku – A C++17 runtime reflection and code generation library. [MIT]
Tags: c++, open source, c plus plus, c++ tools, c++ plugins, c++ libraries, c plus plus tools, c plus plus plugins, c plus plus libraries, reflection frameworks, enums, to string, from string, iteration, callback, script binding
Image: Unsplash License.
Portions of this text under: MIT license