47 other.control_block_ =
nullptr;
54 other.control_block_ =
nullptr;
102 other.ptr_ =
nullptr;
103 other.control_block_ =
nullptr;
113 other.ptr_ =
nullptr;
114 other.control_block_ =
nullptr;
169 return !(*
this == other);
179 return !(*
this == other);
210 if (weak.control_block_ && weak.control_block_->shared_count > 0) {
211 ++weak.control_block_->shared_count;
213 control_block_ = weak.control_block_;
detail::ControlBlockBase * control_block_
detail::ControlBlockBase * control_block_
bool operator!=(const weak_ptr &other) const noexcept
weak_ptr(weak_ptr< Y > &&other) noexcept
bool operator==(const weak_ptr< Y > &other) const noexcept
bool owner_before(const shared_ptr< Y > &other) const noexcept
weak_ptr & operator=(weak_ptr &&other) noexcept
weak_ptr & operator=(const shared_ptr< Y > &shared) noexcept
weak_ptr & operator=(weak_ptr< Y > &&other) noexcept
bool operator!=(const weak_ptr< Y > &other) const noexcept
weak_ptr & operator=(const weak_ptr< Y > &other) noexcept
weak_ptr(const weak_ptr &other) noexcept
weak_ptr(const weak_ptr< Y > &other) noexcept
shared_ptr< T > lock() const noexcept
bool operator==(const weak_ptr &other) const noexcept
weak_ptr & operator=(const weak_ptr &other) noexcept
long use_count() const noexcept
void swap(weak_ptr &other) noexcept
weak_ptr(weak_ptr &&other) noexcept
bool expired() const noexcept
bool owner_before(const weak_ptr< Y > &other) const noexcept
weak_ptr(const shared_ptr< Y > &shared) noexcept
void swap(array< T, N > &lhs, array< T, N > &rhs) noexcept(noexcept(lhs.swap(rhs)))