Hello everybody, � I'm currently trying to serialize functors. Apparently, it is not possible to serialize boost::function objects, is it possible to find a way to serialize pointer to function ? (in order to make working the example below*) If it is definitively not possible, is there a way to 'register' a relation betwwen objects and functor ? (using MPL library). The idea is to rebuild the boost function according to the 'Object and 'Type' class of the template'. � Example:� � mpl::pair<Object,Function> container; serialize() { boost::function<Type ()> m_getter=mpl::at< container,Object>; } � � *Here is the problem that� I'm trying to resolve: � MyObject myObject("before"); � SetCommand<std::string,MyObject> SetCommand(myObject,&MyObject::setName,&MyObject::getName,"after"); � SetCommand.do(); � // call functor 'MyObject::setName("after")' SetCommand.undo(); // call functor 'MyObject::setName("before")' � � template<typename Type,typename Object> class SetCommand : public Command { � � � public: � � � � � template <typename Setter, typename Getter> � � � � SetCommand(Object& o, const Setter& setter, const Getter& getter, const Type& value) : � � � � � � Command(), � � � � � � m_getter(boost::bind(getter, &o)), � � m_setter(boost::bind(setter, &o, _1)), � � � � � � initialValue(m_getter()), � � � � � � finalValue(value) � � � � { � � � � } � virtual void undo() � � � � { � � � � � � m_setter(initialValue) ; � � � � } � � � � � virtual void do() � � � � { � � � � � � m_setter(finalValue) ; � � � � } � �� private: � friend class boost::serialization::access; � SetCommand(){} � template <class Archive>� void serialize( Archive & ar, const unsigned int version ) { � � ar & m_getter; ERROR -> does not compile !!! � ar & m_setter; ERROR -> does not compile !!! � � ar & initialValue; � ar & finalValue; } � boost::function<Type ()> m_getter ; � � � � boost::function<void (Type)> m_setter ; � � � � � Type initialValue ; � � � � Type finalValue ; }; � Thanks in advance. � -------------------------------------------------------------- Ovi Mail: Making email access easy http://mail.ovi.com