HROOT-core-0.8: csrc/HROOT-coreTopLevel.cpp
#include <MacroPatternMatch.h>
#include "HROOT-coreTopLevel.h"
#include "HROOTCoreTGlobal.h"
#include "HROOTCoreTDirectory.h"
#include "TROOT.h"
#include "HROOTCoreTNamed.h"
#include "TSystem.h"
#include "HROOTCoreTROOT.h"
#include "HROOTCoreTSystem.h"
using namespace std;
using namespace ROOT;
template<class ToType, class FromType>
const ToType* to_const(const FromType* x) {
return reinterpret_cast<const ToType*>(x);
}
template<class ToType, class FromType>
ToType* to_nonconst(FromType* x) {
return reinterpret_cast<ToType*>(x);
}
template<class ToType, class FromType>
const ToType& to_constref(const FromType& x) {
return reinterpret_cast<const ToType&>(x);
}
template<class ToType, class FromType>
ToType& to_nonconstref(FromType& x) {
return reinterpret_cast<ToType&>(x);
}
#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)
#define TYPECASTMETHOD(cname,mname,oname) \
IIF( CHECKPROTECT(cname,mname) ) ( \
(to_nonconst<oname,cname ## _t>), \
(to_nonconst<cname,cname ## _t>) )
TROOT_p TopLevel_GetROOT ( ) {
return to_nonconst<TROOT_t,TROOT>((TROOT*)GetROOT());
}
TROOT_p TopLevel_gROOT ( ) {
return to_nonconst<TROOT_t,TROOT>((TROOT*)gROOT);
}
TSystem_p TopLevel_gSystem ( ) {
return to_nonconst<TSystem_t,TSystem>((TSystem*)gSystem);
}