mirror of
https://github.com/luxfi/container.git
synced 2026-09-24 00:24:34 +00:00
20 lines
646 B
Go
20 lines
646 B
Go
// Copyright (C) 2019-2025, Lux Industries, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package iterator
|
|
|
|
// Iterator defines an interface for iterating over a set.
|
|
type Iterator[T any] interface {
|
|
// Next attempts to move the iterator to the next element in the set. It
|
|
// returns false once there are no more elements to return.
|
|
Next() bool
|
|
|
|
// Value returns the value of the current element. Value should only be called
|
|
// after a call to Next which returned true.
|
|
Value() T
|
|
|
|
// Release any resources associated with the iterator. This must be called
|
|
// after the iterator is no longer needed.
|
|
Release()
|
|
}
|