1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
package storage
// Iterator is the generic iterator interface
type Iterator interface {
Start() (int, error)
Next() (int, error)
NextValidity() (int, bool, error)
NextValid() (int, int, error)
NextInvalid() (int, int, error)
Reset()
SetReverse()
SetForward()
Coord() []int
Done() bool
}
// NoOpError is a useful for operations that have no op.
type NoOpError interface {
NoOp() bool
}
func handleNoOp(err error) error {
if err == nil {
return nil
}
if _, ok := err.(NoOpError); ok {
return nil
}
return err
}
|