3#ifndef PYROOT_EXECUTORS_H
4#define PYROOT_EXECUTORS_H
23#define PYROOT_DECLARE_BASIC_EXECUTOR( name ) \
24 class T##name##Executor : public TExecutor { \
26 virtual PyObject* Execute( \
27 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext* ); \
98#define PYROOT_DECLARE_BASIC_REFEXECUTOR( name ) \
99 class T##name##RefExecutor : public TRefExecutor { \
101 virtual PyObject* Execute( \
102 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext* ); \
TCppObjectArrayExecutor(Cppyy::TCppType_t klass, Py_ssize_t array_size)
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
execute <method> with argument <self, ctxt>, construct TTupleOfInstances from return value
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
smart pointer excutor
Cppyy::TCppMethod_t fDereferencer
TCppObjectBySmartPtrExecutor(Cppyy::TCppType_t klass, Cppyy::TCppType_t rawPtrType, Cppyy::TCppMethod_t deref)
Cppyy::TCppType_t fRawPtrType
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
smart pointer excutor
Cppyy::TCppMethod_t fDereferencer
TCppObjectBySmartPtrRefExecutor(Cppyy::TCppType_t klass, Cppyy::TCppType_t rawPtrType, Cppyy::TCppMethod_t deref)
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
Cppyy::TCppType_t fRawPtrType
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
execution will bring a temporary in existence
TCppObjectExecutor(Cppyy::TCppType_t klass)
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
execute <method> with argument <self, ctxt>, construct python proxy object return value
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
execute <method> with argument <self, ctxt>, construct python ROOT object return ptr value
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
execute <method> with argument <self, ctxt>, construct python ROOT object (ignoring ref) return ptr v...
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)
executor binds the result to the left-hand side, overwriting if an old object
TCppObjectRefExecutor(Cppyy::TCppType_t klass)
virtual PyObject * Execute(Cppyy::TCppMethod_t, Cppyy::TCppObject_t, TCallContext *)=0
virtual Bool_t SetAssignable(PyObject *)
prepare "buffer" for by-ref returns, used with setitem
Global variables class (global variables are obtained from CINT).
PYROOT_DECLARE_BASIC_EXECUTOR(Bool)
TExecutor * CreateExecutor(const std::string &fullType, Bool_t manage_smart_ptr=kTRUE)
PYROOT_DECLARE_BASIC_REFEXECUTOR(Bool)