¿Cómo crear una interfaz para la serialización en Boost Serialization?
Soy un novato y quiero implementar una interfaz para obligar a los usuarios a implementar el método de serialización. Este método es plantilla y no puedo definirlo como virtual.
Me gustaría que el usuario solo tenga que implementar una función como esta:
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
...
};
Intento crear esta interfaz:
class interface_serializing
{
public:
virtual ~interface_serializing(void)
{ }
friend class boost::serialization::access;
virtual void serialize(boost::archive::polymorphic_iarchive & ar,
const unsigned int version) = 0;
virtual void serialize(boost::archive::polymorphic_oarchive & ar,
const unsigned int version) = 0;
};
Pero obliga al usuario a implementar estos dos métodos y no es lo que quiero.
¿Hay alguna forma de hacer lo que quiero?
Gracias