src/tree.c

changeset 854
fe0d69d72bcd
parent 853
d4baf4dd55c3
child 860
558ed4c6abd0
child 862
387414a7afd8
equal deleted inserted replaced
853:d4baf4dd55c3 854:fe0d69d72bcd
278 iter.stack[0] = root; 278 iter.stack[0] = root;
279 iter.exiting = false; 279 iter.exiting = false;
280 iter.skip = false; 280 iter.skip = false;
281 281
282 // assign base iterator functions 282 // assign base iterator functions
283 iter.mutating = false; 283 iter.base.mutating = false;
284 iter.remove = false; 284 iter.base.remove = false;
285 iter.current_impl = NULL; 285 iter.base.current_impl = NULL;
286 iter.valid = cx_tree_iter_valid; 286 iter.base.valid = cx_tree_iter_valid;
287 iter.next = cx_tree_iter_next; 287 iter.base.next = cx_tree_iter_next;
288 iter.current = cx_tree_iter_current; 288 iter.base.current = cx_tree_iter_current;
289 289
290 return iter; 290 return iter;
291 } 291 }
292 292
293 static bool cx_tree_visitor_valid(void const *it) { 293 static bool cx_tree_visitor_valid(void const *it) {
387 iter.skip = false; 387 iter.skip = false;
388 iter.queue_next = NULL; 388 iter.queue_next = NULL;
389 iter.queue_last = NULL; 389 iter.queue_last = NULL;
390 390
391 // assign base iterator functions 391 // assign base iterator functions
392 iter.mutating = false; 392 iter.base.mutating = false;
393 iter.remove = false; 393 iter.base.remove = false;
394 iter.current_impl = NULL; 394 iter.base.current_impl = NULL;
395 iter.valid = cx_tree_visitor_valid; 395 iter.base.valid = cx_tree_visitor_valid;
396 iter.next = cx_tree_visitor_next; 396 iter.base.next = cx_tree_visitor_next;
397 iter.current = cx_tree_visitor_current; 397 iter.base.current = cx_tree_visitor_current;
398 398
399 return iter; 399 return iter;
400 } 400 }
401 401

mercurial