Boost logo

Boost Users :

From: Graham Reitz (graham.cpp_at_[hidden])
Date: 2007-10-07 21:27:32


I think the issue is that the structure clients used in class client_i
as m_client doesn't have any information on how do serialize itself.

I don't have control over the clients structure, as it is created for
me by the mysql++ macro. It is a simple structure with public access
to its internals which are primitives.

Just use the non-intrusive serialization method? Or is there a more
convenient method?

Thanks,
Graham

On 10/7/07, Graham Reitz <graham.cpp_at_[hidden]> wrote:
> I am having trouble wrapping my head around object tracking for serialization.
>
> I see how to change the default behavior:
> BOOST_CLASS_TRACKING(my_class, boost::serialization::track_never)
>
> ...but based on the error below how do I determine what kind of object
> tracking is needed?
>
> oserializer.hpp:566: error: invalid application of 'sizeof' to
> incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>'
>
> inline void save(Archive & ar, T &t){
> // if your program traps here, it indicates taht your doing one of
> the following:
> // a) serializing an object of a type marked "track_never" through
> a pointer.
> // b) saving an non-const object of a type not markd "track_never)
> // Either of these conditions may be an indicator of an error usage of the
> // serialization library and should be double checked. See documentation on
> // object tracking.
> BOOST_STATIC_ASSERT(check_tracking<T>::value);
>
> The following is the class to be serialized:
>
> class client_i
> {
> private:
> friend class boost::serialization::access;
>
> template<class Archive>
> void serialize(Archive & ar, const unsigned int version)
> { ar & m_client; }
>
> clients m_client;
> public:
>
> client_i() {};
> client_i(clients c) : m_client(c) {};
> ~client_i() {};
> };
>
> clients is a mysql++ specialized sql structure that is created via one
> of the mysql++ macros, i.e. sql_create_N().
>
> Any help understanding this would be greatly appreciated.
>
> Thanks,
>
> Graham
>


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