boost::serialization object-tracking und Versionsmanagement für einzelne Archive abschalten
-
Hallo,
ist es möglich Object-tracking und Versions-Management vereinzelt in einem
boost::serialization Archiv abzuschalten? Genau genommen möchte ich einen Vector von Objekten als Text serialisieren, allerdings ohne Versionsnummern, etc.Natürlich könnte man es so machen:
// elminate serialization overhead at the cost of // never being able to increase the version. BOOST_CLASS_IMPLEMENTATION(std::vector<foo>, boost::serialization::object_serializable); // eliminate object tracking (even if serialized through a pointer) // at the risk of a programming error creating duplicate objects. BOOST_CLASS_TRACKING(std::vector<foo>, boost::serialization::track_never)
...aber das kommt mir dann doch etwas rabiat vor
Ich hatte die Hoffnung, da was mit den Archiv flags machen zu können, aber es scheint, als würde mir das nicht helfen.
enum archive_flags { no_header = 1, // suppress archive header info no_codecvt = 2, // suppress alteration of codecvt facet no_xml_tag_checking = 4 // suppress checking of xml tags - igored on saving };
Fällt noch jemandem etwas ein? ...Also mal abgesehen davon einen neuen Archivtyp zu schreiben...