Boost logo

Boost Users :

From: Sohail Somani (s.somani_at_[hidden])
Date: 2007-03-27 19:12:44


> -----Original Message-----
> From: boost-users-bounces_at_[hidden]
> [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Robert Ramey
> Sent: Tuesday, March 27, 2007 2:39 PM
> To: boost-users_at_[hidden]
> Subject: Re: [Boost-users] [serialization] Assertion `new_cid
> ==cid'failed-fails on gcc, works on msvc
>
> Note that serialize a poly morphic shared pointer requires a little
> bit of gymnastics. Check out the "test_shared_ptr" and the
> source of serialization/shared_ptr.hpp

I think I've followed the documentation, but the attached test still
triggers an assertion when deserializing on gcc 3.2.2:

$ ./build/stage/bin/test_serialize
Serialized form: 22 serialization::archive 3 0 1 2 7 derived 1 0
0 1 0
1 10 derived id
test_serialize: basic_iarchive.cpp:466: const
boost::archive::detail::basic_pointer_iserializer*
boost::archive::detail::basic_iarchive_impl::load_pointer(boost::archive
::detail::basic_iarchive&, void*&, const
boost::archive::detail::basic_pointer_iserializer*, const
boost::archive::detail::basic_pointer_iserializer*(*)(const
boost::serialization::extended_type_info&)): Assertion `new_cid == cid'
failed.
Aborted

This assertion does not trigger occur on Visual C++ 7.1. Can you spot if
I'm doing something obviously silly?

TIA,

Sohail




Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net