4#ifndef PYROOT_TMETHODHOLDER_H
5#define PYROOT_TMETHODHOLDER_H
virtual Int_t GetPriority()
Method priorities exist (in lieu of true overloading) there to prevent void* or <unknown>* from usurp...
virtual Bool_t Initialize(TCallContext *ctxt=0)
done if cache is already setup
Cppyy::TCppMethod_t GetMethod()
virtual PyObject * GetCoVarNames()
Build a tuple of the argument types/names.
virtual PyObject * GetSignature()
std::vector< TConverter * > fConverters
virtual Int_t GetMaxArgs()
virtual ~TMethodHolder()
destructor
virtual PyObject * Execute(void *self, ptrdiff_t offset, TCallContext *ctxt=0)
call the interface method
Cppyy::TCppScope_t GetScope()
void Copy_(const TMethodHolder &)
void SetPyError_(PyObject *msg)
helper to report errors in a consistent format (derefs msg)
TMethodHolder & operator=(const TMethodHolder &)
assignment operator
TMethodHolder(Cppyy::TCppScope_t scope, Cppyy::TCppMethod_t method)
TExecutor * GetExecutor()
virtual PyObject * PreProcessArgs(ObjectProxy *&self, PyObject *args, PyObject *kwds)
verify existence of self, return if ok
virtual PyObject * Call(ObjectProxy *&self, PyObject *args, PyObject *kwds, TCallContext *ctxt=0)
preliminary check in case keywords are accidently used (they are ignored otherwise)
std::string GetSignatureString()
built a signature representation (used for doc strings)
Cppyy::TCppScope_t fScope
std::string GetReturnTypeName()
virtual PyObject * GetArgDefault(Int_t iarg)
get the default value (if any) of argument iarg of this method
virtual Bool_t ConvertAndSetArgs(PyObject *args, TCallContext *ctxt=0)
Cppyy::TCppMethod_t fMethod
void Destroy_() const
destroy executor and argument converters
virtual PyCallable * Clone()
PyObject * CallFast(void *, ptrdiff_t, TCallContext *)
Helper code to prevent some duplication; this is called from CallSafe() as well as directly from TMet...
Bool_t InitConverters_()
build buffers for argument dispatching
virtual PyObject * GetPrototype()
virtual Bool_t InitExecutor_(TExecutor *&, TCallContext *ctxt=0)
install executor conform to the return type
PyObject * CallSafe(void *, ptrdiff_t, TCallContext *)
Helper code to prevent some code duplication; this code embeds a ROOT "try/catch" block that saves th...
virtual PyObject * GetScopeProxy()
Get or build the scope of this method.