XML: C++ Introspection by Extensible Visitation
[Extended Abstract] DRAFT NOT FOR PUBLICATION
Many problems with object serialization, object conversion, debugging, and object inspectors can be solved using meta-object protocols (MOP). The C++ language lacks a formal MOP, although some are available as source pre-processors, debugger information, or as a compiler extension. A full MOP is not necessary for many classes of problems where basic introspection is useful. This paper describes a portable and lightweight technique: extensible visitation of objects as an introspection primitive.

Introduction
Access to meta-type information about an application framework's classes is valuable. Some approaches use aspect-oriented techniques [OPENCXX], pre-compilation [OPENC++, IGUANA], debugger information [???] and compiler extension [GCC]. Extensible visitation, based on the Visitor design pattern [GAMMA95] is a lightweight and portable mechanism, similar to XDR [XDR] for interfacing different introspections with little impact to an existing C++ framework.