12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- //@File iterator.go
- //@Time 2022/05/12
- //@Author #Suyghur,
- package iterator
- type ConstIterator interface {
- IsValid() bool
- Next() ConstIterator
- Value() interface{}
- Clone() ConstIterator
- Equal(other ConstIterator) bool
- }
- // Iterator is an interface of mutable iterator
- type Iterator interface {
- ConstIterator
- SetValue(value interface{})
- }
- // ConstKvIterator is an interface of const key-value type iterator
- type ConstKvIterator interface {
- ConstIterator
- Key() interface{}
- }
- // KvIterator is an interface of mutable key-value type iterator
- type KvIterator interface {
- ConstKvIterator
- SetValue(value interface{})
- }
- // ConstBidIterator is an interface of const bidirectional iterator
- type ConstBidIterator interface {
- ConstIterator
- Prev() ConstBidIterator
- }
- // BidIterator is an interface of mutable bidirectional iterator
- type BidIterator interface {
- ConstBidIterator
- SetValue(value interface{})
- }
- // ConstKvBidIterator is an interface of const key-value type bidirectional iterator
- type ConstKvBidIterator interface {
- ConstKvIterator
- Prev() ConstBidIterator
- }
- // KvBidIterator is an interface of mutable key-value type bidirectional iterator
- type KvBidIterator interface {
- ConstKvIterator
- Prev() ConstBidIterator
- SetValue(value interface{})
- }
- // RandomAccessIterator is an interface of mutable random access iterator
- type RandomAccessIterator interface {
- BidIterator
- //IteratorAt returns a new iterator at position
- IteratorAt(position int) RandomAccessIterator
- Position() int
- }
|