gopkg.in/hashicorp/nomad.v0@v0.11.8/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  }