
Your idea of what an XML archive should look like is quite different than the one I implemented. So I don't think you would want to derive from xml_[i/o]archive. Take basic_xml_oarchive<Archive> as a starting point and make your own version. Note that my version was very much focused on permitting xml archives of arbitrary size without having to load the whole xml tree. I would hope that its possible to implement your own with the facilities that the library includes for creating archives. Of course no one can know until you try. Robert Ramey Jabe wrote:
maybe a first question: why don't i get a classname for each serialized object in common_oarchive::save_override(const class_name_type & t, int)? sometimes i get a class_id, sometimes a class_reference_id and so on. classnames are offered rarely.
In general, archives include only that which is necessary for de-serialization. There is a type "class_name_optional" which is serialized with the class name for every type. The default implementation is to ignore it - and none of the included archives override the default. class_id etc are only applicable to classes - not primitives. They might not be available for all types - depending on the implementation level - I would have to investigate that. Robert Ramey