annotate Objects/enumobject.c @ 33091:48100a01ac7c 2.3

Ignore the locale's encoding if it is an empty string.
author Martin v. Löwis <martin@v.loewis.de>
date Thu, 12 Aug 2004 13:14:20 +0000
parents 811ad5f2f701
children 562143c1c7ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 /* enumerate object */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 #include "Python.h"
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
4
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 typedef struct {
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 PyObject_HEAD
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 long en_index; /* current index of enumeration */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 PyObject* en_sit; /* secondary iterator of enumeration */
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
9 PyObject* en_result; /* result tuple */
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 } enumobject;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
11
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 PyTypeObject PyEnum_Type;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
13
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 static PyObject *
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 enum_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 {
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 enumobject *en;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 PyObject *seq = NULL;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 static char *kwlist[] = {"sequence", 0};
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
20
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:enumerate", kwlist,
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 &seq))
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 return NULL;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
24
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 en = (enumobject *)type->tp_alloc(type, 0);
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 if (en == NULL)
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 return NULL;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 en->en_index = 0;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 en->en_sit = PyObject_GetIter(seq);
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 if (en->en_sit == NULL) {
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 Py_DECREF(en);
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 return NULL;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 }
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
34 en->en_result = PyTuple_New(2);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
35 if (en->en_result == NULL) {
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
36 Py_DECREF(en->en_sit);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
37 Py_DECREF(en);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
38 return NULL;
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
39 }
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
40 Py_INCREF(Py_None);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
41 PyTuple_SET_ITEM(en->en_result, 0, Py_None);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
42 Py_INCREF(Py_None);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
43 PyTuple_SET_ITEM(en->en_result, 1, Py_None);
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 return (PyObject *)en;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 }
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
46
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 static void
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 enum_dealloc(enumobject *en)
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 {
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 PyObject_GC_UnTrack(en);
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 Py_XDECREF(en->en_sit);
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
52 Py_XDECREF(en->en_result);
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
53 en->ob_type->tp_free(en);
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 }
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
55
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 static int
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 enum_traverse(enumobject *en, visitproc visit, void *arg)
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 {
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
59 int err;
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
60
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
61 if (en->en_sit) {
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
62 err = visit(en->en_sit, arg);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
63 if (err)
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
64 return err;
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
65 }
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
66 if (en->en_result) {
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
67 err = visit(en->en_result, arg);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
68 if (err)
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
69 return err;
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
70 }
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 return 0;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 }
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
73
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 static PyObject *
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 enum_next(enumobject *en)
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
76 {
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
77 PyObject *next_index;
24261
27e94cacb43b Remove the next() method -- one is supplied automatically by
Guido van Rossum <guido@python.org>
parents: 23832
diff changeset
78 PyObject *next_item;
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
79 PyObject *result = en->en_result;
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
80 PyObject *it = en->en_sit;
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
81
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
82 next_item = (*it->ob_type->tp_iternext)(it);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
83 if (next_item == NULL)
24261
27e94cacb43b Remove the next() method -- one is supplied automatically by
Guido van Rossum <guido@python.org>
parents: 23832
diff changeset
84 return NULL;
27e94cacb43b Remove the next() method -- one is supplied automatically by
Guido van Rossum <guido@python.org>
parents: 23832
diff changeset
85
27e94cacb43b Remove the next() method -- one is supplied automatically by
Guido van Rossum <guido@python.org>
parents: 23832
diff changeset
86 next_index = PyInt_FromLong(en->en_index);
27e94cacb43b Remove the next() method -- one is supplied automatically by
Guido van Rossum <guido@python.org>
parents: 23832
diff changeset
87 if (next_index == NULL) {
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
88 Py_DECREF(next_item);
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
89 return NULL;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 }
29289
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
91 en->en_index++;
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
92
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
93 if (result->ob_refcnt == 1) {
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
94 Py_INCREF(result);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
95 Py_DECREF(PyTuple_GET_ITEM(result, 0));
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
96 Py_DECREF(PyTuple_GET_ITEM(result, 1));
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
97 } else {
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
98 result = PyTuple_New(2);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
99 if (result == NULL) {
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
100 Py_DECREF(next_index);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
101 Py_DECREF(next_item);
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
102 return NULL;
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
103 }
811ad5f2f701 * Beefed-up tests
Raymond Hettinger <python@rcn.com>
parents: 28711
diff changeset
104 }
24261
27e94cacb43b Remove the next() method -- one is supplied automatically by
Guido van Rossum <guido@python.org>
parents: 23832
diff changeset
105 PyTuple_SET_ITEM(result, 0, next_index);
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
106 PyTuple_SET_ITEM(result, 1, next_item);
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
107 return result;
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
108 }
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
109
23832
ed1ba37a46b7 Patch #568124: Add doc string macros.
Martin v. Löwis <martin@v.loewis.de>
parents: 23285
diff changeset
110 PyDoc_STRVAR(enum_doc,
28711
820d9570edeb Add a useful docstring to enumerate.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 28320
diff changeset
111 "enumerate(iterable) -> iterator for index, value of iterable\n"
820d9570edeb Add a useful docstring to enumerate.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 28320
diff changeset
112 "\n"
820d9570edeb Add a useful docstring to enumerate.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 28320
diff changeset
113 "Return an enumerate object. iterable must be an other object that supports\n"
820d9570edeb Add a useful docstring to enumerate.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 28320
diff changeset
114 "iteration. The enumerate object yields pairs containing a count (from\n"
820d9570edeb Add a useful docstring to enumerate.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 28320
diff changeset
115 "zero) and a value yielded by the iterable argument. enumerate is useful\n"
820d9570edeb Add a useful docstring to enumerate.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 28320
diff changeset
116 "for obtaining an indexed list: (0, seq[0]), (1, seq[1]), (2, seq[2]), ...");
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
117
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
118 PyTypeObject PyEnum_Type = {
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
119 PyObject_HEAD_INIT(&PyType_Type)
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
120 0, /* ob_size */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
121 "enumerate", /* tp_name */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
122 sizeof(enumobject), /* tp_basicsize */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
123 0, /* tp_itemsize */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
124 /* methods */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
125 (destructor)enum_dealloc, /* tp_dealloc */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
126 0, /* tp_print */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
127 0, /* tp_getattr */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
128 0, /* tp_setattr */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
129 0, /* tp_compare */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
130 0, /* tp_repr */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
131 0, /* tp_as_number */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
132 0, /* tp_as_sequence */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
133 0, /* tp_as_mapping */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
134 0, /* tp_hash */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
135 0, /* tp_call */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
136 0, /* tp_str */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
137 PyObject_GenericGetAttr, /* tp_getattro */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
138 0, /* tp_setattro */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
139 0, /* tp_as_buffer */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
140 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
141 Py_TPFLAGS_BASETYPE, /* tp_flags */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
142 enum_doc, /* tp_doc */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
143 (traverseproc)enum_traverse, /* tp_traverse */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
144 0, /* tp_clear */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
145 0, /* tp_richcompare */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
146 0, /* tp_weaklistoffset */
28320
fd5ef7003469 Renamed PyObject_GenericGetIter to PyObject_SelfIter
Raymond Hettinger <python@rcn.com>
parents: 28308
diff changeset
147 PyObject_SelfIter, /* tp_iter */
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
148 (iternextfunc)enum_next, /* tp_iternext */
24261
27e94cacb43b Remove the next() method -- one is supplied automatically by
Guido van Rossum <guido@python.org>
parents: 23832
diff changeset
149 0, /* tp_methods */
23285
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
150 0, /* tp_members */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
151 0, /* tp_getset */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
152 0, /* tp_base */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
153 0, /* tp_dict */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
154 0, /* tp_descr_get */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
155 0, /* tp_descr_set */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
156 0, /* tp_dictoffset */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
157 0, /* tp_init */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
158 PyType_GenericAlloc, /* tp_alloc */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
159 enum_new, /* tp_new */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
160 PyObject_GC_Del, /* tp_free */
afe263672fd8 - New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
diff changeset
161 };