| 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;
|
|---|