This class is a thin wrapper around the type information in Python. More...
#include <utils.h>

Public Types | |
typedef PyObject *(* | createfunc )(PyTypeObject *, PyObject *, PyObject *) |
Public Member Functions | |
void | addMethod (const char *, PyCFunction, int, const char *) |
void | addMethod (const char *, PyCFunctionWithKeywords, int, const char *) |
bool | operator== (const PythonType &i) const |
bool | operator== (const type_info &i) const |
PythonType (size_t, const type_info *) | |
void | setBase (PyTypeObject *b) |
void | setDoc (const string n) |
void | setName (const string n) |
void | supportcall () |
void | supportcompare () |
void | supportcreate (createfunc c) |
void | supportdealloc (void(*f)(PyObject *)) |
void | supportgetattro () |
void | supportiter () |
void | supportsetattro () |
void | supportstr () |
PyTypeObject * | type_object () const |
int | typeReady () |
Static Public Member Functions | |
static void | evalException () |
Public Attributes | |
const type_info * | cppClass |
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.
Member Typedef Documentation
typedef PyObject*(* frepple::utils::PythonType::createfunc)(PyTypeObject *, PyObject *, PyObject *) |
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 429 of file pythonutils.cpp.
Member Function Documentation
void frepple::utils::PythonType::addMethod | ( | const char * | method_name, |
PyCFunction | f, | ||
int | flags, | ||
const char * | doc | ||
) |
Add a new method.
Definition at line 496 of file pythonutils.cpp.
void frepple::utils::PythonType::addMethod | ( | const char * | c, |
PyCFunctionWithKeywords | f, | ||
int | i, | ||
const char * | d | ||
) |
Add a new method.
Definition at line 534 of file pythonutils.cpp.
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 560 of file pythonutils.cpp.
bool frepple::utils::PythonType::operator== | ( | const PythonType & | i | ) | const [inline] |
bool frepple::utils::PythonType::operator== | ( | const type_info & | i | ) | const [inline] |
void frepple::utils::PythonType::setBase | ( | PyTypeObject * | b | ) | [inline] |
void frepple::utils::PythonType::setDoc | ( | const string | n | ) | [inline] |
void frepple::utils::PythonType::setName | ( | const string | n | ) | [inline] |
void frepple::utils::PythonType::supportcall | ( | ) | [inline] |
void frepple::utils::PythonType::supportcompare | ( | ) | [inline] |
void frepple::utils::PythonType::supportcreate | ( | createfunc | c | ) | [inline] |
void frepple::utils::PythonType::supportdealloc | ( | void(*)(PyObject *) | f | ) | [inline] |
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)
void frepple::utils::PythonType::supportiter | ( | ) | [inline] |
void frepple::utils::PythonType::supportsetattro | ( | ) | [inline] |
void frepple::utils::PythonType::supportstr | ( | ) | [inline] |
PyTypeObject* frepple::utils::PythonType::type_object | ( | ) | const [inline] |
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 540 of file pythonutils.cpp.
Member Data Documentation
const type_info* frepple::utils::PythonType::cppClass |
The documentation for this class was generated from the following files:
Documentation generated for frePPLe by
