The Linderdaum core (iObject, iStaticClass, and clLinker objects) provides custom RTTI for C ++.
The idea of โโserialization is simple there: we use an automated source code post-processor (LSDC) to generate all the save / load and register code for all metaclasses and properties. Any object can be serialized to and from an abstract tree-like markup language script. XML and custom JSON-like (we call it XLML) is supported by the script.
Implementation details are described in this answer: fooobar.com/questions/197147 / ...
- Any class derived from iObject is supported.
- Object hierarchies are supported.
- "Trees" of objects are supported.
- std :: vector -like containers (support for push_back / size semantics) are supported
- Well, the properties are explicitly defined, and the "pointer fix" can be done in the iObject :: EndLoad () user method (overridden in user classes).
source share