std::experimental::observer_ptr(3)

NAME
std::experimental::observer_ptr - std::experimental::observer_ptr

Synopsis
   Defined in header <experimental/memory>
   template< class W > (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.

Member types
   Member type Definition
   element_type W, the type of the object watched by this observer_ptr

Member functions
   constructor constructs a new observer_ptr
                        (public member function)
   destructor destructs an observer_ptr
   (implicitly declared) (public member function)
   operator= implicitly declared copy and move assignment operators that
   (implicitly declared) assign the stored pointer
                        (public member function)

Modifiers
                        returns a pointer to the watched object and stops watching
   release the object
                        (public member function)
   reset replaces the watched object
                        (public member function)
   swap swaps the watched objects
                        (public member function)

Observers
   get returns a pointer to the watched object
                        (public member function)
   operator bool checks if there is an associated watched object
                        (public member function)
   operator* dereferences pointer to the watched object
   operator-> (public member function)

Conversions
   operator element_type* explicit conversion function to the stored pointer
                        (public member function)

Non-member functions
                        creates a observer_ptr that
   make_observer watches an object
                        (function template)
   operator==
   operator!= compares to another
   operator< observer_ptr or with
   operator<= nullptr
   operator> (function template)
   operator>=
                        specializes the swap
   std::experimental::swap(std::experimental::observer_ptr) algorithm
                        (function template)

Helper classes
   std::hash<std::experimental::observer_ptr> hash support for observer_ptr
                        (class template specialization)

Example
    This section is incomplete
    Reason: no example