13-17 February 2006
Tata Institute of Fundamental Research
Europe/Zurich timezone
- chep06@tifr.res.in
Support
Reflex, reflection for C++
Presented by Dr. Stefan ROISER
on
14 Feb 2006
from
14:00
to
14:20
Type: oral presentation
Session:
Software Components and Libraries
Track: Software Components and Libraries
Description
Reflection is the ability of a programming language to introspect and interact with
it's own data structures at runtime without prior knowledge about them. Many recent
languages (e.g. Java, Python) provide this ability inherently but it is lacking for
C++. This paper will describe a software package, Reflex, which provides reflection
capabilities for C++. Reflex was developed in the context of the LCG Applications
Area at CERN. The package tries to comply fully to the ISO/IEC standard for C++ which
was taken as the main design guideline. In addition it is light, standalone and non
intrusive towards the user code. This paper will focus on the user API of the package
and its underlying design issues, the way to generate reflection information from
arbitrary C++ definitions and recent additions. Reflex has been adapted by several
projects at CERN e.g. POOL, RAL, COOL. Recently Reflex started to be integrated with
the ROOT data analysis framework where it will strongly collaborate with the CINT
interpreter. An overview of the plans and developments in this area will be
discussed. An outlook to possible further modifications e.g. IO/Persistency, Python
bindings, plugin management will be given.
Place
Location: Tata Institute of Fundamental Research
Address: Homi Bhabha Road
Mumbai 400005
India
Room: AG 69
Event calendar file