A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.github.io/LWG/issue2495 below:

There is no such thing as an Exception Safety element

template<class Y> explicit shared_ptr(Y* p);

[…]

-4- Effects: Constructs a shared_ptr object that owns the pointer p. If an exception is thrown, delete p is called. […] -7- Exception safety: If an exception is thrown, delete p is called.
template <class Y, class D> shared_ptr(Y* p, D d);
template <class Y, class D, class A> shared_ptr(Y* p, D d, A a);
template <class D> shared_ptr(nullptr_t p, D d);
template <class D, class A> shared_ptr(nullptr_t p, D d, A a);

[…]

-9- Effects: Constructs a shared_ptr object that owns the object p and the deleter d. The second and fourth constructors shall use a copy of a to allocate memory for internal use. If an exception is thrown, d(p) is called. […] -12- Exception safety: If an exception is thrown, d(p) is called.
[…]
template <class Y> explicit shared_ptr(const weak_ptr<Y>& r);

[…]

-24- Effects: Constructs a shared_ptr object that shares ownership with r and stores a copy of the pointer stored in r. If an exception is thrown, the constructor has no effect. […] -27- Exception safety: If an exception is thrown, the constructor has no effect.
template <class Y, class D> shared_ptr(unique_ptr<Y, D>&& r);

[…]

-29- Effects: Equivalent to shared_ptr(r.release(), r.get_deleter()) when D is not a reference type, otherwise shared_ptr(r.release(), ref(r.get_deleter())). If an exception is thrown, the constructor has no effect. -30- Exception safety: If an exception is thrown, the constructor has no effect.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4