枚举类和提升序列化

enum class and boost serialization

本文关键字:升序 序列化 枚举      更新时间:2023-10-16

如何使用提升序列化对具有enum class成员的class进行序列化/反序列化。例:

enum class enum_class{
    item1=0,item2=1
}
class foo{
private:
    friend class boost::serialization::access;
public:
    foo() = default;
    ~foo() = default;
    template<class Archive> inline void serialize(Archive & ar, const unsigned int version){
        ar & a;
        ar & b;
    }
    enum_class a;
    int b;
};

我无法使enum_class可序列化,因为它不接受friendmember functions。 解决方案是什么?

你需要使枚举类可序列化。

有关说明,请参阅非侵入式版本。