|
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 - www.gccxml.org). 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
>
> http://cern.ch/reflex
>
> 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
http://www.language-binding.net/pygccxml/pygccxml.html?
The latter already has some traction in the Boost community because of
its use in http://www.language-binding.net/pyplusplus/pyplusplus.html
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk