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