Actualmente estoy usando boost :: uuids :: uuid en un proyecto y quiero serializar objetos que contienen boost :: uuids :: uuid. Probé el sencillo ejemplo de abajo, pero me da un error:cómo serializar boost :: uuids :: uuid
/usr/include/boost/archive/basic_text_oprimitive.hpp:92: error: no puede competir con 'operador < <' en '((Archivo de impulsar ::: : basic_text_oprimitive> *) this) -> boost :: archive :: basic_text_oprimitive> :: os < < t '
Realmente me gustaría saber si alguien podría ayudarme.
#include <fstream>
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_serialize.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
class classA {
public:
classA() : id(boost::uuids::random_generator()()) {}
private:
friend class boost::serialization::access;
boost::uuids::uuid id;
template <class Archive>
void serialize(Archive& ar, const unsigned int version) {
ar & id;
}
};
int main(void) {
classA a;
std::ofstream ofs("uuid.txt");
boost::archive::text_oarchive oa(ofs);
oa << a;
ofs.close();
return 0;
}
Descubrí que el archivo de encabezado #include se debe incluir para serializar el boost :: uuids :: uuid. Busqué mucho en la web y no pude encontrar un ejemplo sobre la serialización de boost :: uuids :: uuid; Espero que esto pueda ayudar a alguien. –
Gracias Murat, tu comentario me ayudó. –