Serialization 如何序列化boost::uuids::uuid

Serialization 如何序列化boost::uuids::uuid,serialization,boost,uuid,Serialization,Boost,Uuid,我目前正在一个项目中使用boost::uuids::uuid,我想序列化boost::uuids::uuid中包含的对象。我尝试了下面的简单示例,但出现了一个错误: /usr/include/boost/archive/basic_text_oprimitive.hpp:92:错误:与“operatorboost::archive::basic_text_oprimitive>不匹配::os包含以启用UUID的序列化。 我发现必须包含头文件#include来序列化boost::uuids::uu

我目前正在一个项目中使用boost::uuids::uuid,我想序列化boost::uuids::uuid中包含的对象。我尝试了下面的简单示例,但出现了一个错误:

/usr/include/boost/archive/basic_text_oprimitive.hpp:92:错误:与“operatorboost::archive::basic_text_oprimitive>不匹配::os包含
以启用UUID的序列化。

我发现必须包含头文件#include来序列化boost::uuids::uuid。我在网上搜索了很多,没有找到序列化boost::uuids::uuid的例子;我希望这可以帮助一些人。谢谢Murat,你的评论帮助了我。
#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;
}