#ifndef ROOT_TIsAProxy
#define ROOT_TIsAProxy
#ifndef ROOT_TVirtualIsAProxy
#include "TVirtualIsAProxy.h"
#endif
class TClass;
class TIsAProxy  : public TVirtualIsAProxy {
private:
   const type_info   *fType;         
   const type_info   *fLastType;     
   TClass            *fClass;        
   TClass            *fLastClass;    
   Char_t             fSubTypes[72]; 
   Bool_t             fVirtual;      
   void              *fContext;      
   Bool_t             fInit;         
protected:
   TIsAProxy(const TIsAProxy&);
   TIsAProxy& operator=(const TIsAProxy&);
public:
   
   TIsAProxy(const type_info &typ, void *ctxt = 0);
   
   virtual ~TIsAProxy();
   
   virtual void SetClass(TClass *cl);
   
   virtual TClass* operator()(const void *obj);
};
template <class T> class TInstrumentedIsAProxy : public TVirtualIsAProxy {
private:
   TClass *fClass;        
protected:
   TInstrumentedIsAProxy(const TInstrumentedIsAProxy& iip) : 
     TVirtualIsAProxy(iip), fClass(iip.fClass) { }
   TInstrumentedIsAProxy& operator=(const TInstrumentedIsAProxy& iip)
     {if(this!=&iip) {TVirtualIsAProxy::operator=(iip); fClass=iip.fClass;}
     return *this;}
public:
   
   TInstrumentedIsAProxy(TClass *cl) : fClass(cl)      {}
   
   virtual ~TInstrumentedIsAProxy()                    {}
   
   virtual void SetClass(TClass *cl)                   { fClass = cl; }
   
   virtual TClass* operator()(const void *obj) {
      return obj==0 ? fClass : ((T*)obj)->IsA();
   }
};
#endif // ROOT_TIsAProxy
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.