TIsAProxy implementation class.
Definition at line 27 of file TIsAProxy.h.
Public Member Functions | |
TIsAProxy (const std::type_info &typ) | |
Standard initializing constructor. | |
virtual | ~TIsAProxy () |
Standard destructor. | |
virtual TClass * | operator() (const void *obj) |
IsA callback. | |
virtual void | SetClass (TClass *cl) |
Set class pointer This method is not thread safe. | |
Public Member Functions inherited from TVirtualIsAProxy | |
virtual | ~TVirtualIsAProxy () |
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. | |
void * | FindSubType (const std::type_info *) const |
See if we have already cached the TClass that correspond to this std::type_info. | |
Private Attributes | |
TClass * | fClass |
Atomic_t< Bool_t > | fInit |
Atomic_t< void * > | fLasts [fgMaxLastSlot] |
Atomic_t< UChar_t > | fNextLastSlot |
Char_t | fSubTypes [72] |
Atomic_t< UInt_t > | fSubTypesReaders |
Atomic_t< Bool_t > | fSubTypesWriteLockTaken |
const std::type_info * | fType |
Bool_t | fVirtual |
Static Private Attributes | |
static constexpr UInt_t | fgMaxLastSlot = 8 |
#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 48 of file TIsAProxy.cxx.
|
virtual |
Standard destructor.
Definition at line 63 of file TIsAProxy.cxx.
Record the TClass found for a std::type_info, so that we can retrieved it faster.
Definition at line 174 of file TIsAProxy.cxx.
|
inlineprivate |
See if we have already cached the TClass that correspond to this std::type_info.
Definition at line 144 of file TIsAProxy.cxx.
Set class pointer This method is not thread safe.
Implements TVirtualIsAProxy.
Definition at line 74 of file TIsAProxy.cxx.
|
private |
Definition at line 39 of file TIsAProxy.h.
|
staticconstexprprivate |
Definition at line 36 of file TIsAProxy.h.
Definition at line 45 of file TIsAProxy.h.
|
private |
Definition at line 40 of file TIsAProxy.h.
Definition at line 44 of file TIsAProxy.h.
|
private |
Definition at line 41 of file TIsAProxy.h.
Definition at line 42 of file TIsAProxy.h.
Definition at line 43 of file TIsAProxy.h.
|
private |
Definition at line 38 of file TIsAProxy.h.
|
private |
Definition at line 46 of file TIsAProxy.h.