1 #ifndef DS_HTABLE_ITERATOR_H 2 #define DS_HTABLE_ITERATOR_H 3 4 #include "php.h" 5 #include "../../ds/ds_htable.h" 6 7 typedef struct ds_htable_iterator { 8 9 zend_object_iterator intern; 10 uint32_t position; 11 ds_htable_bucket_t *bucket; 12 ds_htable_t *table; 13 zend_object *obj; 14 15 } ds_htable_iterator_t; 16 17 zend_object_iterator *php_ds_htable_get_value_iterator_ex(zend_class_entry *ce, zval *obj, int by_ref, ds_htable_t *h); 18 zend_object_iterator *php_ds_htable_get_key_iterator_ex (zend_class_entry *ce, zval *obj, int by_ref, ds_htable_t *h); 19 zend_object_iterator *php_ds_htable_get_pair_iterator_ex (zend_class_entry *ce, zval *obj, int by_ref, ds_htable_t *h); 20 zend_object_iterator *php_ds_htable_get_assoc_iterator_ex(zend_class_entry *ce, zval *obj, int by_ref, ds_htable_t *h); 21 22 #endif 23