如何在msgpack序列化中添加外部类型(例如第三方库中的复杂类型)?
我有一个班级foo
,其成员类型为bar
libbar.so
,我希望序列化foo
,使其包含bar
。如果重要,bar
可以转换为普通类型(比如int),并从该类型构建回bar
。
示例:
#include <msgpack.hpp>
#include <bar.hpp>
class foo {
public:
int a;
double b;
bar z;
MSGPACK_DEFINE(a,b,z)
}
bar.hpp:
class bar {
public:
// ...
void set_from_known_type(int x);
int export_to_known_type() const;
private:
// ...
}