std::experimental::weak_ptr

From cppreference.com
 
 
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
 
 
 
Defined in header <experimental/memory>
template< class T > class weak_ptr;
(library fundamentals TS)

std::experimental::weak_ptr is a modified version of std::weak_ptr that interoperates with std::experimental::shared_ptr and has support for arrays.

Member types

Member type Definition
element_type std::remove_extent_t<T>

Member functions

constructs new weak_ptr
(public member function)

Members and non-members identical to std::weak_ptr

Member functions

The following member functions work with std::experimental::shared_ptr instead of std::shared_ptr and std::experimental::weak_ptr instead of std::weak_ptr. The behavior is otherwise identical.

destroys a weak_ptr
(public member function of std::weak_ptr<T>)
assigns the weak_ptr
(public member function of std::weak_ptr<T>)
Modifiers
releases the ownership of the managed object
(public member function of std::weak_ptr<T>)
swaps the managed objects
(public member function of std::weak_ptr<T>)
Observers
returns the number of shared_ptr objects that manage the object
(public member function of std::weak_ptr<T>)
checks whether the referenced object was already deleted
(public member function of std::weak_ptr<T>)
creates a shared_ptr that manages the referenced object
(public member function of std::weak_ptr<T>)
provides owner-based ordering of weak pointers
(public member function of std::weak_ptr<T>)

Non-member functions

This non-member function is declared in the std::experimental namespace, and work with std::experimental::weak_ptr rather than std::weak_ptr, but otherwise behaves identically to the corresponding C++14 function.

specializes the std::swap algorithm
(function template)

Example