How serialize a boost::function to send it in a message_queue

Я на самом деле пытаюсь сериализовать 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?

Спасибо.

5
задан Maxence SCHMITT 15 December 2010 в 10:08
поделиться