17db96d56Sopenharmony_ci 27db96d56Sopenharmony_ci/* Range object interface */ 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci#ifndef Py_RANGEOBJECT_H 57db96d56Sopenharmony_ci#define Py_RANGEOBJECT_H 67db96d56Sopenharmony_ci#ifdef __cplusplus 77db96d56Sopenharmony_ciextern "C" { 87db96d56Sopenharmony_ci#endif 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci/* 117db96d56Sopenharmony_ciA range object represents an integer range. This is an immutable object; 127db96d56Sopenharmony_cia range cannot change its value after creation. 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ciRange objects behave like the corresponding tuple objects except that 157db96d56Sopenharmony_cithey are represented by a start, stop, and step datamembers. 167db96d56Sopenharmony_ci*/ 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyRange_Type; 197db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyRangeIter_Type; 207db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyLongRangeIter_Type; 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci#define PyRange_Check(op) Py_IS_TYPE(op, &PyRange_Type) 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci#ifdef __cplusplus 257db96d56Sopenharmony_ci} 267db96d56Sopenharmony_ci#endif 277db96d56Sopenharmony_ci#endif /* !Py_RANGEOBJECT_H */ 28