kv_iterator_next()

#include <kvstore.h>

kv_error_t 
kv_iterator_next(kv_iterator_t *iterator,
                 const kv_key_t **key,
                 const kv_value_t **value) 

イテレータの次のレコードを返します。別のレコードが存在する場合、この関数はKV_SUCCESSを返し、keyおよびvalueパラメータが移入されます。レコードがなくなると、戻り値はKV_NO_SUCH_OBJECTになります。戻り値がKV_SUCCESSまたはKV_NO_SUCH_OBJECT以外の場合は、操作は失敗しています。

パラメータ

  • iterator

    iteratorパラメータは、イテレータへのハンドルです。これは、ストアの複数の読取りを実行する関数(kv_multi_get()など)のいずれかを使用して割り当てられます。これは、kv_release_iterator()を使用して解放されます。

  • key

    keyパラメータは、次のキーへのポインタのコピー先であるメモリーを参照します。

    このキー構造は解放しないでください。ここで使用されるリソースは、イテレータが解放されるときに解放されます。

  • value

    valueパラメータは、次の値へのポインタのコピー先であるメモリーを参照します。

    この値構造は解放しないでください。ここで使用されるリソースは、イテレータが解放されるときに解放されます。