Is boost::serialization::base_object required every time I do inheritance?

Viewed 195

I have:

  • non-polymorphic (no virtual methods) class hierarchy;

  • base class already contains serialize;

  • child classes are serialized directly;

      class A
      {
      private:
          int x;
          int y;
    
          template<typename Archive>
          void serialize(Archive& ar, const unsigned int)
          {
              ar & x & y;
          }
      };
    
      class B : public A { /* no data members*/ };
    
      class C : public A { /* no data members*/ };
    
  1. Do I need serialize function in classes B and C? serialize function in B and C is exactly this:

     template<typename Archive>
     void serialize(Archive& ar, const unsigned int version)
     {
         ar & boost::serialization::base_object<A>(*this);
     }
    
  2. Should I expect some notes in documentation about this?

1 Answers
Related