One thing that I wonder about here. Binary archives, the stream should be opened with ios::binary. I'm not sure how that works with string stream. Another difference betwen binary and other archives is the special handling for vectors and arrays. I wouldn't think this should matter here, but it might be looked into. Try thsi: Robert Ramey "Jerry" <jerry@chordia.co.uk> wrote in message news:1b7001c88af9$2cfc4840$0565a8c0@p424... Using Boost 1.34.1 with VC++ 7.1 SP1 I have existing code which serializes/de-serializes correctly to boost::archive::xml_oarchive Within the same .cpp file I'm trying to serialize instances of the same hierarchy to boost::archive::binary_oarchive using this code: // ultimate sink for serialized data std::ostringstream os; // binary format is OK as it is going onto the clipboard boost::archive::binary_oarchive oa(os); // temp storage std::vector<CDiagramEntity*> vec; // only serialize selected items for (std::vector<CDiagramEntity*>::iterator it = m_entities.begin(); it != m_entities.end(); ++it) { if ((*it)->IsSelected()) // instead of this: // vec.push_back((*it)); try this: oa & make_nvp("it", *it); } // just serialize the selected item vector (*) oa & BOOST_SERIALIZATION_NVP(vec); * - This is failing in oserializer.hpp line 417, the relevant code being: // sice true_type is valid, and this only gets made if the // pointer oserializer object has been created, this should never // fail bpos_ptr = archive_pointer_oserializer<Archive>::find(* true_type); assert(NULL != bpos_ptr); // <------------------ this assert triggered. I note the confident comment above find(). Can anyone help here? Many thanks Jerry ------------------------------------------------------------------------------ _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users