]> granicus.if.org Git - python/commitdiff
Remove "static forward" declaration. Move constructors
authorMartin v. Löwis <martin@v.loewis.de>
Tue, 11 Apr 2006 09:04:12 +0000 (09:04 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Tue, 11 Apr 2006 09:04:12 +0000 (09:04 +0000)
after the type objects.

Objects/rangeobject.c
Objects/setobject.c
Objects/tupleobject.c

index e8374c15cc9fca799a5e64a81ac2e5bc8cfc3b05..c48bee0164e7a6050a05b74dff7bd4a558a332a3 100644 (file)
@@ -200,53 +200,6 @@ typedef struct {
        long    len;
 } rangeiterobject;
 
-static PyTypeObject Pyrangeiter_Type;
-
-static PyObject *
-range_iter(PyObject *seq)
-{
-       rangeiterobject *it;
-
-       if (!PyRange_Check(seq)) {
-               PyErr_BadInternalCall();
-               return NULL;
-       }
-       it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
-       if (it == NULL)
-               return NULL;
-       it->index = 0;
-       it->start = ((rangeobject *)seq)->start;
-       it->step = ((rangeobject *)seq)->step;
-       it->len = ((rangeobject *)seq)->len;
-       return (PyObject *)it;
-}
-
-static PyObject *
-range_reverse(PyObject *seq)
-{
-       rangeiterobject *it;
-       long start, step, len;
-
-       if (!PyRange_Check(seq)) {
-               PyErr_BadInternalCall();
-               return NULL;
-       }
-       it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
-       if (it == NULL)
-               return NULL;
-
-       start = ((rangeobject *)seq)->start;
-       step = ((rangeobject *)seq)->step;
-       len = ((rangeobject *)seq)->len;
-
-       it->index = 0;
-       it->start = start + (len-1) * step;
-       it->step = -step;
-       it->len = len;
-
-       return (PyObject *)it;
-}
-
 static PyObject *
 rangeiter_next(rangeiterobject *r)
 {
@@ -301,3 +254,48 @@ static PyTypeObject Pyrangeiter_Type = {
        rangeiter_methods,                      /* tp_methods */
        0,
 };
+
+static PyObject *
+range_iter(PyObject *seq)
+{
+       rangeiterobject *it;
+
+       if (!PyRange_Check(seq)) {
+               PyErr_BadInternalCall();
+               return NULL;
+       }
+       it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
+       if (it == NULL)
+               return NULL;
+       it->index = 0;
+       it->start = ((rangeobject *)seq)->start;
+       it->step = ((rangeobject *)seq)->step;
+       it->len = ((rangeobject *)seq)->len;
+       return (PyObject *)it;
+}
+
+static PyObject *
+range_reverse(PyObject *seq)
+{
+       rangeiterobject *it;
+       long start, step, len;
+
+       if (!PyRange_Check(seq)) {
+               PyErr_BadInternalCall();
+               return NULL;
+       }
+       it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
+       if (it == NULL)
+               return NULL;
+
+       start = ((rangeobject *)seq)->start;
+       step = ((rangeobject *)seq)->step;
+       len = ((rangeobject *)seq)->len;
+
+       it->index = 0;
+       it->start = start + (len-1) * step;
+       it->step = -step;
+       it->len = len;
+
+       return (PyObject *)it;
+}
index 1a287240fab42b79de9c5691d07f5408c5902795..edc43df57469e4109c3d05b2210b4523bfed3f14 100644 (file)
@@ -3,7 +3,7 @@
    Written and maintained by Raymond D. Hettinger <python@rcn.com>
    Derived from Lib/sets.py and Objects/dictobject.c.
 
-   Copyright (c) 2003-5 Python Software Foundation.
+   Copyright (c) 2003-6 Python Software Foundation.
    All rights reserved.
 */
 
@@ -719,8 +719,6 @@ set_nohash(PyObject *self)
 
 /***** Set iterator type ***********************************************/
 
-static PyTypeObject PySetIter_Type; /* Forward */
-
 typedef struct {
        PyObject_HEAD
        PySetObject *si_set; /* Set to NULL when iterator is exhausted */
@@ -729,20 +727,6 @@ typedef struct {
        long len;
 } setiterobject;
 
-static PyObject *
-set_iter(PySetObject *so)
-{
-       setiterobject *si = PyObject_New(setiterobject, &PySetIter_Type);
-       if (si == NULL)
-               return NULL;
-       Py_INCREF(so);
-       si->si_set = so;
-       si->si_used = so->used;
-       si->si_pos = 0;
-       si->len = so->used;
-       return (PyObject *)si;
-}
-
 static void
 setiter_dealloc(setiterobject *si)
 {
@@ -838,6 +822,20 @@ static PyTypeObject PySetIter_Type = {
        0,
 };
 
+static PyObject *
+set_iter(PySetObject *so)
+{
+       setiterobject *si = PyObject_New(setiterobject, &PySetIter_Type);
+       if (si == NULL)
+               return NULL;
+       Py_INCREF(so);
+       si->si_set = so;
+       si->si_used = so->used;
+       si->si_pos = 0;
+       si->len = so->used;
+       return (PyObject *)si;
+}
+
 static int
 set_update_internal(PySetObject *so, PyObject *other)
 {
index c0c205656e392127fc00d00b216ef00068123ca5..10b7aaffbf84b9c0dac4879f839c6b31cd1aca89 100644 (file)
@@ -791,27 +791,6 @@ typedef struct {
        PyTupleObject *it_seq; /* Set to NULL when iterator is exhausted */
 } tupleiterobject;
 
-PyTypeObject PyTupleIter_Type;
-
-static PyObject *
-tuple_iter(PyObject *seq)
-{
-       tupleiterobject *it;
-
-       if (!PyTuple_Check(seq)) {
-               PyErr_BadInternalCall();
-               return NULL;
-       }
-       it = PyObject_GC_New(tupleiterobject, &PyTupleIter_Type);
-       if (it == NULL)
-               return NULL;
-       it->it_index = 0;
-       Py_INCREF(seq);
-       it->it_seq = (PyTupleObject *)seq;
-       _PyObject_GC_TRACK(it);
-       return (PyObject *)it;
-}
-
 static void
 tupleiter_dealloc(tupleiterobject *it)
 {
@@ -901,3 +880,22 @@ PyTypeObject PyTupleIter_Type = {
        tupleiter_methods,                      /* tp_methods */
        0,
 };
+
+static PyObject *
+tuple_iter(PyObject *seq)
+{
+       tupleiterobject *it;
+
+       if (!PyTuple_Check(seq)) {
+               PyErr_BadInternalCall();
+               return NULL;
+       }
+       it = PyObject_GC_New(tupleiterobject, &PyTupleIter_Type);
+       if (it == NULL)
+               return NULL;
+       it->it_index = 0;
+       Py_INCREF(seq);
+       it->it_seq = (PyTupleObject *)seq;
+       _PyObject_GC_TRACK(it);
+       return (PyObject *)it;
+}