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