Project
Loading...
Searching...
No Matches
o2::observer_ptr< W > Class Template Reference

#include <observer_ptr.h>

Public Types

using element_type = W
 

Public Member Functions

constexpr observer_ptr () noexcept=default
 
constexpr observer_ptr (std::nullptr_t) noexcept
 
 observer_ptr (element_type *ptr) noexcept
 
template<typename W2 , typename std::enable_if< std::is_convertible< W2 *, element_type * >::value, int >::type = 1>
 observer_ptr (observer_ptr< W2 > other) noexcept
 
 observer_ptr (const observer_ptr &other)=default
 
 observer_ptr (observer_ptr &&other)=default
 
constexpr element_typerelease () noexcept
 
constexpr void reset (element_type *p=nullptr) noexcept
 
constexpr void swap (observer_ptr &other) noexcept
 
constexpr void swap (std::nullptr_t) noexcept
 
constexpr element_typeget () const noexcept
 
constexpr std::add_lvalue_reference_t< element_typeoperator* () const
 
constexpr element_typeoperator-> () const noexcept
 
constexpr std::add_lvalue_reference_t< observer_ptr< element_type > > operator= (const std::add_lvalue_reference_t< observer_ptr< element_type > > other)
 
constexpr std::add_lvalue_reference_t< observer_ptr< element_type > > operator= (element_type *const other)
 
constexpr operator element_type * () const noexcept
 
constexpr operator bool () const noexcept
 

Detailed Description

template<typename W>
class o2::observer_ptr< W >

Definition at line 22 of file observer_ptr.h.

Member Typedef Documentation

◆ element_type

template<typename W >
using o2::observer_ptr< W >::element_type = W

Definition at line 25 of file observer_ptr.h.

Constructor & Destructor Documentation

◆ observer_ptr() [1/6]

template<typename W >
constexpr o2::observer_ptr< W >::observer_ptr ( )
constexprdefaultnoexcept

◆ observer_ptr() [2/6]

template<typename W >
constexpr o2::observer_ptr< W >::observer_ptr ( std::nullptr_t  )
inlineconstexprnoexcept

Definition at line 28 of file observer_ptr.h.

◆ observer_ptr() [3/6]

template<typename W >
o2::observer_ptr< W >::observer_ptr ( element_type ptr)
inlineexplicitnoexcept

Definition at line 29 of file observer_ptr.h.

◆ observer_ptr() [4/6]

template<typename W >
template<typename W2 , typename std::enable_if< std::is_convertible< W2 *, element_type * >::value, int >::type = 1>
o2::observer_ptr< W >::observer_ptr ( observer_ptr< W2 >  other)
inlinenoexcept

Definition at line 31 of file observer_ptr.h.

◆ observer_ptr() [5/6]

template<typename W >
o2::observer_ptr< W >::observer_ptr ( const observer_ptr< W > &  other)
default

◆ observer_ptr() [6/6]

template<typename W >
o2::observer_ptr< W >::observer_ptr ( observer_ptr< W > &&  other)
default

Member Function Documentation

◆ get()

template<typename W >
constexpr element_type * o2::observer_ptr< W >::get ( ) const
inlineconstexprnoexcept

Definition at line 54 of file observer_ptr.h.

◆ operator bool()

template<typename W >
constexpr o2::observer_ptr< W >::operator bool ( ) const
inlineexplicitconstexprnoexcept

Definition at line 69 of file observer_ptr.h.

◆ operator element_type *()

template<typename W >
constexpr o2::observer_ptr< W >::operator element_type * ( ) const
inlineexplicitconstexprnoexcept

Definition at line 68 of file observer_ptr.h.

◆ operator*()

template<typename W >
constexpr std::add_lvalue_reference_t< element_type > o2::observer_ptr< W >::operator* ( ) const
inlineconstexpr

Definition at line 55 of file observer_ptr.h.

◆ operator->()

template<typename W >
constexpr element_type * o2::observer_ptr< W >::operator-> ( ) const
inlineconstexprnoexcept

Definition at line 56 of file observer_ptr.h.

◆ operator=() [1/2]

template<typename W >
constexpr std::add_lvalue_reference_t< observer_ptr< element_type > > o2::observer_ptr< W >::operator= ( const std::add_lvalue_reference_t< observer_ptr< element_type > >  other)
inlineconstexpr

Definition at line 57 of file observer_ptr.h.

◆ operator=() [2/2]

template<typename W >
constexpr std::add_lvalue_reference_t< observer_ptr< element_type > > o2::observer_ptr< W >::operator= ( element_type *const  other)
inlineconstexpr

Definition at line 62 of file observer_ptr.h.

◆ release()

template<typename W >
constexpr element_type * o2::observer_ptr< W >::release ( )
inlineconstexprnoexcept

Definition at line 37 of file observer_ptr.h.

◆ reset()

template<typename W >
constexpr void o2::observer_ptr< W >::reset ( element_type p = nullptr)
inlineconstexprnoexcept

Definition at line 43 of file observer_ptr.h.

◆ swap() [1/2]

template<typename W >
constexpr void o2::observer_ptr< W >::swap ( observer_ptr< W > &  other)
inlineconstexprnoexcept

Definition at line 44 of file observer_ptr.h.

◆ swap() [2/2]

template<typename W >
constexpr void o2::observer_ptr< W >::swap ( std::nullptr_t  )
inlineconstexprnoexcept

Definition at line 50 of file observer_ptr.h.


The documentation for this class was generated from the following file: