Date
2017-02-03.00:00:00
Message id
8862

Content

Addresses US 124

Several shared_ptr related functions have wide contracts and cannot throw, so should be marked unconditionally noexcept.

Proposed change:

Add noexcept to:

template<class U> 
bool 
shared_ptr::owner_before(shared_ptr<U> const& b) const noexcept;
 
template<class U> 
bool 
shared_ptr::owner_before(weak_ptr<U> const& b) const noexcept;

template<class U> 
bool  
weak_ptr::owner_before(shared_ptr<U> const& b) const noexcept; 

template<class U> 
bool
weak_ptr::owner_before(weak_ptr<U> const& b) const noexcept;
 
bool owner_less::operator()(A,B) const noexcept; // all versions