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. | |
| TClass * | operator() (const void *obj) override |
| IsA callback. | |
| void | SetClass (TClass *cl) override |
| 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.
| 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.
|
overridevirtual |
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.
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.