vsg  1.1.0
VulkanSceneGraph library
Public Types | Public Member Functions | Protected Attributes | List of all members
vsg::observer_ptr< T > Class Template Reference

#include <observer_ptr.h>

Collaboration diagram for vsg::observer_ptr< T >:
Collaboration graph
[legend]

Public Types

using element_type = T
 

Public Member Functions

 observer_ptr (const observer_ptr &rhs)
 
template<class R >
 observer_ptr (R *ptr)
 
template<class R >
 observer_ptr (const observer_ptr< R > &ptr)
 
template<class R >
 observer_ptr (const vsg::ref_ptr< R > &ptr)
 
void reset ()
 
template<class R >
observer_ptroperator= (R *ptr)
 
observer_ptroperator= (const observer_ptr &rhs)
 
template<class R >
observer_ptroperator= (const observer_ptr< R > &rhs)
 
template<class R >
observer_ptroperator= (const vsg::ref_ptr< R > &rhs)
 
template<class R >
bool operator< (const observer_ptr< R > &rhs) const
 
template<class R >
bool operator== (const observer_ptr< R > &rhs) const
 
template<class R >
bool operator!= (const observer_ptr< R > &rhs) const
 
template<class R >
bool operator< (const R *rhs) const
 
template<class R >
bool operator== (const R *rhs) const
 
template<class R >
bool operator!= (const R *rhs) const
 
bool valid () const noexcept
 
 operator bool () const noexcept
 
vsg::ref_ptr< T > ref_ptr () const
 convert observer_ptr into a ref_ptr so that Object pointed to can be safely accessed.
 
template<class R >
 operator vsg::ref_ptr< R > () const
 convert observer_ptr into a ref_ptr so that Object pointed to can be safely accessed.
 

Protected Attributes

T * _ptr
 
vsg::ref_ptr< Auxiliary_auxiliary
 

Detailed Description

template<class T>
class vsg::observer_ptr< T >

weak smart pointer that works in conjunction with vsg::ref_ptr<> and vsg::Object/vsg::Auxiliary to provide broadly similar functionality to std::weak_ptr<>.


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