static void spl_heap_it_dtor(zend_object_iterator *iter) /* {{{ */ { spl_heap_it *iterator = (spl_heap_it *)iter; zend_user_it_invalidate_current(iter); zval_ptr_dtor(&iterator->intern.it.data); }
/* {{{ zend_user_it_rewind */ ZEND_API void zend_user_it_rewind(zend_object_iterator *_iter) { zend_user_iterator *iter = (zend_user_iterator*)_iter; zval *object = &iter->it.data; zend_user_it_invalidate_current(_iter); zend_call_method_with_0_params(object, iter->ce, &iter->ce->iterator_funcs.zf_rewind, "rewind", NULL); }
/* {{{ zend_user_it_dtor */ static void zend_user_it_dtor(zend_object_iterator *_iter) { zend_user_iterator *iter = (zend_user_iterator*)_iter; zval *object = &iter->it.data; zend_user_it_invalidate_current(_iter); zval_ptr_dtor(object); }
/* {{{ zend_user_it_move_forward */ ZEND_API void zend_user_it_move_forward(zend_object_iterator *_iter) { zend_user_iterator *iter = (zend_user_iterator*)_iter; zval *object = &iter->it.data; zend_user_it_invalidate_current(_iter); zend_call_method_with_0_params(Z_OBJ_P(object), iter->ce, &iter->ce->iterator_funcs_ptr->zf_next, "next", NULL); }
static void spl_dllist_it_dtor(zend_object_iterator *iter) /* {{{ */ { spl_dllist_it *iterator = (spl_dllist_it *)iter; SPL_LLIST_CHECK_DELREF(iterator->traverse_pointer); zend_user_it_invalidate_current(iter); zval_ptr_dtor(&iterator->intern.it.data); }
static void spl_dllist_it_move_forward(zend_object_iterator *iter) /* {{{ */ { spl_dllist_it *iterator = (spl_dllist_it *)iter; spl_dllist_object *object = Z_SPLDLLIST_P(&iter->data); zend_user_it_invalidate_current(iter); spl_dllist_it_helper_move_forward(&iterator->traverse_pointer, &iterator->traverse_position, object->llist, object->flags); }
static void spl_heap_it_move_forward(zend_object_iterator *iter) /* {{{ */ { spl_heap_object *object = Z_SPLHEAP_P(&iter->data); zval elem; if (object->heap->flags & SPL_HEAP_CORRUPTED) { zend_throw_exception(spl_ce_RuntimeException, "Heap is corrupted, heap properties are no longer ensured.", 0); return; } spl_ptr_heap_delete_top(object->heap, &elem, &iter->data); zval_ptr_dtor(&elem); zend_user_it_invalidate_current(iter); }