12#ifndef ROOT_TMethodCall
13#define ROOT_TMethodCall
64 void Execute(
const char *,
const char *,
int * =
nullptr)
override { }
73 TMethodCall(
const char *function,
const char *params);
82 void Init(
const char *function,
const char *params);
104 template <
typename... T>
void SetParams(
const T&... params) {
110 void Execute(
void *
object,
const char *params);
116 void Execute(
void *
object,
char **retText);
117 void Execute(
void *
object,
const char *params,
char **retText);
120 void Execute(
const char *params);
126 void Execute(
const char *params,
char **retText);
128 void Execute(
void *objAddress,
const void* args[],
int nargs,
void *
ret =
nullptr);
136 {
Execute((
void *)0, params); }
138 {
Execute((
void *)0, retLong); }
140 {
Execute((
void *)0, params, retLong); }
142 {
Execute((
void *)0, retDouble); }
144 {
Execute((
void *)0, params, retDouble); }
146 {
Execute((
void *)0, retText); }
148 {
Execute((
void *)0, params, retText); }
int Int_t
Signed integer 4 bytes (int).
long Longptr_t
Integer large enough to hold a pointer (platform-dependent).
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
long long Long64_t
Portable signed long integer 8 bytes.
unsigned long long ULong64_t
Portable unsigned long integer 8 bytes.
float Float_t
Float 4 bytes (float).
#define ClassDefOverride(name, id)
TClass instances represent classes, structs and namespaces in the ROOT type system.
Global functions class (global functions are obtained from CINT).
Method or function calling interface.
EReturnType ReturnType()
Returns the return type of the method.
TMethodCall()
Default TMethodCall ctor.
void CallDtorOnly(Bool_t set=kTRUE)
TMethodCall & operator=(const TMethodCall &rhs)
Assignment operator.
~TMethodCall()
TMethodCall dtor.
static const EReturnType kLong
const char * GetMethodName() const
static const EReturnType kNoReturnType
static const EReturnType kString
void Execute(TMethod *, TObjArray *, int *=nullptr) override
Execute method on this object with parameters stored in the TObjArray.
void ResetParam()
Reset parameter list. To be used before the first call the SetParam().
TObject * Clone(const char *newname="") const override
Return an exact copy of this object.
static const EReturnType kOther
const char * GetParams() const
CallFunc_t * GetCallFunc() const
TFunction * GetMethod()
Returns the TMethod describing the method to be executed.
const char * GetProto() const
static const EReturnType kNone
void Execute(const char *, const char *, int *=nullptr) override
Execute method on this object with the given parameter string, e.g.
void Init(const TFunction *func)
Initialize the method invocation environment based on the TFunction object.
void InitImplementation(const char *methodname, const char *params, const char *proto, Bool_t objectIsConst, TClass *cl, const ClassInfo_t *cinfo, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
This function implements Init and InitWithPrototype.
TInterpreter::EReturnType EReturnType
Bool_t IsValid() const
Return true if the method call has been properly initialized and is usable.
void SetParams(const T &... params)
void InitWithPrototype(TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
Initialize the method invocation environment.
static const EReturnType kDouble
void SetParam(Long_t l)
Add a long method parameter.
void SetParamPtrs(void *paramArr, Int_t nparam=-1)
Set pointers to parameters.
Each ROOT class (see TClass) has a linked list of methods.
Mother of all ROOT objects.
TObject()
TObject constructor.