Function in stdx_hashtable.h

x_hashtable_iter_begin

Initialize an iterator for a hashtable.

X_HASHTABLE_API bool x_hashtable_iter_begin(
 XHashtable *table,
 XHashtableIter *it
);

Parameters

XHashtable *table
Hashtable instance.
XHashtableIter *it
Iterator to initialize.

Returns

True if the iterator was initialized (even if empty table), false on invalid args.

Function in stdx_hashtable.h

x_hashtable_iter_next

Advance iterator to the next occupied entry.

X_HASHTABLE_API bool x_hashtable_iter_next(
 XHashtableIter *it,
 void **out_key,
 void **out_value
);

Parameters

XHashtableIter *it
Iterator.
void **out_key
Receives pointer to key (user-facing: dereferenced if stored as pointer/string).
void **out_value
Receives pointer to value (user-facing: dereferenced if stored as pointer/string).

Returns

True if an entry was produced, false if iteration finished or invalid args.

Function in stdx_hashtable.h

x_hashtable_iter_next_const

Const-friendly variant of x_hashtable_iter_next().

X_HASHTABLE_API bool x_hashtable_iter_next_const(
 XHashtableIter *it,
 const void **out_key,
 const void **out_value
);
Function in stdx_hashtable.h

x_hashtable_iter_slot

Get the raw slot index of the current entry (mainly for debugging).

X_HASHTABLE_API size_t x_hashtable_iter_slot(const XHashtableIter *it);

Parameters

const XHashtableIter *it
Iterator.

Returns

Current slot index, or table->capacity if finished/invalid.