github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/store/db/iterator.go (about) 1 /* 2 * Copyright (C) 2018 The ontology Authors 3 * This file is part of The ontology library. 4 * 5 * The ontology is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * The ontology is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with The ontology. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 package db 20 21 import ( 22 "github.com/syndtr/goleveldb/leveldb/iterator" 23 ) 24 25 //Iterator of leveldb. Warp struct of leveldb iterator 26 type Iterator struct { 27 iter iterator.Iterator 28 } 29 30 func (it *Iterator) Next() bool { 31 return it.iter.Next() 32 } 33 34 func (it *Iterator) Prev() bool { 35 return it.iter.Prev() 36 } 37 38 func (it *Iterator) First() bool { 39 return it.iter.First() 40 } 41 42 func (it *Iterator) Last() bool { 43 return it.iter.Last() 44 } 45 46 func (it *Iterator) Seek(key []byte) bool { 47 return it.iter.Seek(key) 48 } 49 50 func (it *Iterator) Key() []byte { 51 return it.iter.Key() 52 } 53 54 func (it *Iterator) Value() []byte { 55 return it.iter.Value() 56 } 57 58 func (it *Iterator) Release() { 59 it.iter.Release() 60 } 61 func (it *Iterator) Error() error { 62 return it.iter.Error() 63 }