Logo ROOT   6.18/05
Reference Guide
List of all members | Public Member Functions | Private Attributes | List of all members
ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor Class Reference

template<class T>
class ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor

Gives transparent access to the shared or unique pointer.

Locks if needed.

Definition at line 84 of file RDrawable.hxx.

Public Member Functions

 Accessor (Accessor &&rhs)
 
 Accessor (const TUniWeakPtr &uniweak)
 
 ~Accessor ()
 
 operator bool () const
 
T & operator* () const
 
T * operator-> () const
 

Private Attributes

union {
   T *   fRaw
 The raw, non-owning pointer accessing a TUniWeak's unique_ptr. More...
 
   std::shared_ptr< T >   fShared
 The shared_ptr accessing a TUniWeak's weak_ptr. More...
 
}; 
 
bool fIsShared
 fRaw or fShared? More...
 

#include <ROOT/RDrawable.hxx>

Constructor & Destructor Documentation

◆ Accessor() [1/2]

template<class T >
ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::Accessor ( const TUniWeakPtr uniweak)
inline

Definition at line 92 of file RDrawable.hxx.

◆ Accessor() [2/2]

template<class T >
ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::Accessor ( Accessor &&  rhs)
inline

Definition at line 100 of file RDrawable.hxx.

◆ ~Accessor()

template<class T >
ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::~Accessor ( )
inline

Definition at line 112 of file RDrawable.hxx.

Member Function Documentation

◆ operator bool()

template<class T >
ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::operator bool ( ) const
inline

Definition at line 110 of file RDrawable.hxx.

◆ operator*()

template<class T >
T & ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::operator* ( ) const
inline

Definition at line 109 of file RDrawable.hxx.

◆ operator->()

template<class T >
T * ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::operator-> ( ) const
inline

Definition at line 108 of file RDrawable.hxx.

Member Data Documentation

◆ 

union { ... } ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::@15

◆ fIsShared

template<class T >
bool ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::fIsShared
private

fRaw or fShared?

Definition at line 89 of file RDrawable.hxx.

◆ fRaw

template<class T >
T* ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::fRaw

The raw, non-owning pointer accessing a TUniWeak's unique_ptr.

Definition at line 86 of file RDrawable.hxx.

◆ fShared

template<class T >
std::shared_ptr<T> ROOT::Experimental::Internal::TUniWeakPtr< T >::Accessor::fShared

The shared_ptr accessing a TUniWeak's weak_ptr.

Definition at line 87 of file RDrawable.hxx.


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