PLearn 0.1
|
#include <PythonObjectWrapper.h>
Static Public Member Functions | |
static CopiesMap | convert (PyObject *, bool print_traceback) |
Definition at line 451 of file PythonObjectWrapper.h.
CopiesMap PLearn::ConvertFromPyObject< CopiesMap >::convert | ( | PyObject * | pyobj, |
bool | print_traceback | ||
) | [static] |
Definition at line 312 of file PythonObjectWrapper.cc.
References PLASSERT, and PLearn::PLPythonConversionError().
{ PLASSERT( pyobj ); if (! PyDict_Check(pyobj)) PLPythonConversionError("ConvertFromPyObject<CopiesMap>", pyobj, print_traceback); #if PL_PYTHON_VERSION>=250 Py_ssize_t pos = 0; #else int pos = 0; #endif CopiesMap copies; PyObject *key, *val; while(PyDict_Next(pyobj, &pos, &key, &val)) { if(!PyCObject_Check(key)) PLPythonConversionError("ConvertFromPyObject<CopiesMap> " "(key is not a cptr)", key, print_traceback); if(!PyCObject_Check(val)) PLPythonConversionError("ConvertFromPyObject<CopiesMap> " "(val is not a cptr)", val, print_traceback); copies.insert(make_pair(PyCObject_AsVoidPtr(key), PyCObject_AsVoidPtr(val))); } return copies; }