/usr/include/root/CallFunc.h is in libroot-core-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | /* /% C++ %/ */
/***********************************************************************
* cint (C/C++ interpreter)
************************************************************************
* Header file CallFunc.h
************************************************************************
* Description:
* Extended Run Time Type Identification API
************************************************************************
* Copyright(c) 1995~2003 Masaharu Goto
*
* For the licensing terms see the file COPYING
*
************************************************************************/
#ifndef G__CALLFUNC_H
#define G__CALLFUNC_H
#ifndef G__API_H
#include "Api.h"
#endif
namespace Cint {
/*********************************************************************
* class G__CallFunc
*
*
*********************************************************************/
class
#ifndef __CINT__
G__EXPORT
#endif
G__CallFunc {
public:
~G__CallFunc() {}
G__CallFunc() ;
G__CallFunc(const G__CallFunc& cf)
#ifndef __MAKECINT__
:pfunc(cf.pfunc),
result(cf.result),
#ifdef G__ASM_WHOLEFUNC
bytecode(cf.bytecode),
#endif
method(cf.method),
para(cf.para)
#endif /* __MAKECINT__ */
{}
G__CallFunc& operator=(const G__CallFunc& cf) {
if (&cf != this) {
#ifndef __MAKECINT__
pfunc=cf.pfunc;
result=cf.result;
#ifdef G__ASM_WHOLEFUNC
bytecode=cf.bytecode;
#endif
method=cf.method;
para=cf.para;
#endif /* __MAKECINT__ */
}
return *this;
}
void Init() ;
enum MatchMode { ExactMatch=0, ConversionMatch=1 };
void SetFunc(G__ClassInfo* cls,const char* fname,const char* args
,long* poffset,MatchMode mode=ConversionMatch);
void SetFuncProto(G__ClassInfo* cls,const char* fname,const char* argtype,long* poffset);
// begin old interface
void SetFunc(G__InterfaceMethod f);
void SetFunc(G__MethodInfo m);
#ifdef G__ASM_WHOLEFUNC
void SetBytecode(struct G__bytecodefunc* bc);
#endif
int IsValid() { /* return(pfunc?1:0l; */ return(method.IsValid());}
void SetArgArray(long *p,int narg= -1);
void ResetArg() { para.paran=0; }
void SetArg(long l) ;
void SetArg(unsigned long ul) ;
void SetArg(double d) ;
void SetArgRef(long& l) ;
void SetArgRef(double& d) ;
void SetArg( G__value );
#ifdef G__NATIVELONGLONG
void SetArg(G__int64 ll);
void SetArg(G__uint64 ull);
void SetArg(long double ld);
void SetArgRef(G__int64& ll);
void SetArgRef(G__uint64& ull);
void SetArgRef(long double& ld);
#endif
// end old interface
G__value Execute(void *pobject );
void Exec(void *pobject) { Execute(pobject); }
long ExecInt(void *pobject) { return G__int(Execute(pobject)); }
double ExecDouble(void *pobject) { return G__double(Execute(pobject)); }
#ifdef G__NATIVELONGLONG
G__int64 ExecInt64(void *pobject) { return G__Longlong(Execute(pobject)); }
#endif
G__InterfaceMethod InterfaceMethod() { return pfunc; }
void SetArgs(const char* args);
void SetArgs(const G__param &p);
G__MethodInfo GetMethodInfo() { return method; }
private:
void SetFuncType();
#ifndef __MAKECINT__
G__InterfaceMethod pfunc;
G__value result;
#ifdef G__ASM_WHOLEFUNC
struct G__bytecodefunc *bytecode;
#endif
G__MethodInfo method;
struct G__param para;
int ExecInterpretedFunc(G__value* presult);
#endif /* __MAKECINT__ */
};
} // namespace Cint
using namespace Cint;
#endif
|