view Include/rangeobject.h @ 40069:4eefce8bc2f7 2.4

[Partial backport of r45947 | neal.norwitz] Fix problems found by Coverity. longobject.c: also fix an ssize_t problem <a> could have been NULL, so hoist the size calc to not use <a>. [The ssize_t change isn't needed for 2.4. The other changes in this revision are to modules not present in 2.4. --amk]
author Andrew M. Kuchling <amk@amk.ca>
date Mon, 09 Oct 2006 18:42:49 +0000
parents 60c60dc75c77
children 624e9635c3ad
line wrap: on
line source


/* Range object interface */

#ifndef Py_RANGEOBJECT_H
#define Py_RANGEOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif

/* This is about the type 'xrange', not the built-in function range(), which
   returns regular lists. */

/*
A range object represents an integer range.  This is an immutable object;
a range cannot change its value after creation.

Range objects behave like the corresponding tuple objects except that
they are represented by a start, stop, and step datamembers.
*/

PyAPI_DATA(PyTypeObject) PyRange_Type;

#define PyRange_Check(op) ((op)->ob_type == &PyRange_Type)

PyAPI_FUNC(PyObject *) PyRange_New(long, long, long, int);

#ifdef __cplusplus
}
#endif
#endif /* !Py_RANGEOBJECT_H */