Iterate over a sequence of key-value pairs
#include <mtbl.h>
mtbl_res mtbl_iter_next(struct mtbl_iter *it, const uint8_t * *key, size_t *len_key, const uint8_t * *val, size_t *len_val);
void mtbl_iter_destroy(struct mtbl_iter **it);
The mtbl_iter interface is used to return a sequence of one or more key-value pairs. Once the caller obtains an mtbl_iter object, mtbl_iter_next() should be repeatedly called on it until there are no more key-value entries to retrieve, at which point the iterator object must be freed by calling mtbl_iter_destroy().
mtbl_iter_next() returns mtbl_res_success if a key-value entry was successfully retrieved, in which case key and val will point to buffers of length len_key and len_val respectively. The value mtbl_res_failure is returned if there are no more entries to read, or if the it argument is NULL.