我发现能够序列化用户定义的结构很有用。我通常使用像
这样的东西#include <msgpack.hpp>
struct MyStruct {
int val;
MSGPACK_DEFINE_MAP(val);
};
然后将其包含在任何需要它的地方。我后来注意到编译时间很长。当我使用-H标志运行g ++时,我发现大约1/3的包含文件与msgpack相关。
有没有办法轻松使用msgpack,同时避免在任何地方重新包含标题并使编译时间膨胀?
答案 0 :(得分:0)
我对msgpack
并不是很熟悉,但我想到的第一个想法是pimpl课程。然后,我想知道pimpl是否可以用于序列化并查看msgpack文档。
There is a non-intrusive方法。您可以将此代码放在单独的MyStruct_serialize.hpp
文件中,并仅将其包含在您实际序列化类的位置。这样,大多数代码都不应该加载任何msgpack头文件。