library: libCore #include "TMethodCall.h" |
TMethodCall
class description - source file - inheritance tree (.pdf)
private:
virtual void Execute(const char*, const char*, int* = 0)
virtual void Execute(TMethod*, TObjArray*, int* = 0)
public:
TMethodCall()
TMethodCall(TClass* cl, const char* method, const char* params)
TMethodCall(const char* function, const char* params)
TMethodCall(const TMethodCall& org)
~TMethodCall()
void CallDtorOnly(Bool_t set = kTRUE)
static TClass* Class()
virtual TObject* Clone(const char* newname = "") const
void Execute(void* object)
void Execute(void* object, const char* params)
void Execute(void* object, Long_t& retLong)
void Execute(void* object, const char* params, Long_t& retLong)
void Execute(void* object, Double_t& retDouble)
void Execute(void* object, const char* params, Double_t& retDouble)
void Execute(void* object, char** retText)
void Execute(void* object, const char* params, char** retText)
void Execute()
void Execute(const char* params)
void Execute(Long_t& retLong)
void Execute(const char* params, Long_t& retLong)
void Execute(Double_t& retDouble)
void Execute(const char* params, Double_t& retDouble)
TFunction* GetMethod()
const char* GetMethodName() const
const char* GetParams() const
const char* GetProto() const
void Init(TClass* cl, const char* method, const char* params)
void Init(const char* function, const char* params)
void InitWithPrototype(TClass* cl, const char* method, const char* proto)
void InitWithPrototype(const char* function, const char* proto)
virtual TClass* IsA() const
Bool_t IsValid() const
TMethodCall& operator=(const TMethodCall& rhs)
void ResetParam()
TMethodCall::EReturnType ReturnType()
void SetParam(Long_t l)
void SetParam(Double_t d)
void SetParam(Long64_t ll)
void SetParam(ULong64_t ull)
void SetParamPtrs(void* paramArr, Int_t nparam = -1)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
G__CallFunc* fFunc CINT method invocation environment
Long_t fOffset offset added to object pointer before method invocation
TClass* fClass pointer to the class info
TFunction* fMetPtr pointer to the method or function info
TString fMethod method name
TString fParams argument string
TString fProto prototype string
Bool_t fDtorOnly call only dtor and not delete when calling ~xxx
TMethodCall::EReturnType fRetType method return type
public:
static const TMethodCall::EReturnType kLong
static const TMethodCall::EReturnType kDouble
static const TMethodCall::EReturnType kString
static const TMethodCall::EReturnType kOther
static const TMethodCall::EReturnType kNone
TMethodCall
Method or function calling interface. Objects of this class contain
the (CINT) environment to call a global function or a method for an
object of a specific class with the desired arguments. This class is
espicially useful when a method has to be called more times for
different objects and/or with different arguments. If a function or
method needs to be called only once one better uses
TInterpreter::Execute().
TMethodCall()
Default TMethodCall ctor. Use Init() to initialize the method call
environment.
TMethodCall(TClass *cl, const char *method, const char *params)
Create a method invocation environment for a specific class, method and
parameters. The parameter string has the form: "\"aap\", 3, 4.35".
To execute the method call TMethodCall::Execute(object,...).
This two step method is much more efficient than calling for
every invocation TInterpreter::Execute(...).
TMethodCall(const char *function, const char *params)
Create a global function invocation environment. The parameter
string has the form: "\"aap\", 3, 4,35". To execute the
function call TMethodCall::Execute(...).
This two step method is much more efficient than calling for
every invocation TInterpreter::Execute(...).
TMethodCall(const TMethodCall &orig) : TObject(orig)
Copy ctor.
~TMethodCall()
TMethodCall dtor.
TObject* Clone(const char *) const
void Init(TClass *cl, const char *method, const char *params)
Initialize the method invocation environment. Necessary input
information: the class, method name and the parameter string
of the form "\"aap\", 3, 4.35".
To execute the method call TMethodCall::Execute(object,...).
This two step method is much more efficient than calling for
every invocation TInterpreter::Execute(...).
void Init(const char *function, const char *params)
Initialize the function invocation environment. Necessary input
information: the function name and the parameter string of
the form "\"aap\", 3, 4.35".
To execute the method call TMethodCall::Execute(...).
This two step method is much more efficient than calling for
every invocation TInterpreter::Execute(...).
void InitWithPrototype(TClass *cl, const char *method, const char *proto)
Initialize the method invocation environment. Necessary input
information: the class, method name and the prototype string of
the form: "char*,int,float".
To execute the method call TMethodCall::Execute(object,...).
This two step method is much more efficient than calling for
every invocation TInterpreter::Execute(...).
void InitWithPrototype(const char *function, const char *proto)
Initialize the function invocation environment. Necessary input
information: the function name and the prototype string of
the form: "char*,int,float".
To execute the method call TMethodCall::Execute(...).
This two step method is much more efficient than calling for
every invocation TInterpreter::Execute(...).
Bool_t IsValid() const
Return true if the method call has been properly initialized and is
usable.
TFunction* GetMethod()
Returns the TMethod describing the method to be executed. This takes
all overriding and overloading into account (call TClass::GetMethod()).
Since finding the method is expensive the result is cached.
void Execute(void *object)
Execute the method (with preset arguments) for the specified object.
void Execute(void *object, const char *params)
Execute the method for the specified object and argument values.
void Execute(void *object, Long_t &retLong)
Execute the method (with preset arguments) for the specified object.
void Execute(void *object, const char *params, Long_t &retLong)
Execute the method for the specified object and argument values.
void Execute(void *object, Double_t &retDouble)
Execute the method (with preset arguments) for the specified object.
void Execute(void *object, const char *params, Double_t &retDouble)
Execute the method for the specified object and argument values.
void Execute(void *object, char **retText)
Execute the method (with preset arguments) for the specified object.
void Execute(void *object, const char *params, char **retText)
Execute the method for the specified object and argument values.
void SetParamPtrs(void *paramArr, Int_t nparam)
ParamArr is an array containing the function argument values.
If nparam = -1 then paramArr must contain values for all function
arguments, otherwise Nargs-NargsOpt <= nparam <= Nargs, where
Nargs is the number of all arguments and NargsOpt is the number
of default arguments.
void ResetParam()
Reset parameter list. To be used before the first call the SetParam().
void SetParam(Long_t l)
Set long method parameter.
void SetParam(Double_t d)
Set double method parameter.
void SetParam(Long64_t ll)
Set long long method parameter.
void SetParam(ULong64_t ull)
Set unsigned long long method parameter.
Inline Functions
TMethodCall& operator=(const TMethodCall& rhs)
void CallDtorOnly(Bool_t set = kTRUE)
const char* GetMethodName() const
const char* GetParams() const
const char* GetProto() const
TMethodCall::EReturnType ReturnType()
void Execute(void* object, char** retText)
void Execute(void* object, const char* params, char** retText)
void Execute()
void Execute(const char* params)
void Execute(Long_t& retLong)
void Execute(const char* params, Long_t& retLong)
void Execute(Double_t& retDouble)
void Execute(const char* params, Double_t& retDouble)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Fons Rademakers 13/06/96
Last update: Root/meta:$Name: $:$Id: TMethodCall.cxx,v 1.23 2005/09/03 00:48:25 pcanal Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
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.