ROOT  6.06/09
Reference Guide
Functions
PyROOT::Utility Namespace Reference

Functions

Bool_t AddToClass (PyObject *pyclass, const char *label, PyCFunction cfunc, int flags=METH_VARARGS)
 Add the given function to the class under name 'label'. More...
 
Bool_t AddToClass (PyObject *pyclass, const char *label, const char *func)
 Add the given function to the class under name 'label'. More...
 
Bool_t AddToClass (PyObject *pyclass, const char *label, PyCallable *pyfunc)
 Add the given function to the class under name 'label'. More...
 
Bool_t AddUsingToClass (PyObject *pyclass, const char *method)
 Helper to add base class methods to the derived class one (this covers the 'using' cases, which the dictionary does not provide). More...
 
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 overload; a label must be given if the operator is not in gC2POperatorMapping (i.e. More...
 
Bool_t AddBinaryOperator (PyObject *pyclass, const char *op, const char *label, const char *alt_label=NULL)
 Install binary operator op in pyclass, working on two instances of pyclass. More...
 
Bool_t AddBinaryOperator (PyObject *pyclass, const std::string &lcname, const std::string &rcname, const char *op, const char *label, const char *alt_label=NULL)
 
PyObjectBuildTemplateName (PyObject *pyname, PyObject *args, int argoff)
 Helper to construct the "< type, type, ... >" part of a templated name (either for a class as in MakeRootTemplateClass in RootModule.cxx) or for method lookup (as in TemplatedMemberHook, below). More...
 
Bool_t InitProxy (PyObject *module, PyTypeObject *pytype, const char *name)
 Initialize a proxy class for use by python, and add it to the ROOT module. More...
 
int GetBuffer (PyObject *pyobject, char tc, int size, void *&buf, Bool_t check=kTRUE)
 Retrieve a linear buffer pointer from the given pyobject. More...
 
std::string MapOperatorName (const std::string &name, Bool_t bTakesParames)
 Map the given C++ operator name on the python equivalent. More...
 
const std::string Compound (const std::string &name)
 Break down the compound of a fully qualified type name. More...
 
Py_ssize_t ArraySize (const std::string &name)
 Extract size from an array type, if available. More...
 
const std::string ClassName (PyObject *pyobj)
 Retrieve the class name from the given python object (which may be just an instance of the class). More...
 
void ErrMsgCallback (char *msg)
 Translate CINT error/warning into python equivalent. More...
 
void ErrMsgHandler (int level, Bool_t abort, const char *location, const char *msg)
 Translate ROOT error/warning to python. More...
 
voidCreateWrapperMethod (PyObject *pyfunc, Long_t user, const char *retType, const std::vector< std::string > &signature, const char *callback)
 Compile a function on the fly and return a function pointer for use on C-APIs. More...
 
PyObjectPyErr_Occurred_WithGIL ()
 Re-acquire the GIL before calling PyErr_Occurred() in case it has been released; note that the p2.2 code assumes that there are no callbacks in C++ to python (or at least none returning errors). More...
 
PyObjectInstallGUIEventInputHook ()
 
PyObjectRemoveGUIEventInputHook ()
 

Function Documentation

Bool_t PyROOT::Utility::AddBinaryOperator ( PyObject left,
PyObject right,
const char *  op,
const char *  label,
const char *  alt = NULL 
)

Install the named operator (op) into the left object's class if such a function exists as a global overload; a label must be given if the operator is not in gC2POperatorMapping (i.e.

if it is ambiguous at the member level).

Definition at line 315 of file Utility.cxx.

Referenced by AddBinaryOperator(), and PyROOT::Pythonize().

Bool_t PyROOT::Utility::AddBinaryOperator ( PyObject pyclass,
const char *  op,
const char *  label,
const char *  alt_label = NULL 
)

Install binary operator op in pyclass, working on two instances of pyclass.

Definition at line 336 of file Utility.cxx.

Bool_t PyROOT::Utility::AddBinaryOperator ( PyObject pyclass,
const std::string &  lcname,
const std::string &  rcname,
const char *  op,
const char *  label,
const char *  alt_label = NULL 
)

Definition at line 363 of file Utility.cxx.

Bool_t PyROOT::Utility::AddToClass ( PyObject pyclass,
const char *  label,
PyCFunction  cfunc,
int  flags = METH_VARARGS 
)

Add the given function to the class under name 'label'.

Definition at line 186 of file Utility.cxx.

Referenced by AddBinaryOperator(), and PyROOT::Pythonize().

Bool_t PyROOT::Utility::AddToClass ( PyObject pyclass,
const char *  label,
const char *  func 
)

Add the given function to the class under name 'label'.

Definition at line 219 of file Utility.cxx.

Bool_t PyROOT::Utility::AddToClass ( PyObject pyclass,
const char *  label,
PyCallable pyfunc 
)

Add the given function to the class under name 'label'.

Definition at line 234 of file Utility.cxx.

Bool_t PyROOT::Utility::AddUsingToClass ( PyObject pyclass,
const char *  method 
)

Helper to add base class methods to the derived class one (this covers the 'using' cases, which the dictionary does not provide).

Definition at line 261 of file Utility.cxx.

Referenced by PyROOT::Pythonize().

Py_ssize_t PyROOT::Utility::ArraySize ( const std::string &  name)

Extract size from an array type, if available.

Definition at line 671 of file Utility.cxx.

Referenced by PyROOT::CreateExecutor(), and RooStats::HypoTestInverter::RebuildDistributions().

PyObject * PyROOT::Utility::BuildTemplateName ( PyObject pyname,
PyObject args,
int  argoff 
)

Helper to construct the "< type, type, ... >" part of a templated name (either for a class as in MakeRootTemplateClass in RootModule.cxx) or for method lookup (as in TemplatedMemberHook, below).

Definition at line 459 of file Utility.cxx.

const std::string PyROOT::Utility::ClassName ( PyObject pyobj)

Retrieve the class name from the given python object (which may be just an instance of the class).

Definition at line 691 of file Utility.cxx.

Referenced by RooStats::HistFactory::HistFactoryNavigation::_GetAllProducts(), RooStats::HistFactory::HistFactoryNavigation::_GetNodes(), AddBinaryOperator(), TMVA::BinaryTree::AddXMLTo(), drr_return(), and TEveElement::SaveVizParams().

const std::string PyROOT::Utility::Compound ( const std::string &  name)

Break down the compound of a fully qualified type name.

Definition at line 647 of file Utility.cxx.

Referenced by PyROOT::BindCppGlobal(), BuildScopeProxyDict(), PyROOT::CreateConverter(), and PyROOT::CreateExecutor().

void * PyROOT::Utility::CreateWrapperMethod ( PyObject pyfunc,
Long_t  user,
const char *  retType,
const std::vector< std::string > &  signature,
const char *  callback 
)

Compile a function on the fly and return a function pointer for use on C-APIs.

The callback should take a (void*)pyfunc and the (Long_t)user as well as the rest of the declare signature. It should also live in namespace PyROOT

Definition at line 817 of file Utility.cxx.

void PyROOT::Utility::ErrMsgCallback ( char *  msg)

Translate CINT error/warning into python equivalent.

Definition at line 714 of file Utility.cxx.

void PyROOT::Utility::ErrMsgHandler ( int  level,
Bool_t  abort,
const char *  location,
const char *  msg 
)

Translate ROOT error/warning to python.

Definition at line 791 of file Utility.cxx.

Referenced by PyROOT::TPyROOTApplication::InitROOTMessageCallback().

int PyROOT::Utility::GetBuffer ( PyObject pyobject,
char  tc,
int  size,
void *&  buf,
Bool_t  check = kTRUE 
)

Retrieve a linear buffer pointer from the given pyobject.

Definition at line 533 of file Utility.cxx.

Referenced by TRootDialog::GetParameters(), PyROOT::TVoidArrayConverter::SetArg(), PyROOT::TVoidPtrPtrConverter::SetArg(), and PyROOT::TVoidArrayConverter::ToMemory().

Bool_t PyROOT::Utility::InitProxy ( PyObject module,
PyTypeObject *  pytype,
const char *  name 
)

Initialize a proxy class for use by python, and add it to the ROOT module.

Definition at line 513 of file Utility.cxx.

Referenced by initlibPyROOT().

PyObject * PyROOT::Utility::InstallGUIEventInputHook ( )

Definition at line 907 of file Utility.cxx.

std::string PyROOT::Utility::MapOperatorName ( const std::string &  name,
Bool_t  bTakesParames 
)

Map the given C++ operator name on the python equivalent.

Definition at line 601 of file Utility.cxx.

Referenced by BuildScopeProxyDict().

PyObject * PyROOT::Utility::PyErr_Occurred_WithGIL ( )

Re-acquire the GIL before calling PyErr_Occurred() in case it has been released; note that the p2.2 code assumes that there are no callbacks in C++ to python (or at least none returning errors).

Definition at line 872 of file Utility.cxx.

Referenced by PyROOT::TMethodHolder::Execute().

PyObject * PyROOT::Utility::RemoveGUIEventInputHook ( )

Definition at line 920 of file Utility.cxx.