func (it *Iterator) Next() {
	C.leveldb_iter_next(it.Iter)
}
Next moves the iterator to the next sequential key in the database, as
defined by the Comparator in the ReadOptions used to create this Iterator.

If Valid returns false, this method will panic.
package levigo
import "C"
import (
	"unsafe"
)
type IteratorError string
func (e IteratorError) Error() string {
	return string(e)
}
type Iterator struct {
	Iter *C.leveldb_iterator_t
}
func (it *Iterator) Valid() bool {
	return ucharToBool(C.leveldb_iter_valid(it.Iter))
}
func (it *Iterator) Key() []byte {
	var klen C.size_t
	kdata := C.leveldb_iter_key(it.Iter, &klen)
	if kdata == nil {
		return nil
	}
	return C.GoBytes(unsafe.Pointer(kdata), C.int(klen))
}
func (it *Iterator) Value() []byte {
	var vlen C.size_t
	vdata := C.leveldb_iter_value(it.Iter, &vlen)
	if vdata == nil {
		return nil
	}
	return C.GoBytes(unsafe.Pointer(vdata), C.int(vlen))
}