std::experimental::atomic_weak_ptr::atomic_weak_ptr
From cppreference.com
                    
                                        
                    < cpp | experimental | atomic weak ptr
                    
                                                            
                    | constexpr atomic_weak_ptr(); | (1) | |
| constexpr atomic_weak_ptr( weak_ptr<T> desired ); | (2) | |
| atomic_weak_ptr( const atomic_weak_ptr& ) = delete; | (3) | |
Constructs a new atomic_weak_ptr object.
1) The default constructor initializes the object to an empty state.
2) Initializes the underlying 
weak_ptr<T> with desired. The initialization is not atomic.3) Atomic variables are not 
CopyConstructible.Parameters
| desired | - | value to initialize with | 
Exceptions
1-2) 
noexcept specification:  
noexcept