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