• Home
  • Raw
  • Download

Lines Matching refs:tdo

414     teedataobject *tdo;  in teedataobject_newinternal()  local
416 tdo = PyObject_GC_New(teedataobject, &teedataobject_type); in teedataobject_newinternal()
417 if (tdo == NULL) in teedataobject_newinternal()
420 tdo->numread = 0; in teedataobject_newinternal()
421 tdo->nextlink = NULL; in teedataobject_newinternal()
423 tdo->it = it; in teedataobject_newinternal()
424 PyObject_GC_Track(tdo); in teedataobject_newinternal()
425 return (PyObject *)tdo; in teedataobject_newinternal()
429 teedataobject_jumplink(teedataobject *tdo) in teedataobject_jumplink() argument
431 if (tdo->nextlink == NULL) in teedataobject_jumplink()
432 tdo->nextlink = teedataobject_newinternal(tdo->it); in teedataobject_jumplink()
433 Py_XINCREF(tdo->nextlink); in teedataobject_jumplink()
434 return tdo->nextlink; in teedataobject_jumplink()
438 teedataobject_getitem(teedataobject *tdo, int i) in teedataobject_getitem() argument
443 if (i < tdo->numread) in teedataobject_getitem()
444 value = tdo->values[i]; in teedataobject_getitem()
447 assert(i == tdo->numread); in teedataobject_getitem()
448 value = PyIter_Next(tdo->it); in teedataobject_getitem()
451 tdo->numread++; in teedataobject_getitem()
452 tdo->values[i] = value; in teedataobject_getitem()
459 teedataobject_traverse(teedataobject *tdo, visitproc visit, void * arg) in teedataobject_traverse() argument
463 Py_VISIT(tdo->it); in teedataobject_traverse()
464 for (i = 0; i < tdo->numread; i++) in teedataobject_traverse()
465 Py_VISIT(tdo->values[i]); in teedataobject_traverse()
466 Py_VISIT(tdo->nextlink); in teedataobject_traverse()
484 teedataobject_clear(teedataobject *tdo) in teedataobject_clear() argument
489 Py_CLEAR(tdo->it); in teedataobject_clear()
490 for (i=0 ; i<tdo->numread ; i++) in teedataobject_clear()
491 Py_CLEAR(tdo->values[i]); in teedataobject_clear()
492 tmp = tdo->nextlink; in teedataobject_clear()
493 tdo->nextlink = NULL; in teedataobject_clear()
499 teedataobject_dealloc(teedataobject *tdo) in teedataobject_dealloc() argument
501 PyObject_GC_UnTrack(tdo); in teedataobject_dealloc()
502 teedataobject_clear(tdo); in teedataobject_dealloc()
503 PyObject_GC_Del(tdo); in teedataobject_dealloc()
507 teedataobject_reduce(teedataobject *tdo) in teedataobject_reduce() argument
511 PyObject *values = PyList_New(tdo->numread); in teedataobject_reduce()
515 for (i=0 ; i<tdo->numread ; i++) { in teedataobject_reduce()
516 Py_INCREF(tdo->values[i]); in teedataobject_reduce()
517 PyList_SET_ITEM(values, i, tdo->values[i]); in teedataobject_reduce()
519 return Py_BuildValue("O(ONO)", Py_TYPE(tdo), tdo->it, in teedataobject_reduce()
521 tdo->nextlink ? tdo->nextlink : Py_None); in teedataobject_reduce()
529 teedataobject *tdo; in teedataobject_new() local
537 tdo = (teedataobject *)teedataobject_newinternal(it); in teedataobject_new()
538 if (!tdo) in teedataobject_new()
545 tdo->values[i] = PyList_GET_ITEM(values, i); in teedataobject_new()
546 Py_INCREF(tdo->values[i]); in teedataobject_new()
549 tdo->numread = Py_SAFE_DOWNCAST(len, Py_ssize_t, int); in teedataobject_new()
555 assert(tdo->nextlink == NULL); in teedataobject_new()
557 tdo->nextlink = next; in teedataobject_new()
563 return (PyObject*)tdo; in teedataobject_new()
566 Py_XDECREF(tdo); in teedataobject_new()
737 teedataobject *tdo; in tee_setstate() local
743 if (!PyArg_ParseTuple(state, "O!i", &teedataobject_type, &tdo, &index)) { in tee_setstate()
750 Py_INCREF(tdo); in tee_setstate()
751 Py_XSETREF(to->dataobj, tdo); in tee_setstate()