std::experimental::weak_ptr
From cppreference.com
                    
                                        
                    < cpp | experimental
                    
                                                            
                    | 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.
| Contents | 
[edit] Member types
| Member type | Definition | 
| element_type | std::remove_extent_t<T> | 
[edit] 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) | |
| assigns the weak_ptr(public member function of std::weak_ptr) | |
| Modifiers | |
| releases the ownership of the managed object (public member function of std::weak_ptr) | |
| swaps the managed objects (public member function of std::weak_ptr) | |
| Observers | |
| returns the number of shared_ptrobjects that manage the object(public member function of std::weak_ptr) | |
| checks whether the referenced object was already deleted (public member function of std::weak_ptr) | |
| creates a shared_ptrthat manages the referenced object(public member function of std::weak_ptr) | |
| provides owner-based ordering of weak pointers (public member function of std::weak_ptr) | |
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.
| (C++11) | specializes the std::swap algorithm (function template) | 
[edit] Example
| This section is incomplete Reason: no example |