
David Abrahams <dave@boost-consulting.com> writes:
"Robert Ramey" <ramey@rrsd.com> writes:
can the export.hpp be replaced with something like
#if msvc 6 #include old_export.hpp #else ... new code here or new export #endif
That way vc6 is still supported subject to the header ordering restriction while for other compilers the restriction is eliminated.
Yes, that's possible. It leaves an unfortunate quantity of cruft in the code, but what can you do? I guess you could think really hard about dropping vc6 support.
I'm not sure I fully understand what pointer_oserializer et al are up to, but one other possibility here might be to introduce one layer of runtime polymorphism for these cases (maybe just when using vc6)... ...but first, how did you avoid this bug with pointer_oserializer? AFAICT any static member of a template with two parameters is susceptible. -- Dave Abrahams Boost Consulting www.boost-consulting.com