|
Boost Users : |
From: __PPS__ (i-love-spam_at_[hidden])
Date: 2005-12-05 21:25:22
is it possible to have this exported from dll:
///export.h///
#include <boost/serialization/serialization.hpp>
class session_record {
virtual void print_on(std::ostream& os) const = 0;
friend std::ostream & operator<<(std::ostream& os, const
session_record& sr){
sr.print_on(os);
return os;
}
public:
friend class boost::serialization::access;
virtual ~session_record();
template<class Archive> void serialize(Archive & ar, const unsigned
int file_version){}
operator session_record *();
};
void serialize(session_record* derived, const char* file_name);
session_record* deserialize(const char* file_name);
///end of export.h///
and then in an application (linked to the dll that exports all from
export.h) I create derived classes from session_record and serialize or
deserialize them to/from files using the two exported free functions. I
followed exactly steps in "Runtime Casting" of the manual, but it
doesn't work. So... is it really runtime if it doesn't work this way -
it only works if all the derived classes are known & registered at the
time of compilation of the two functions. All that worked well if
everything from export.h was linked statically, but not dynamically
Am I doing something wrong with all that stuff??
thanks
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net