
On Mon, Mar 31, 2008 at 1:00 PM, Robert Ramey <ramey@rrsd.com> wrote:
Felipe Magno de Almeida wrote:
Is more than one BOOST_CLASS_EXPORT, in different
translation files, suppose to work?
I never considered the possibility that this would ever occur. I see no reason to ever do this and no reason why it should be difficult to avoid doing. I would say is a user error.
What if someone wants to create serialization code for multiple archives in different translation files? I know this is not *very* compelling, but it is a honest use for multiple BOOST_CLASS_EXPORT.
I would like to trap it as such, but there is no way to distinguish it from the legitimate case where the some type is exported from multiple DLLS.
Changing std::multiset to std::set would be enough, wouldn't it? The extended_type_info.cpp file uses a std::multiset<const extended_type_info *, ...> and remove_key tries to handle duplicate insertions in ktmap. But it fails always to do that, because m_key will be set to zero and so ktmap will be in a corrupted state since its key_compare asserts on m_key == 0.
Robert Ramey
Thanks, -- Felipe Magno de Almeida