From: Guido van Rossum Date: Mon, 28 Feb 2000 15:00:40 +0000 (+0000) Subject: Patch by Mozhe Zadka, for __contains__ (overloading 'in'). This adds X-Git-Tag: v1.6a1~339 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cecb27a49ca1285fc6fb3190d52768abf85847d1;p=python Patch by Mozhe Zadka, for __contains__ (overloading 'in'). This adds a new proc type (objobjproc), a new slot sq_contains to PySequenceMethods, and a new flag Py_TPFLAGS_HAVE_SEQUENCE_IN to Py_TPFLAGS_DEFAULT. More to follow. --- diff --git a/Include/object.h b/Include/object.h index 4375949d14..e39f0fa52b 100644 --- a/Include/object.h +++ b/Include/object.h @@ -150,6 +150,7 @@ typedef int (*getreadbufferproc) Py_PROTO((PyObject *, int, void **)); typedef int (*getwritebufferproc) Py_PROTO((PyObject *, int, void **)); typedef int (*getsegcountproc) Py_PROTO((PyObject *, int *)); typedef int (*getcharbufferproc) Py_PROTO((PyObject *, int, const char **)); +typedef int (*objobjproc) Py_PROTO((PyObject *, PyObject *)); typedef struct { binaryfunc nb_add; @@ -185,6 +186,7 @@ typedef struct { intintargfunc sq_slice; intobjargproc sq_ass_item; intintobjargproc sq_ass_slice; + objobjproc sq_contains; } PySequenceMethods; typedef struct { @@ -317,7 +319,11 @@ given type object has a specified feature. /* PyBufferProcs contains bf_getcharbuffer */ #define Py_TPFLAGS_HAVE_GETCHARBUFFER (1L<<0) -#define Py_TPFLAGS_DEFAULT (Py_TPFLAGS_HAVE_GETCHARBUFFER) +/* PySequenceMethods contains sq_contains */ +#define Py_TPFLAGS_HAVE_SEQUENCE_IN (1L<<1) + +#define Py_TPFLAGS_DEFAULT (Py_TPFLAGS_HAVE_GETCHARBUFFER | \ + Py_TPFLAGS_HAVE_SEQUENCE_IN) #define PyType_HasFeature(t,f) (((t)->tp_flags & (f)) != 0)