Portable reflection for C++ with the Mirror library

  • Matus Chochlik University of Zilina
Keywords: reflection, reflective programming, metaprogramming, design-pattern implementation


Reflection and reflective programming can be used for a wide range of tasks such as implementation
of serialization-like operations, remote procedure calls, scripting, automated GUIgeneration,
implementation of several software design patterns, etc. C++ as one of the most
prevalent programming languages however, for various reasons, lacks a standardized reflection
facility. In this paper we present Mirror - a portable library adding reflection to C++ with a
command-line utility automating its usage. This library supports functional style static compiletime
reflection and metaprogramming and also provides two different object-oriented run-time
polymorphic layers for dynamic reflection.

Author Biography

Matus Chochlik, University of Zilina
Department of Computer Science, Assistant professor