|
constexpr | cycle_weak_ptr () noexcept |
| Default constructor.
|
|
| cycle_weak_ptr (const cycle_weak_ptr &other) noexcept |
| Copy constructor.
|
|
| cycle_weak_ptr (cycle_weak_ptr &&other) noexcept |
| Move constructor. More...
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
| cycle_weak_ptr (const cycle_weak_ptr< U > &other) noexcept |
| Copy constructor.
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
| cycle_weak_ptr (cycle_weak_ptr< U > &&other) noexcept |
| Move constructor. More...
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
| cycle_weak_ptr (const cycle_gptr< U > &other) noexcept |
| Create weak pointer from other . More...
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
| cycle_weak_ptr (const cycle_member_ptr< U > &other) noexcept |
| Create weak pointer from other . More...
|
|
auto | operator= (const cycle_weak_ptr &other) noexcept -> cycle_weak_ptr & |
| Copy assignment.
|
|
auto | operator= (cycle_weak_ptr &&other) noexcept -> cycle_weak_ptr & |
| Move assignment. More...
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
auto | operator= (const cycle_weak_ptr< U > &other) noexcept -> cycle_weak_ptr & |
| Copy assignment.
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
auto | operator= (cycle_weak_ptr< U > &&other) noexcept -> cycle_weak_ptr & |
| Move assignment. More...
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
auto | operator= (const cycle_gptr< U > &other) noexcept -> cycle_weak_ptr & |
| Assign other . post this->lock() == other.
|
|
template<typename U , typename = std::enable_if_t<std::is_convertible_v<U*, T*>>> |
auto | operator= (const cycle_member_ptr< U > &other) noexcept -> cycle_weak_ptr & |
| Assign other . post this->lock() == other.
|
|
auto | reset () noexcept -> void |
| Reset this pointer. More...
|
|
auto | swap (cycle_weak_ptr &other) noexcept -> void |
| Swap with another weak pointer.
|
|
auto | expired () const noexcept -> bool |
| Test if this weak pointer is expired. More...
|
|
auto | lock () const noexcept -> cycle_gptr< T > |
| Retrieve cycle_gptr from this. More...
|
|
template<typename U > |
auto | owner_before (const cycle_weak_ptr< U > &other) const noexcept -> bool |
| Ownership ordering. More...
|
|
template<typename U > |
auto | owner_before (const cycle_gptr< U > &other) const noexcept -> bool |
| Ownership ordering. More...
|
|
template<typename U > |
auto | owner_before (const cycle_member_ptr< U > &other) const noexcept -> bool |
| Ownership ordering. More...
|
|
template<typename T>
class cycle_ptr::cycle_weak_ptr< T >
Weak cycle pointer.
A weak pointer does not have ownership of its target, depending on cycle_member_ptr and cycle_gptr keeping its target reachable.