Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2001-03-03 05:58:01


----- Original Message -----
From: "Ed Brey" <brey_at_[hidden]>

> Beman, others, does this analysis make sense? Am I missing/forgetting
> anything?

Every time this comes up, there's someone who complains loudly about an
interaction with another VC6 bug: something having to do with member
templates and instantiation within a DLL. Personally, I am still a bit
confused over why it should be an issue. STLport seems to work with/in DLLs
just fine and it uses member templates with VC6.

> Should we make this change to shared_ptr, and then also imbue
> shared_array with this functionality (Trevor's example is just as
applicable
> to arrays)?

Careful; this might suddenly also enable the Derived->Base conversion for
arrays, which of course we don't want. You'd have to add some additional
BOOST_STATIC_ASSERTs, e.g. for is_same<T, const U> || is_same<T, volatile U>
|| is_same<T, const volatile U> (since remove_cv doesn't work with VC6).

> Finally, does anyone know if there are any issues with VC6
> silently generating bad code that relate to this situation?

I suggest you check the mailing list archives. It's been discussed. I'm not
saying I'm happy with the current resolution, though ;-).

-Dave


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