std::experimental::observer_ptr
From cppreference.com
 
 
 < cpp | experimental 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Experimental 
 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)
Library fundamentals v2 
 
experimental::observer_ptr
std::experimental::observer_ptr
 Member functions
 Modifiers
 Observers
 Conversions
 Non-member functions
Defined in header 
 
 
<experimental/memory> 
 template< class W >
class observer_ptr;
 
 (library fundamentals TS v2) 
class observer_ptr;
std::experimental::observer_ptr is a non-owning pointer, or observer. The observer stores a pointer to a second object, known as the watched object. An observer_ptr may also have no watched object. 
An observer is not responsible in any way for the watched object; there is no inherent relationship between an observer and the object it watches.
It is intended as a near drop-in replacement for raw pointer types, with the advantage that, as a vocabulary type, it indicates its intended use without need for detailed analysis by code readers.
Specializations of observer_ptr satisfy the requirements of CopyConstructible and CopyAssignable.
 Type requirements
 -
W shall not be a reference type, but may be an incomplete type.
Contents
[edit] Member types
 Member type
 Definition
 element_type
 
W, the type of the object watched by this observer_ptr
[edit] Member functions
operator=
(implicitly declared)
(public member function) [edit]
Modifiers
 
 returns a pointer to the watched object and stops watching the object 
(public member function) [edit]
(public member function) [edit]
Observers
Conversions
[edit] Non-member functions
[edit] Helper classes
[edit] Example
 This section is incomplete
Reason: no example
Reason: no example