github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/nomad/state/iterator.go (about) 1 package state 2 3 type SliceIterator struct { 4 data []interface{} 5 idx int 6 } 7 8 func NewSliceIterator() *SliceIterator { 9 return &SliceIterator{ 10 data: []interface{}{}, 11 idx: 0, 12 } 13 } 14 15 func (i *SliceIterator) Add(datum interface{}) { 16 i.data = append(i.data, datum) 17 } 18 19 func (i *SliceIterator) Next() interface{} { 20 if i.idx == len(i.data) { 21 return nil 22 } 23 24 datum := i.data[i.idx] 25 i.idx += 1 26 return datum 27 } 28 29 func (i *SliceIterator) WatchCh() <-chan struct{} { 30 return nil 31 }