Subject: Re: [boost] [smart_ptr] No more shared_ptr<T>::value_type?
From: Nathan Crookston (nathan.crookston_at_[hidden])
Date: 2013-04-16 12:52:03


On Tue, Apr 16, 2013 at 10:21 AM, Andrew Hundt <athundt_at_[hidden]> wrote:

> I updated from boost 1.52 to 1.53 and it appears that the typedefs have
> been removed, I couldn't find any mention of it in the release notes, and I
> searched the list for shared_ptr value_type and saw no mention of the
> change there. Was this a deliberate change?
>
> This breaks a *lot* of code for me, and will make more difficult for me to
> convince my team to continue to use boost or upgrade in the future because
> they are very apprehensive of breaking changes. I understand if it has been
> removed to be C++11 compliant but I expected some warning before breaking
> changes like this. boost::thread and boost::filesystem are good examples of
> changes that were made with solid advance notice. This caught me completely
> by surprise, did I miss something obvious?
>
> Could someone point me to the recommended alternative as well?
>

Even in 1.52 & previous, I don't think value_type was documented --
element_type was:

typedef T element_type;

    Provides the type of the template parameter T.

The documented interface didn't change, for what that's worth.

HTH,
Nate