Logo ROOT   6.14/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 TDrawable.hxx.

Public Member Functions

 Accessor (const TUniWeakPtr &uniweak)
 
 Accessor (Accessor &&rhs)
 
 ~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/TDrawable.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 TDrawable.hxx.

◆ Accessor() [2/2]

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

Definition at line 100 of file TDrawable.hxx.

◆ ~Accessor()

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

Definition at line 112 of file TDrawable.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 TDrawable.hxx.

◆ operator*()

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

Definition at line 109 of file TDrawable.hxx.

◆ operator->()

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

Definition at line 108 of file TDrawable.hxx.

Member Data Documentation

◆ @14

union { ... }

◆ fIsShared

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

fRaw or fShared?

Definition at line 89 of file TDrawable.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 TDrawable.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 TDrawable.hxx.


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