frepple::utils::PythonType Class Reference
This class is a thin wrapper around the type information in Python.
More...
#include <utils.h>
List of all members.
Detailed Description
This class is a thin wrapper around the type information in Python.
This class defines a number of convenience functions to interact with the PyTypeObject struct of the Python C API.
Definition at line 1016 of file utils.h.
Member Typedef Documentation
Type definition for create functions.
Definition at line 1131 of file utils.h.
Constructor & Destructor Documentation
frepple::utils::PythonType::PythonType |
( |
size_t |
base_size, |
|
|
const type_info * |
tp | |
|
) |
| | |
Constructor, sets the tp_base_size member.
Definition at line 436 of file pythonutils.cpp.
Member Function Documentation
void frepple::utils::PythonType::addMethod |
( |
const char * |
c, |
|
|
PyCFunctionWithKeywords |
f, |
|
|
int |
i, |
|
|
const char * |
d | |
|
) |
| | |
void frepple::utils::PythonType::addMethod |
( |
const char * |
method_name, |
|
|
PyCFunction |
f, |
|
|
int |
flags, |
|
|
const char * |
doc | |
|
) |
| | |
void frepple::utils::PythonType::evalException |
( |
|
) |
[static] |
A static function that evaluates an exception and sets the Python error string properly.
This function should only be called from within a catch-block, since internally it rethrows the exception!
Definition at line 561 of file pythonutils.cpp.
bool frepple::utils::PythonType::operator== |
( |
const type_info & |
i |
) |
const [inline] |
Comparison operator.
Definition at line 1146 of file utils.h.
bool frepple::utils::PythonType::operator== |
( |
const PythonType & |
i |
) |
const [inline] |
Comparison operator.
Definition at line 1140 of file utils.h.
void frepple::utils::PythonType::setBase |
( |
PyTypeObject * |
b |
) |
[inline] |
Updates tp_base.
Definition at line 1068 of file utils.h.
void frepple::utils::PythonType::setDoc |
( |
const string |
n |
) |
[inline] |
Updates tp_doc.
Definition at line 1061 of file utils.h.
void frepple::utils::PythonType::setName |
( |
const string |
n |
) |
[inline] |
Updates tp_name.
Definition at line 1054 of file utils.h.
void frepple::utils::PythonType::supportcall |
( |
|
) |
[inline] |
Updates tp_call.
The extension class will need to define a member function with this prototype:
PyObject* call(const PythonObject& args, const PythonObject& kwds)
Definition at line 1119 of file utils.h.
void frepple::utils::PythonType::supportcompare |
( |
|
) |
[inline] |
Updates tp_compare.
The extension class will need to define a member function with this prototype:
int compare(const PyObject* other) const
Definition at line 1100 of file utils.h.
void frepple::utils::PythonType::supportcreate |
( |
createfunc |
c |
) |
[inline] |
Updates tp_new with the function passed as argument.
Definition at line 1134 of file utils.h.
void frepple::utils::PythonType::supportdealloc |
( |
void(*)(PyObject *) |
f |
) |
[inline] |
Updates the deallocator.
Definition at line 1074 of file utils.h.
void frepple::utils::PythonType::supportgetattro |
( |
|
) |
[inline] |
Updates tp_getattro.
The extension class will need to define a member function with this prototype:
PythonObject getattro(const XMLElement& name)
Definition at line 1084 of file utils.h.
void frepple::utils::PythonType::supportiter |
( |
|
) |
[inline] |
Updates tp_iter and tp_iternext.
The extension class will need to define a member function with this prototype:
PyObject* iternext()
Definition at line 1108 of file utils.h.
void frepple::utils::PythonType::supportsetattro |
( |
|
) |
[inline] |
Updates tp_setattro.
The extension class will need to define a member function with this prototype:
int setattro(const Attribute& attr, const PythonObject& field)
Definition at line 1092 of file utils.h.
void frepple::utils::PythonType::supportstr |
( |
|
) |
[inline] |
Updates tp_str.
The extension class will need to define a member function with this prototype:
PyObject* str()
Definition at line 1127 of file utils.h.
PyTypeObject* frepple::utils::PythonType::type_object |
( |
|
) |
const [inline] |
Return a pointer to the actual Python PyTypeObject.
Definition at line 1045 of file utils.h.
int frepple::utils::PythonType::typeReady |
( |
|
) |
|
This method needs to be called after the type information has all been updated. It adds the type to the frepple module.
Definition at line 547 of file pythonutils.cpp.
Member Data Documentation
Type info of the registering class.
Definition at line 1152 of file utils.h.
The documentation for this class was generated from the following files: