[Python-checkins] python/dist/src/Objects dictobject.c,2.141,2.142 enumobject.c,1.3,1.4 iterobject.c,1.13,1.14 listobject.c,2.145,2.146 rangeobject.c,2.46,2.47 tupleobject.c,2.76,2.77

rhettinger@users.sourceforge.net rhettinger@users.sourceforge.net
Mon, 17 Mar 2003 00:24:37 -0800


Update of /cvsroot/python/python/dist/src/Objects
In directory sc8-pr-cvs1:/tmp/cvs-serv31085

Modified Files:
	dictobject.c enumobject.c iterobject.c listobject.c 
	rangeobject.c tupleobject.c 
Log Message:
Created PyObject_GenericGetIter().
Factors out the common case of returning self.



Index: dictobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/dictobject.c,v
retrieving revision 2.141
retrieving revision 2.142
diff -C2 -d -r2.141 -r2.142
*** dictobject.c	6 Mar 2003 23:54:28 -0000	2.141
--- dictobject.c	17 Mar 2003 08:24:34 -0000	2.142
***************
*** 2014,2024 ****
  }
  
- static PyObject *
- dictiter_getiter(PyObject *it)
- {
- 	Py_INCREF(it);
- 	return it;
- }
- 
  static PyObject *dictiter_iternext(dictiterobject *di)
  {
--- 2014,2017 ----
***************
*** 2070,2074 ****
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	(getiterfunc)dictiter_getiter,		/* tp_iter */
  	(iternextfunc)dictiter_iternext,	/* tp_iternext */
  	0,					/* tp_methods */
--- 2063,2067 ----
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	PyObject_GenericGetIter,		/* tp_iter */
  	(iternextfunc)dictiter_iternext,	/* tp_iternext */
  	0,					/* tp_methods */

Index: enumobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/enumobject.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** enumobject.c	16 Jul 2002 21:02:42 -0000	1.3
--- enumobject.c	17 Mar 2003 08:24:34 -0000	1.4
***************
*** 79,89 ****
  }
  
- static PyObject *
- enum_getiter(PyObject *en)
- {
- 	Py_INCREF(en);
- 	return en;
- }
- 
  PyDoc_STRVAR(enum_doc,
  "enumerate(iterable) -> create an enumerating-iterator");
--- 79,82 ----
***************
*** 118,122 ****
  	0,                              /* tp_richcompare */
  	0,                              /* tp_weaklistoffset */
! 	(getiterfunc)enum_getiter,      /* tp_iter */
  	(iternextfunc)enum_next,        /* tp_iternext */
  	0,                              /* tp_methods */
--- 111,115 ----
  	0,                              /* tp_richcompare */
  	0,                              /* tp_weaklistoffset */
! 	PyObject_GenericGetIter,	/* tp_iter */
  	(iternextfunc)enum_next,        /* tp_iternext */
  	0,                              /* tp_methods */

Index: iterobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/iterobject.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** iterobject.c	16 Aug 2002 17:01:08 -0000	1.13
--- iterobject.c	17 Mar 2003 08:24:34 -0000	1.14
***************
*** 45,55 ****
  
  static PyObject *
- iter_getiter(PyObject *it)
- {
- 	Py_INCREF(it);
- 	return it;
- }
- 
- static PyObject *
  iter_iternext(PyObject *iterator)
  {
--- 45,48 ----
***************
*** 107,111 ****
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	(getiterfunc)iter_getiter,		/* tp_iter */
  	(iternextfunc)iter_iternext,		/* tp_iternext */
  	0,					/* tp_methods */
--- 100,104 ----
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	PyObject_GenericGetIter,		/* tp_iter */
  	(iternextfunc)iter_iternext,		/* tp_iternext */
  	0,					/* tp_methods */
***************
*** 224,228 ****
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	(getiterfunc)iter_getiter,		/* tp_iter */
  	(iternextfunc)calliter_iternext,	/* tp_iternext */
  	0,					/* tp_methods */
--- 217,221 ----
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	PyObject_GenericGetIter,		/* tp_iter */
  	(iternextfunc)calliter_iternext,	/* tp_iternext */
  	0,					/* tp_methods */

Index: listobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/listobject.c,v
retrieving revision 2.145
retrieving revision 2.146
diff -C2 -d -r2.145 -r2.146
*** listobject.c	2 Jan 2003 20:51:08 -0000	2.145
--- listobject.c	17 Mar 2003 08:24:34 -0000	2.146
***************
*** 2399,2410 ****
  }
  
- 
- static PyObject *
- listiter_getiter(PyObject *it)
- {
- 	Py_INCREF(it);
- 	return it;
- }
- 
  static PyObject *
  listiter_next(listiterobject *it)
--- 2399,2402 ----
***************
*** 2459,2463 ****
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	(getiterfunc)listiter_getiter,		/* tp_iter */
  	(iternextfunc)listiter_next,		/* tp_iternext */
  	0,					/* tp_methods */
--- 2451,2455 ----
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	PyObject_GenericGetIter,		/* tp_iter */
  	(iternextfunc)listiter_next,		/* tp_iternext */
  	0,					/* tp_methods */

Index: rangeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/rangeobject.c,v
retrieving revision 2.46
retrieving revision 2.47
diff -C2 -d -r2.46 -r2.47
*** rangeobject.c	11 Dec 2002 07:14:02 -0000	2.46
--- rangeobject.c	17 Mar 2003 08:24:34 -0000	2.47
***************
*** 247,257 ****
  
  static PyObject *
- rangeiter_getiter(PyObject *it)
- {
- 	Py_INCREF(it);
- 	return it;
- }
- 
- static PyObject *
  rangeiter_next(rangeiterobject *r)
  {
--- 247,250 ----
***************
*** 289,293 ****
  	0,                                      /* tp_richcompare */
  	0,                                      /* tp_weaklistoffset */
! 	(getiterfunc)rangeiter_getiter,		/* tp_iter */
  	(iternextfunc)rangeiter_next,		/* tp_iternext */
  	0,					/* tp_methods */
--- 282,286 ----
  	0,                                      /* tp_richcompare */
  	0,                                      /* tp_weaklistoffset */
! 	PyObject_GenericGetIter,		/* tp_iter */
  	(iternextfunc)rangeiter_next,		/* tp_iternext */
  	0,					/* tp_methods */

Index: tupleobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/tupleobject.c,v
retrieving revision 2.76
retrieving revision 2.77
diff -C2 -d -r2.76 -r2.77
*** tupleobject.c	29 Jan 2003 17:58:45 -0000	2.76
--- tupleobject.c	17 Mar 2003 08:24:35 -0000	2.77
***************
*** 780,791 ****
  }
  
- 
- static PyObject *
- tupleiter_getiter(PyObject *it)
- {
- 	Py_INCREF(it);
- 	return it;
- }
- 
  static PyObject *
  tupleiter_next(tupleiterobject *it)
--- 780,783 ----
***************
*** 840,844 ****
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	(getiterfunc)tupleiter_getiter,		/* tp_iter */
  	(iternextfunc)tupleiter_next,		/* tp_iternext */
  };
--- 832,836 ----
  	0,					/* tp_richcompare */
  	0,					/* tp_weaklistoffset */
! 	PyObject_GenericGetIter,		/* tp_iter */
  	(iternextfunc)tupleiter_next,		/* tp_iternext */
  };