ROOT  6.06/09
Reference Guide
Namespaces | Macros | Variables
ObjectProxy.cxx File Reference
#include "PyROOT.h"
#include "PyStrings.h"
#include "ObjectProxy.h"
#include "RootWrapper.h"
#include "Utility.h"
#include "TBufferFile.h"
#include "TClass.h"
#include "TObject.h"
#include "TROOT.h"
#include <algorithm>
+ Include dependency graph for ObjectProxy.cxx:

Go to the source code of this file.

Namespaces

 PyROOT
 

Macros

#define PYROOT_STUB(name, op, pystring)
 

Variables

R__EXTERN PyObjectPyROOT::gRootModule = 0
 
PyTypeObject PyROOT::ObjectProxy_Type
 

Macro Definition Documentation

#define PYROOT_STUB (   name,
  op,
  pystring 
)
Value:
PyObject* op_##name##_stub( PyObject* left, PyObject* right ) \
{ \
if ( ! ObjectProxy_Check( left ) ) { \
if ( ObjectProxy_Check( right ) ) { \
std::swap( left, right ); \
} else { \
Py_INCREF( Py_NotImplemented ); \
return Py_NotImplemented; \
} \
} \
/* place holder to lazily install __name__ if a global overload is available */ \
left, right, #op, "__"#name"__", "__r"#name"__" ) ) { \
Py_INCREF( Py_NotImplemented ); \
return Py_NotImplemented; \
} \
\
/* redo the call, which will now go to the newly installed method */ \
return PyObject_CallMethodObjArgs( left, pystring, right, NULL ); \
}
Bool_t AddBinaryOperator(PyObject *left, PyObject *right, const char *op, const char *label, const char *alt_label=NULL)
Install the named operator (op) into the left object's class if such a function exists as a global ov...
Definition: Utility.cxx:315
void swap(ROOT::THist< DIMENSIONS, PRECISION > &a, ROOT::THist< DIMENSIONS, PRECISION > &b) noexcept
Swap two histograms.
Definition: THist.h:196
if(pyself &&pyself!=Py_None)
Bool_t ObjectProxy_Check(T *object)
Definition: ObjectProxy.h:91
return
Definition: TBase64.cxx:62
#define name(a, b)
Definition: linkTestLib0.cpp:5
#define NULL
Definition: Rtypes.h:82
_object PyObject
Definition: TPyArg.h:22

Definition at line 299 of file ObjectProxy.cxx.