
On Mon, 19 Apr 2004 00:43:51 +0000 (UTC), Matthew Vogt wrote
Jeff Garland <jeff <at> crystalclearsoftware.com> writes:
Yes, the documentation here won't need to be extensive. Just describe the initialisation phase of an archive (writing the preamble), and describe the difference between overriding the 'save', 'save_override' and 'operator<<' options. Possibly, the 'version_type', 'tracking_type' etc. elements should be described in more detail.
Would there be any reason for an archive to modify the object registration process?
Yes, for 'random access' archives (think relational database buffer here) it's possible the archive process will need additional meta-data not provided in the base library setup (think mapping of classes to tables and attributes to columns). And yes, I've implemented this one before as well -- it's a very handy bit of infrastructure. I think in the past Robert has considered this "out of scope", but in fact I believe given the current library it could now be done by writing and archive and perhaps some enhancements to the registration. BTW, I think the references should include a reference to this paper which discusses many of these variations and design issues. http://www.ubilab.org/publications/print_versions/pdf/plop-96-serializer.pdf Of course, the modern C++ approach of this library wisely eschews inheritence in favor of templates, but the concepts are still the same. Jeff