Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2006-02-01 15:04:40


Loïc Joly wrote:
> Hello,
>
> Let's say I have a structure suce as this :
>
> class A {};
> class B : public A {};
> class C : public B {};
>
> Currently, I have some code that looks like this :
>
> template<class Archive>
> void C::serialize(Archive &ar, const unsigned int version)
> {
> ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(B);
> }
>
> However, if my class B is "empty", that is it adds no data to A, is
> this possible as an optimisation to just write :

It should be

>
> template<class Archive>
> void C::serialize(Archive &ar, const unsigned int version)
> {
> ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
> }
>
> Or will this break something ?

I doubt it - if you look at the definition of base_object you'll find its
really just a cast to the base class.

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