Я на самом деле пытаюсь сериализовать boost :: function с помощью boost :: serialize, потому что я хочу поделиться им в boost :: interprocess :: message_queue. Я вижу только один способ сделать это, это использовать ненавязчивую версию boost :: serialize.
namespace boost {
namespace serialization {
template<class Archive>
void serialize(Archive & ar, boost::function<void()> & fct, const unsigned int version)
{
ar & fct.args;
ar & fct.arity;
ar & fct.vtable;
ar & fct.functor;
}
}
}
Мне также нужно будет сериализовать vtable и функтор, я не пробовал, я не уверен, что это работает.
Так есть ли способ правильно сериализовать boost :: function?
Спасибо.