
Jeff Flinn wrote:
void register_all_modules(){ const extended_type_info & eti = extended_type_info_typeid
::get_const_instance const extended_type_info & eti = extended_type_info_typeid ::get_const_instance(); I'll have to study what you've presented here.
LOL, I accidently hit the send key while creating my thought. Actually having thought about this some, I think it might be possible, but I think it will take more thought.
Just as another data point, on MSVC I was able to link with /OPT:REF to optimize away unref'd functions and data by declaring my serialize methods as:
template<class Archive> BOOST_DLLEXPORT void serialize(Archive&, const unsigned int) BOOST_USED;
(the macros being defined in your force_include.hpp) and all links and runs perfectly, reducing my release exe size from 3.6MB to 2.6MB. I'm guessing you have a #pragma somewhere that is responsible for generating .exp and .lib files for my executable as I have no explicit MSVC settings to generate these.
This is on the right track. seems to me it should work for gcc as well. It still wouldn't address serialization of objects through a base class pointer. Failure to do this would result in "not registered". For this, one will need similary magic for extended_type_info records. Robert Ramey
Jeff