boost :: serializeを使ってboost :: functionをシリアライズしようとしています。なぜならboost :: interprocess :: message_queueで共有したいからです。 私はこれを行うための1つの方法しか見ていません。boost :: serializeの非侵入型を使用することです。どのようにboost :: :: functionをserializeして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;
}
}
}
vtableと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)メンバ関数 - 直列化中に使用できます。 –