2.2.4 Object Comparison
cmpfunc tp_compare;
The tp_compare handler is called when comparisons are needed
and the object does not implement the specific rich comparison method
which matches the requested comparison. (It is always used if defined
and the PyObject_Compare() or PyObject_Cmp()
functions are used, or if cmp() is used from Python.)
It is analogous to the __cmp__() method. This function
should return A tp_compare handler may raise an exception. In this case it should return a negative value. The caller has to test for the exception using PyErr_Occurred(). Here is a sample implementation:
static int
newdatatype_compare(newdatatypeobject * obj1, newdatatypeobject * obj2)
{
long result;
if (obj1->obj_UnderlyingDatatypePtr->size <
obj2->obj_UnderlyingDatatypePtr->size) {
result = -1;
}
else if (obj1->obj_UnderlyingDatatypePtr->size >
obj2->obj_UnderlyingDatatypePtr->size) {
result = 1;
}
else {
result = 0;
}
return result;
}
See About this document... for information on suggesting changes. Document provided by Web Master Resources and hosted at Speedy Domain Registration Company |