Back in 2008, changing shared_ptr operator< to compare by pointer value rather than owner was discussed: http://lists.boost.org/Archives/boost/2008/10/143175.php There seem to be convincing arguments for both implementations (aliasing, consistency with equality operator etc). Is boost::shared_ptr intended to be a compliant C++11 std::shared_ptr? If so, will shared_ptr be changed to comply with [util.smartptr.shared.cmp] or is the ensuing breakage too high a price to pay for 100% compliance? Thanks Matt
Matt Bergin wrote:
Back in 2008, changing shared_ptr operator< to compare by pointer value rather than owner was discussed: http://lists.boost.org/Archives/boost/2008/10/143175.php
There seem to be convincing arguments for both implementations (aliasing, consistency with equality operator etc).
Is boost::shared_ptr intended to be a compliant C++11 std::shared_ptr?
At this point, keeping the current, nonstandard, operator< no longer seems right. However, ...
If so, will shared_ptr be changed to comply with [util.smartptr.shared.cmp] or is the ensuing breakage too high a price to pay for 100% compliance?
... I wish there were a way to answer this question before just going forward with the change. Either way, people who rely on the current meaning will consider the breakage unacceptable, and those who are not affected will consider it welcome.
participants (2)
-
Matt Bergin
-
Peter Dimov