(** Cursor for iterating over key-value pairs *) (** Cursor handle parameterized by transaction mode *) type 'mode t (** Convert cursor to a sequence of key-value pairs. The keys and values in the sequence are zero-copy slices and are only valid during the transaction lifetime. Copy them if you need them to outlive the transaction. *) val to_seq : 'mode t -> (Types.key * Types.value) Seq.t (** Seek to a specific key *) val seek : 'mode t -> Types.key -> unit (** Move to first key. Returns a zero-copy view into the database. *) val first : 'mode t -> (Types.key * Types.value) option (** Move to last key. Returns a zero-copy view into the database. *) val last : 'mode t -> (Types.key * Types.value) option (** Move to next key. Returns a zero-copy view into the database. *) val next : 'mode t -> (Types.key * Types.value) option (** Move to previous key. Returns a zero-copy view into the database. *) val prev : 'mode t -> (Types.key * Types.value) option