stack.go
func (stack *Stack) Enumerate(cancel <-chan struct{}) Enumerator {
	stack.key.RLock()
	defer stack.key.RUnlock()

	return stack.underlyer.Enumerate(cancel)
}
func (stack *Stack) Enumerate(cancel <-chan struct{}) Enumerator {
	stack.key.RLock()
	defer stack.key.RUnlock()

	return stack.underlyer.Enumerate(cancel)
}
func ( stack * Stack ) Enumerate ( cancel <- chan struct { } ) Enumerator { stack . key . RLock ( ) defer stack . key . RUnlock ( ) return stack . underlyer . Enumerate ( cancel ) }
// Enumerate peeks at each element in the stack without mutating it.
Enumerate peeks at each element in the stack without mutating it .