Właściwie próbuję serializować funkcję boost :: function za pomocą boost :: serialize, ponieważ chcę ją udostępnić w boost :: interprocess :: message_queue. Widzę tylko jeden sposób, aby to zrobić, to użyć nieinwazyjnej wersji boost :: serialize.Jak serializować funkcję boost :: function, aby wysłać ją w 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;
}
}
}
I będzie musiała serializacji vtable i funktor, ja nie spróbować, nie jestem pewien, że to działa.
Czy istnieje sposób na serializację funkcji boost :: function we właściwy sposób?
Dziękuję.
'boost :: function' ma [' cel'] (http://www.boost.org/doc/libs/1_54_0/doc/html/boost/function.html#idp12727952-bb) i ['target_type '] (http://www.boost.org/doc/libs/1_54_0/doc/html/boost/function.html#idp39712048-bb) funkcje składowe - które mogą być używane podczas serializacji. –