
Robert Ramey <ramey <at> rrsd.com> writes:
Fellow boosters,
I just uploaded version #18 of the proposed boost serialization library to the files section. It can also be downloaded at www.rrsd.com
It contains improvements in code/file/namespace organization, better documentation on how its implemented, and a number of arcane bug fixes.
I think I detected a minor bug in collections_load_imp.hpp. The operator() code for archive_input_seq reads: inline void operator()(Archive &ar, Container &s) { typedef BOOST_DEDUCED_TYPENAME Container::value_type type; stack_allocate<type> t; load_construct_data(ar, t.address(), 0U); ar >> make_nvp("item", t.reference()); s.push_back(t.reference()); t.address()->~type(); // undo load_construct_data above } This is AFAICS not exception-safe: if say s.push_back() throws, the dtor for the stack-allocated variable t won't be called. The same problem in similar code snippets through this file. Apologies if my perception is wrong. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo