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 TClass * | operator() (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 TClass * | operator() (const void *obj)=0 |
virtual void | SetClass (TClass *cl)=0 |
Protected Member Functions | |
TIsAProxy (const TIsAProxy &)=delete | |
TIsAProxy & | operator= (const TIsAProxy &)=delete |
Private Types | |
template<typename T > | |
using | Atomic_t = std::atomic< T > |
Private Member Functions | |
void * | CacheSubType (const std::type_info *, TClass *) |
Record the TClass found for a std::type_info, so that we can retrieved it faster. More... | |
void * | FindSubType (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_t > | fInit |
Atomic_t< void * > | fLast |
Char_t | fSubTypes [72] |
Atomic_t< UInt_t > | fSubTypesReaders |
Atomic_t< Bool_t > | fSubTypesWriteLockTaken |
const std::type_info * | fType |
Bool_t | fVirtual |
#include <TIsAProxy.h>
|
private |
Definition at line 29 of file TIsAProxy.h.
|
protecteddelete |
TIsAProxy::TIsAProxy | ( | const std::type_info & | typ | ) |
Standard initializing constructor.
Definition at line 47 of file TIsAProxy.cxx.
|
virtual |
Standard destructor.
Definition at line 60 of file TIsAProxy.cxx.
Record the TClass found for a std::type_info, so that we can retrieved it faster.
Definition at line 158 of file TIsAProxy.cxx.
|
inlineprivate |
See if we have already cached the TClass that correspond to this std::type_info.
Definition at line 128 of file TIsAProxy.cxx.
Set class pointer This method is not thread safe.
Implements TVirtualIsAProxy.
Definition at line 71 of file TIsAProxy.cxx.
Definition at line 32 of file TIsAProxy.h.
Definition at line 38 of file TIsAProxy.h.
Definition at line 33 of file TIsAProxy.h.
|
private |
Definition at line 34 of file TIsAProxy.h.
Definition at line 35 of file TIsAProxy.h.
Definition at line 36 of file TIsAProxy.h.
|
private |
Definition at line 31 of file TIsAProxy.h.
|
private |
Definition at line 37 of file TIsAProxy.h.