Boost logo

Boost :

From: Felipe Magno de Almeida (felipe.m.almeida_at_[hidden])
Date: 2008-03-31 15:00:42


On Mon, Mar 31, 2008 at 1:00 PM, Robert Ramey <ramey_at_[hidden]> 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

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk