open-nomad/nomad/state/iterator.go

35 lines
545 B
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package state
type SliceIterator struct {
data []interface{}
idx int
}
func NewSliceIterator() *SliceIterator {
return &SliceIterator{
data: []interface{}{},
idx: 0,
}
}
func (i *SliceIterator) Add(datum interface{}) {
i.data = append(i.data, datum)
}
func (i *SliceIterator) Next() interface{} {
if i.idx == len(i.data) {
return nil
}
datum := i.data[i.idx]
i.idx += 1
return datum
}
func (i *SliceIterator) WatchCh() <-chan struct{} {
return nil
}