Namespaces
Variants
Views
Actions

std::experimental::observer_ptr

From cppreference.com
< cpp‎ | experimental
Revision as of 08:56, 2 January 2016 by T. Canens (Talk | contribs)

 
 
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 W >
class observer_ptr;
(library fundamentals TS v2)

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.

Specializations of observer_ptr satisfy the requirements of Template:concept and Template:concept.

Type requirements
-
W shall not be a reference type, but may be an incomplete type.

Contents

Member types

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

Member functions

constructs a new observer_ptr
(public member function) [edit]
(destructor)
(implicitly declared)
destructs an observer_ptr
(public member function) [edit]
operator=
(implicitly declared)
implicitly declared copy and move assignment operators that assign the stored pointer
(public member function) [edit]
Modifiers
returns a pointer to the watched object and stops watching the object
(public member function) [edit]
replaces the watched object
(public member function) [edit]
swaps the watched objects
(public member function) [edit]
Observers
returns a pointer to the watched object
(public member function) [edit]
checks if there is an associated watched object
(public member function) [edit]
dereferences pointer to the watched object
(public member function) [edit]
Conversions
explicit conversion function to the stored pointer
(public member function) [edit]

Non-member functions

creates an observer_ptr that watches an object
(function template) [edit]
compares to another observer_ptr or with nullptr
(function template) [edit]
specializes the swap algorithm
(function template) [edit]

Helper classes

hash support for observer_ptr
(class template specialization) [edit]

Example