Lines Matching refs:ro
4388 repeatobject *ro;
4403 ro = (repeatobject *)type->tp_alloc(type, 0);
4404 if (ro == NULL)
4407 ro->element = element;
4408 ro->cnt = cnt;
4409 return (PyObject *)ro;
4413 repeat_dealloc(repeatobject *ro)
4415 PyObject_GC_UnTrack(ro);
4416 Py_XDECREF(ro->element);
4417 Py_TYPE(ro)->tp_free(ro);
4421 repeat_traverse(repeatobject *ro, visitproc visit, void *arg)
4423 Py_VISIT(ro->element);
4428 repeat_next(repeatobject *ro)
4430 if (ro->cnt == 0)
4432 if (ro->cnt > 0)
4433 ro->cnt--;
4434 Py_INCREF(ro->element);
4435 return ro->element;
4439 repeat_repr(repeatobject *ro)
4441 if (ro->cnt == -1)
4443 _PyType_Name(Py_TYPE(ro)), ro->element);
4446 _PyType_Name(Py_TYPE(ro)), ro->element,
4447 ro->cnt);
4451 repeat_len(repeatobject *ro, PyObject *Py_UNUSED(ignored))
4453 if (ro->cnt == -1) {
4457 return PyLong_FromSize_t(ro->cnt);
4463 repeat_reduce(repeatobject *ro, PyObject *Py_UNUSED(ignored))
4468 if (ro->cnt >= 0)
4469 return Py_BuildValue("O(On)", Py_TYPE(ro), ro->element, ro->cnt);
4471 return Py_BuildValue("O(O)", Py_TYPE(ro), ro->element);