| default (1) | constexpr shared_ptr() noexcept; |
|---|
| from null pointer (2) | constexpr shared_ptr(nullptr_t) : shared_ptr() {} |
|---|
| from pointer (3) | template <class U> explicit shared_ptr (U* p); |
|---|
| with deleter (4) | template <class U, class D> shared_ptr (U* p, D del);template <class D> shared_ptr (nullptr_t p, D del); |
|---|
| with allocator (5) | template <class U, class D, class Alloc> shared_ptr (U* p, D del, Alloc alloc);template <class D, class Alloc> shared_ptr (nullptr_t p, D del, Alloc alloc); |
|---|
| copy (6) | shared_ptr (const shared_ptr& x) noexcept;template <class U> shared_ptr (const shared_ptr<U>& x) noexcept; |
|---|
| copy from weak (7) | template <class U> explicit shared_ptr (const weak_ptr<U>& x); |
|---|
| move (8) | shared_ptr (shared_ptr&& x) noexcept;template <class U> shared_ptr (shared_ptr<U>&& x) noexcept; |
|---|
| move from managed (9) | template <class U> shared_ptr (auto_ptr<U>&& x);template <class U, class D> shared_ptr (unique_ptr<U,D>&& x); |
|---|
| aliasing (10) | template <class U> shared_ptr (const shared_ptr<U>& x, element_type* p) noexcept; |
|---|