Related Work
EXternal Data Representation [XDR] uses generic visitation for encoding, decoding and freeing C objects. XDR is used primarily for Remote Procedure Calls. XDR visitors cannot be sub-classed directly and do not provide any mechanisms for XDR visitors to determine member names.
OpenC++ provides introspection using pre-compiler techniques. Iguana [IGUANA] seems to be based on pre-compiler techniques as well, but no public implementations are offered.