Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2006-01-30 04:58:06

Stefan Roiser <stefan.roiser_at_[hidden]> writes:

> Hi,
> We would like to propose a library and tools which enhance C++ with
> reflection capabilities. The package, "Reflex", provides a library
> for runtime introspection and interaction with C++ "constructs" such
> as objects, types, scopes, members, templated types, ... The library
> has no external dependencies and was developed with the ISO/IEC
> standard for C++ as guideline.
> Production of dictionary information of arbitrary C++ definitions is
> done via a Python script (genreflex), in a non-intrusive way, using
> an external tool (gccxml - The generated dictionary
> source code can be compiled into a shared library, dynamically loaded
> and accessed via an API providing the introspection information.
> You can find more information at
> Below you may find an example code snippet which exposes a subset of
> the functionality. The four different parts show
> 1 - the definition of the example classes
> 2 - how to generate the dictionary information
> 3 - example on introspection (re-generate classes from the dictionary
> information)
> 4 - examples on interaction (get/set data members, invoke functions,
> con/destruct objects)

How does this work relate or compare to

The latter already has some traction in the Boost community because of
its use in

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at