MCPcopy Create free account
hub / github.com/antirez/ds4 / raxIterator

Class raxIterator

rax.h:186–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

184#define RAX_ITER_INLINE_LEAF (1<<3) /* Iterator is positioned on an inline
185 leaf stored in the current parent. */
186typedef struct raxIterator {
187 int flags;
188 rax *rt; /* Radix tree we are iterating. */
189 unsigned char *key; /* The current string. */
190 void *data; /* Data associated to this key. */
191 size_t key_len; /* Current key length. */
192 size_t key_max; /* Max key len the current key buffer can hold. */
193 unsigned char key_static_string[RAX_ITER_STATIC_LEN];
194 raxNode *node; /* Current node, or the parent node if the
195 iterator is on an inline leaf. */
196 int node_child; /* Cached child index of the current node in its
197 parent, or of the inline leaf in 'node'.
198 -1 if unknown. */
199 raxStack stack; /* Stack used for unsafe iteration. */
200 raxNodeCallback node_cb; /* Optional node callback. Normally set to NULL. */
201} raxIterator;
202
203/* Defragmentation iterator. Unlike the normal iterator, this iterator scans
204 * the radix tree structure itself, yielding both real raxNode allocations and

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected