Logo ROOT   6.10/09
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 53 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
 
   std::shared_ptr< T >   fShared
 
}; 
 
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 61 of file TDrawable.hxx.

◆ Accessor() [2/2]

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

Definition at line 69 of file TDrawable.hxx.

◆ ~Accessor()

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

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

◆ operator*()

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

Definition at line 77 of file TDrawable.hxx.

◆ operator->()

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

Definition at line 76 of file TDrawable.hxx.

Member Data Documentation

◆ @20

union { ... }

◆ fIsShared

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

fRaw or fShared?

Definition at line 58 of file TDrawable.hxx.

◆ fRaw

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

Definition at line 56 of file TDrawable.hxx.

◆ fShared

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

Definition at line 55 of file TDrawable.hxx.


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