Pigweed
C/C++ API Reference
|
Public Types | |
using | element_type = typename Base::element_type |
Public Member Functions | |
constexpr | WeakPtr () noexcept=default |
Creates an empty (nullptr ) instance. | |
constexpr | WeakPtr (std::nullptr_t) noexcept |
Creates an empty (nullptr ) instance. | |
WeakPtr (const WeakPtr &other) noexcept | |
Copy-constructs a WeakPtr<T> from a WeakPtr<T> . | |
template<typename U > | |
WeakPtr (const WeakPtr< U > &other) noexcept | |
template<typename U > | |
WeakPtr (const SharedPtr< U > &other) noexcept | |
template<typename U > | |
WeakPtr (WeakPtr< U > &&other) noexcept | |
constexpr WeakPtr & | operator= (const WeakPtr &other) noexcept |
Copy-assigns a WeakPtr<T> from a WeakPtr<T> . | |
template<typename U > | |
WeakPtr & | operator= (const WeakPtr< U > &other) noexcept |
template<typename U > | |
WeakPtr & | operator= (const SharedPtr< U > &other) noexcept |
template<typename U > | |
WeakPtr & | operator= (WeakPtr< U > &&other) noexcept |
void | reset () noexcept |
void | swap (WeakPtr &other) noexcept |
Swaps the managed pointer and deallocator of this and another object. | |
int32_t | use_count () const noexcept |
bool | expired () const noexcept |
SharedPtr< T > | Lock () const noexcept |
template<typename PtrType > | |
bool | owner_before (const PtrType &other) const noexcept |
template<typename U > | |
WeakPtr< T > & | operator= (const WeakPtr< U > &other) noexcept |
template<typename U > | |
WeakPtr< T > & | operator= (const SharedPtr< U > &other) noexcept |
template<typename U > | |
WeakPtr< T > & | operator= (WeakPtr< U > &&other) noexcept |
A std::weak_ptr<T>
-like type that integrates with pw::SharedPtr
.
T | The type being pointed to. This may be an array type, e.g. pw::WeakPtr<T[]> . |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Returns true if the associated object has been destroyed; otherwise returns false.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
Checks whether this
precedes other
based on an ordering of their control blocks.
|
noexcept |
Resets this object to an empty state.
If this is the last shared or weak pointer associated with the control block, it is deallocated.
|
inlinenoexcept |
Returns the number of shared pointers to the associated object, or 0 if this object is empty.