From 4aa966bb9399b51af9233c707d825f34baa4477b Mon Sep 17 00:00:00 2001 From: wjf-hs Date: Sun, 27 Apr 2025 13:42:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9iter=E7=9A=84parent=E4=B8=BA?= =?UTF-8?q?=5Fcontainer=EF=BC=8C=E9=81=BF=E5=85=8D=E7=90=86=E8=A7=A3?= =?UTF-8?q?=E5=81=8F=E5=B7=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/iterator.h | 6 +++--- src/deque.c | 6 +++--- src/graph.c | 6 +++--- src/heap.c | 6 +++--- src/list.c | 6 +++--- src/queue.c | 8 ++++---- src/stack.c | 6 +++--- src/tree.c | 6 +++--- 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/include/iterator.h b/include/iterator.h index 75c37a2..5a2c153 100644 --- a/include/iterator.h +++ b/include/iterator.h @@ -16,10 +16,10 @@ struct _iterator { // ---------- private ---------- - void* _parent; - void* _node; - uint32_t _index; + void* _container; // pointer to stack/queue/tree ... + void* _node; // current node + uint32_t _index; // current index uint32_t _order; // ---------- public ---------- diff --git a/src/deque.c b/src/deque.c index fdb6960..a051a37 100644 --- a/src/deque.c +++ b/src/deque.c @@ -300,7 +300,7 @@ iterator_t deque_iter(struct _deque* self, enum _deque_order order) assert(self != NULL); iterator_t iter = &self->_iter; - iter->_parent = self; + iter->_container = self; iter->_index = 0; iter->_order = order; if(iter->_order == DEQUE_FORWARD) @@ -319,7 +319,7 @@ bool deque_iter_hasnext(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - deque_t self = (deque_t)iter->_parent; + deque_t self = (deque_t)iter->_container; if(iter->_index < self->size(self)) { return true; @@ -332,7 +332,7 @@ const void* deque_iter_next(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - deque_t self = (deque_t)iter->_parent; + deque_t self = (deque_t)iter->_container; void *obj = NULL; struct _deque_node * cur_node = (struct _deque_node *)iter->_node; diff --git a/src/graph.c b/src/graph.c index 2d070be..ecca349 100644 --- a/src/graph.c +++ b/src/graph.c @@ -827,7 +827,7 @@ iterator_t graph_iter(struct _graph *self, enum _graph_search search_type, void assert(self != NULL); iterator_t iter = &self->_iter; - iter->_parent = self; + iter->_container = self; iter->_index = 0; iter->_node = self->_head->next; @@ -873,7 +873,7 @@ bool graph_iter_hasnext(struct _iterator *iter) assert(iter != NULL); assert(iter->parent != NULL); - graph_t self = (graph_t)iter->_parent; + graph_t self = (graph_t)iter->_container; if (iter->_index < self->size(self)) { return true; @@ -885,7 +885,7 @@ const void *graph_iter_next(struct _iterator *iter) { assert(iter != NULL); assert(iter->parent != NULL); - graph_t self = (graph_t)iter->_parent; + graph_t self = (graph_t)iter->_container; void *obj = NULL; iter->_index += 1; diff --git a/src/heap.c b/src/heap.c index a0ebf15..59cdce6 100644 --- a/src/heap.c +++ b/src/heap.c @@ -255,7 +255,7 @@ iterator_t heap_iter(struct _heap* self) assert(self != NULL); iterator_t iter = &self->_iter; - iter->_parent = self; + iter->_container = self; iter->_index = 0; iter->_node = self->obj; return iter; @@ -266,7 +266,7 @@ bool heap_iter_hasnext(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - heap_t self = (heap_t)iter->_parent; + heap_t self = (heap_t)iter->_container; if(iter->_index < self->size(self)) { return true; @@ -279,7 +279,7 @@ const void* heap_iter_next(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - heap_t self = (heap_t)iter->_parent; + heap_t self = (heap_t)iter->_container; void *obj = NULL; uint32_t index = iter->_index; diff --git a/src/list.c b/src/list.c index 2dcaa4a..fb5d2c5 100644 --- a/src/list.c +++ b/src/list.c @@ -181,7 +181,7 @@ static void list_print(struct _list* self) static const void* list_iter_next(struct _iterator* iter) { - list_t self = (list_t)iter->_parent; + list_t self = (list_t)iter->_container; void *obj = self->obj + iter->_index * self->_obj_size; iter->_index += 1; return obj; @@ -189,7 +189,7 @@ static const void* list_iter_next(struct _iterator* iter) static bool list_iter_hasnext(struct _iterator* iter) { - list_t self = (list_t)iter->_parent; + list_t self = (list_t)iter->_container; if(iter->_index < self->size(self)) { @@ -203,7 +203,7 @@ iterator_t list_iter(struct _list* self) assert(self != NULL); iterator_t iter = &self->_iter; - iter->_parent = self; + iter->_container = self; iter->_index = 0; return iter; } diff --git a/src/queue.c b/src/queue.c index af49a0d..3d037f7 100644 --- a/src/queue.c +++ b/src/queue.c @@ -311,7 +311,7 @@ static iterator_t queue_iter(struct _queue* self) assert(self != NULL); iterator_t iter = &self->_iter; - iter->_parent = self; + iter->_container = self; iter->_index = 0; iter->_node = self->_front; return iter; @@ -322,7 +322,7 @@ static bool queue_iter_hasnext(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - queue_t self = (queue_t)iter->_parent; + queue_t self = (queue_t)iter->_container; if(iter->_index < self->size(self)) { return true; @@ -335,7 +335,7 @@ static const void* queue_iter_next(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - queue_t self = (queue_t)iter->_parent; + queue_t self = (queue_t)iter->_container; void *obj = NULL; // base on linklist @@ -354,7 +354,7 @@ static const void* queue2_iter_next(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - queue_t self = (queue_t)iter->_parent; + queue_t self = (queue_t)iter->_container; void *obj = NULL; // base on array diff --git a/src/stack.c b/src/stack.c index 3acbed8..af62235 100644 --- a/src/stack.c +++ b/src/stack.c @@ -267,7 +267,7 @@ const void* stack_iter_next(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - stack_t self = (stack_t)iter->_parent; + stack_t self = (stack_t)iter->_container; void *obj = NULL; if(self->_head->obj == NULL) @@ -296,7 +296,7 @@ bool stack_iter_hasnext(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - stack_t self = (stack_t)iter->_parent; + stack_t self = (stack_t)iter->_container; if(iter->_index < self->size(self)) { return true; @@ -309,7 +309,7 @@ iterator_t stack_iter(struct _stack* self) assert(self != NULL); iterator_t iter = &self->_iter; - iter->_parent = self; + iter->_container = self; iter->_index = 0; iter->_node = self->_head->next; return iter; diff --git a/src/tree.c b/src/tree.c index f894d34..1c46d32 100644 --- a/src/tree.c +++ b/src/tree.c @@ -1156,7 +1156,7 @@ static iterator_t tree_iter(struct _tree* self, enum _tree_order order) assert(self != NULL); iterator_t iter = &self->_iter; - iter->_parent = self; + iter->_container = self; iter->_index = 0; iter->_node = self->_root; @@ -1240,7 +1240,7 @@ static bool tree_iter_hasnext(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - tree_t self = (tree_t)iter->_parent; + tree_t self = (tree_t)iter->_container; if(iter->_index < self->size(self)) { return true; @@ -1253,7 +1253,7 @@ static const void* tree_iter_next(struct _iterator* iter) assert(iter != NULL); assert(iter->parent != NULL); - tree_t self = (tree_t)iter->_parent; + tree_t self = (tree_t)iter->_container; void *obj = NULL; struct _tree_node* cur_node = iter->_node;