I am writing a packet base class that can be serialized. The class so far looks like:

    class packet_base
    {
        using namespace boost;

        

        public:
            packet_base();
            ~packet_base();

            friend class boost::serialization::access;
            template <typename Archive>
            void serialize(Archive & ar, const unsigned int version)
            {
                ar & m_length;
ar & m_type;
ar & m_method;
            }

        private:

        

            uint16_t m_length;
    uint16_t m_type;
    uint16_t m_method;
    };

The question now is how can I derive class A from packet_base and have both packet_base and A's variables serialized? Obviously base_class needs to be archived first so it's variables are at the front of the buffer.

Thanks in advance.
J