queue.go
func (q *Queue) Enumerate(cancel <-chan struct{}) Enumerator {
	q.key.RLock()
	defer q.key.RUnlock()
	return q.underlyer.Enumerate(cancel)
}
func (q *Queue) Enumerate(cancel <-chan struct{}) Enumerator {
	q.key.RLock()
	defer q.key.RUnlock()
	return q.underlyer.Enumerate(cancel)
}
func ( q * Queue ) Enumerate ( cancel <- chan struct { } ) Enumerator { q . key . RLock ( ) defer q . key . RUnlock ( ) return q . underlyer . Enumerate ( cancel ) }
// Enumerate peeks at each element of this queue without mutating it.
Enumerate peeks at each element of this queue without mutating it .