#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
ROOT page - Class index - Class Hierarchy - Top of the page
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.