13–17 Feb 2006
Tata Institute of Fundamental Research
Europe/Zurich timezone

C++ introspection with JIL

14 Feb 2006, 14:20
20m
AG 69 (Tata Institute of Fundamental Research)

AG 69

Tata Institute of Fundamental Research

Homi Bhabha Road Mumbai 400005 India
oral presentation Software Components and Libraries Software Components and Libraries

Speaker

Dr David Lawrence (Jefferson Lab)

Description

The JLab Introspection Library (JIL) provides a level of introspection for C++ enabling object persistence with minimal user effort. Type information is extracted from an executable that has been compiled with debugging symbols. The compiler itself acts as a validator of the class definitions while enabling us to avoid implementing an alternate C++ preprocessor to generate dictionary information. The dictionary information is extracted from the executable and stored in an XML format. C++ serializer methods are then generated from the XML. The advantage of this method is that it allows object persistence to be incorporated into existing projects with minimal or, in some cases, no modification of the existing class definitions (e.g. storing only public data members). While motivated by a need to store high volume event-based data, configurable features allow for easy customization making it a powerful tool for a wide variety of projects.

Primary author

Dr David Lawrence (Jefferson Lab)

Co-author

Dr Elliott Wolin (Jefferson Lab)

Presentation materials