class Dataset1 {
...
private:
template <typename T>
void save_impl_text_binary(T& archive, const unsigned int version) const {
archive & boost::serialization::base_object<Dataset0>(*this);
archive & m_a1_;
archive & m_b1_;
}
};
template<>
void Dataset1::save(boost::archive::xml_oarchive& archive, const unsigned int version) const {
archive & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Dataset0);
archive & BOOST_SERIALIZATION_NVP(m_a1_);
archive & BOOST_SERIALIZATION_NVP(m_b1_);
}
template<>
void Dataset1::save(boost::archive::text_oarchive& archive, const unsigned int version) const {
this->save_impl_text_binary(archive, version);
}
template<>
void Dataset1::save(boost::archive::binary_oarchive& archive, const unsigned int version) const {
this->save_impl_text_binary(archive, version);
}