Boost logo

Boost Users :

Subject: Re: [Boost-users] [Serialization] Strange warning + serialization of template derived class
From: Robert Ramey (ramey_at_[hidden])
Date: 2010-02-14 12:45:43


dada_at_[hidden] wrote:
> Thanks for your reply, all is ok now.
> But i need some explanation about understanding static_warning.
>
> The warnings are :
> ------------------------------
> ../boost/mpl/print.hpp: In instantiation of
> ?boost::mpl::print<boost::serialization::STATIC_WARNING_LINE<98> >?:
>
> ../boost/serialization/static_warning.hpp:92: instantiated from
> ?boost::serialization::static_warning_test<false, 98>?
>
> ../boost/archive/detail/check.hpp:98: instantiated from ?void
> boost::archive::detail::check_object_tracking() [with ...
>

Here is the code at line 98 of check.hpp

template<class T>
inline void check_object_tracking(){
// presume it has already been determined that
// T is not a const
BOOST_STATIC_ASSERT(! boost::is_const<T>::value);
typedef BOOST_DEDUCED_TYPENAME mpl::equal_to<
serialization::tracking_level<T>,
mpl::int_<serialization::track_never>
>::type typex;
// saving an non-const object of a type not marked "track_never)
// may be an indicator of an error usage of the
// serialization library and should be double checked.
// See documentation on object tracking. Also, see the
// "rationale" section of the documenation
// for motivation for this checking.
BOOST_STATIC_WARNING(typex::value);
}

Did you read this? This points you to the "rationale" section
of the documentation. Did you read that? This should
shed some light on things.

> In fact, i think that this warnings are the consequences of non const
> object serialization. But i'm not sure...

You're on the right track, keep digging.

Robert Ramey


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