Logo ROOT  
Reference Guide
TIsAProxy Class Reference

TIsAProxy implementation class.

Definition at line 27 of file TIsAProxy.h.

Public Member Functions

 TIsAProxy (const std::type_info &typ)
 Standard initializing constructor. More...
 
virtual ~TIsAProxy ()
 Standard destructor. More...
 
virtual TClassoperator() (const void *obj)
 IsA callback. More...
 
virtual void SetClass (TClass *cl)
 Set class pointer This method is not thread safe. More...
 
- Public Member Functions inherited from TVirtualIsAProxy
virtual ~TVirtualIsAProxy ()
 
virtual TClassoperator() (const void *obj)=0
 
virtual void SetClass (TClass *cl)=0
 

Protected Member Functions

 TIsAProxy (const TIsAProxy &)=delete
 
TIsAProxyoperator= (const TIsAProxy &)=delete
 

Private Types

template<typename T >
using Atomic_t = std::atomic< T >
 

Private Member Functions

voidCacheSubType (const std::type_info *, TClass *)
 Record the TClass found for a std::type_info, so that we can retrieved it faster. More...
 
voidFindSubType (const std::type_info *) const
 See if we have already cached the TClass that correspond to this std::type_info. More...
 

Private Attributes

Atomic_t< TClass * > fClass
 
Atomic_t< Bool_tfInit
 
Atomic_t< void * > fLast
 
Char_t fSubTypes [72]
 
Atomic_t< UInt_tfSubTypesReaders
 
Atomic_t< Bool_tfSubTypesWriteLockTaken
 
const std::type_info * fType
 
Bool_t fVirtual
 

#include <TIsAProxy.h>

Inheritance diagram for TIsAProxy:
[legend]

Member Typedef Documentation

◆ Atomic_t

template<typename T >
using TIsAProxy::Atomic_t = std::atomic<T>
private

Definition at line 29 of file TIsAProxy.h.

Constructor & Destructor Documentation

◆ TIsAProxy() [1/2]

TIsAProxy::TIsAProxy ( const TIsAProxy )
protecteddelete

◆ TIsAProxy() [2/2]

TIsAProxy::TIsAProxy ( const std::type_info &  typ)

Standard initializing constructor.

Definition at line 47 of file TIsAProxy.cxx.

◆ ~TIsAProxy()

TIsAProxy::~TIsAProxy ( )
virtual

Standard destructor.

Definition at line 60 of file TIsAProxy.cxx.

Member Function Documentation

◆ CacheSubType()

void * TIsAProxy::CacheSubType ( const std::type_info *  type,
TClass cls 
)
private

Record the TClass found for a std::type_info, so that we can retrieved it faster.

Definition at line 158 of file TIsAProxy.cxx.

◆ FindSubType()

void * TIsAProxy::FindSubType ( const std::type_info *  type) const
inlineprivate

See if we have already cached the TClass that correspond to this std::type_info.

Definition at line 128 of file TIsAProxy.cxx.

◆ operator()()

TClass * TIsAProxy::operator() ( const void obj)
virtual

IsA callback.

Implements TVirtualIsAProxy.

Definition at line 81 of file TIsAProxy.cxx.

◆ operator=()

TIsAProxy & TIsAProxy::operator= ( const TIsAProxy )
protecteddelete

◆ SetClass()

void TIsAProxy::SetClass ( TClass cl)
virtual

Set class pointer This method is not thread safe.

Implements TVirtualIsAProxy.

Definition at line 71 of file TIsAProxy.cxx.

Member Data Documentation

◆ fClass

Atomic_t<TClass*> TIsAProxy::fClass
private

Definition at line 32 of file TIsAProxy.h.

◆ fInit

Atomic_t<Bool_t> TIsAProxy::fInit
private

Definition at line 38 of file TIsAProxy.h.

◆ fLast

Atomic_t<void*> TIsAProxy::fLast
private

Definition at line 33 of file TIsAProxy.h.

◆ fSubTypes

Char_t TIsAProxy::fSubTypes[72]
private

Definition at line 34 of file TIsAProxy.h.

◆ fSubTypesReaders

Atomic_t<UInt_t> TIsAProxy::fSubTypesReaders
mutableprivate

Definition at line 35 of file TIsAProxy.h.

◆ fSubTypesWriteLockTaken

Atomic_t<Bool_t> TIsAProxy::fSubTypesWriteLockTaken
private

Definition at line 36 of file TIsAProxy.h.

◆ fType

const std::type_info* TIsAProxy::fType
private

Definition at line 31 of file TIsAProxy.h.

◆ fVirtual

Bool_t TIsAProxy::fVirtual
private

Definition at line 37 of file TIsAProxy.h.


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