src/cx/tree.h

changeset 853
d4baf4dd55c3
parent 848
6456036bbb37
child 854
fe0d69d72bcd
equal deleted inserted replaced
852:16e2a3391e88 853:d4baf4dd55c3
56 * the iterator becomes invalid (regardless of what cxIteratorValid() returns). 56 * the iterator becomes invalid (regardless of what cxIteratorValid() returns).
57 * 57 *
58 * @see CxIterator 58 * @see CxIterator
59 */ 59 */
60 typedef struct cx_tree_iterator_s { 60 typedef struct cx_tree_iterator_s {
61 /** 61 CX_ITERATOR_BASE
62 * The base properties of this iterator.
63 */
64 struct cx_iterator_base_s base;
65 /** 62 /**
66 * Indicates whether the subtree below the current node shall be skipped. 63 * Indicates whether the subtree below the current node shall be skipped.
67 */ 64 */
68 bool skip; 65 bool skip;
69 /** 66 /**
95 void *node; 92 void *node;
96 /** 93 /**
97 * Stores a copy of the next pointer of the visited node. 94 * Stores a copy of the next pointer of the visited node.
98 * Allows freeing a node on exit without corrupting the iteration. 95 * Allows freeing a node on exit without corrupting the iteration.
99 */ 96 */
100 void *next; 97 void *node_next;
101 /** 98 /**
102 * Internal stack. 99 * Internal stack.
103 * Will be automatically freed once the iterator becomes invalid. 100 * Will be automatically freed once the iterator becomes invalid.
104 * 101 *
105 * If you want to discard the iterator before, you need to manually 102 * If you want to discard the iterator before, you need to manually
155 * the iterator becomes invalid (regardless of what cxIteratorValid() returns). 152 * the iterator becomes invalid (regardless of what cxIteratorValid() returns).
156 * 153 *
157 * @see CxIterator 154 * @see CxIterator
158 */ 155 */
159 typedef struct cx_tree_visitor_s { 156 typedef struct cx_tree_visitor_s {
160 /** 157 CX_ITERATOR_BASE
161 * The base properties of this iterator.
162 */
163 struct cx_iterator_base_s base;
164 /** 158 /**
165 * Indicates whether the subtree below the current node shall be skipped. 159 * Indicates whether the subtree below the current node shall be skipped.
166 */ 160 */
167 bool skip; 161 bool skip;
168 /** 162 /**

mercurial