Я на самом деле пытаюсь сериализовать функцию boost :: с помощью boost :: serialize, потому что хочу поделиться им в boost :: interprocess :: message_queue. Я вижу только один способ сделать это, это использовать неинтрузивную версию boost :: serialize.Как сериализовать функцию boost :: для отправки ее в message_queue
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;
}
}
}
Я также необходимо сериализовать и функтор виртуальные таблицы, я не пробовал, я не уверен, что она работает.
Так можно каким-либо образом упорядочить функцию boost :: function надлежащим образом?
спасибо.
`boost :: function` имеет [` target`] (http://www.boost.org/doc/libs/1_54_0/doc/html/boost/function.html#idp12727952-bb) и [`target_type `] (http://www.boost.org/doc/libs/1_54_0/doc/html/boost/function.html#idp39712048-bb) функции-члены, которые могут использоваться во время сериализации. – 2013-11-09 21:04:14