ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TIsAProxy Class Reference

TIsAProxy implementation class.

Definition at line 30 of file TIsAProxy.h.

Public Member Functions

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

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

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

Private Attributes

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

#include <TIsAProxy.h>

Inheritance diagram for TIsAProxy:
[legend]

Member Typedef Documentation

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

Definition at line 32 of file TIsAProxy.h.

Constructor & Destructor Documentation

TIsAProxy::TIsAProxy ( const TIsAProxy )
protecteddelete
TIsAProxy::TIsAProxy ( const type_info &  typ)
TIsAProxy::~TIsAProxy ( )
virtual

Standard destructor.

Definition at line 60 of file TIsAProxy.cxx.

Member Function Documentation

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

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

Definition at line 158 of file TIsAProxy.cxx.

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

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

Definition at line 128 of file TIsAProxy.cxx.

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

IsA callback.

Implements TVirtualIsAProxy.

Definition at line 81 of file TIsAProxy.cxx.

TIsAProxy& TIsAProxy::operator= ( const TIsAProxy )
protecteddelete
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

Atomic_t<TClass*> TIsAProxy::fClass
private

Definition at line 35 of file TIsAProxy.h.

Atomic_t<Bool_t> TIsAProxy::fInit
private

Definition at line 41 of file TIsAProxy.h.

Atomic_t<void*> TIsAProxy::fLast
private

Definition at line 36 of file TIsAProxy.h.

Char_t TIsAProxy::fSubTypes[72]
private

Definition at line 37 of file TIsAProxy.h.

Atomic_t<UInt_t> TIsAProxy::fSubTypesReaders
mutableprivate

Definition at line 38 of file TIsAProxy.h.

Atomic_t<Bool_t> TIsAProxy::fSubTypesWriteLockTaken
private

Definition at line 39 of file TIsAProxy.h.

const type_info* TIsAProxy::fType
private

Definition at line 34 of file TIsAProxy.h.

Bool_t TIsAProxy::fVirtual
private

Definition at line 40 of file TIsAProxy.h.

Collaboration diagram for TIsAProxy:
[legend]

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