
Hello, Boost.Serialization 1.33-1.34 introduces the notion or "helpers" to the Archive interface by means of the member functions: void lookup_helper( const extended_type_info* const eti, shared_ptr<void>& sph); void insert_helper( const extended_type_info* const eti, shared_ptr<void>& sph); which allow the user to make an archive instance store arbitrary helper objects associated to any given type. This helper interface is used to implement serialization of boost::shared_ptr in a non-intrusive way, which was impossible for former versions of Boost.Serialization. This is a wonderful addition to the library because not only solves the old problem with serializating shared_ptr but also serves as a general utility for implementing complicated serialization schemes, notably those in which internal resources are serialized which cannot be directly manipulated from the class public interface. I have used archive helpers to good effect in implementing an otherwise unfeasible serialization algorithm for a library I'm writing, but when I moved from Boost 1.34 to the SVN trunk I discovered to my dismay that this (admittedly undocumented) feature has been removed in favor of an ad-hoc extension of the Archive interface (internally based on something resembling the former helper code) to specifically allow serialization of boost::shared_ptr. IMHO this is a step back because it singles out shared_ptr as a type receiving special attention (vg. what will happen with std::tr1::shared_ptr, will the interface be augmented again to cope with this?) and primarily because it deprives us developers from a very very powerful tool. Could the helper interface please please be brought back to Boost.Serialization? Thank you, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo