public void Reset() { _version = _priorityQueue._version; _queueIndex = _priorityQueue.GetNextNonEmptyQueue(-1); if (_queueIndex >= 0) { _enumerator = _priorityQueue._queues[_queueIndex].GetEnumerator(); } else { _enumerator = null; } }
public PriorityQueueEnumerator(PriorityQueue priorityQueue) { _priorityQueue = priorityQueue; _version = _priorityQueue._version; _queueIndex = _priorityQueue.GetNextNonEmptyQueue(-1); _enumerator = _queueIndex >= 0 ? _priorityQueue._queues[_queueIndex].GetEnumerator() : null; }
public PriorityQueueEnumerator(PriorityQueue priorityQueue) { _priorityQueue = priorityQueue; _version = _priorityQueue._version; _queueIndex = _priorityQueue.GetNextNonEmptyQueue(-1); if (_queueIndex >= 0) { _enumerator = _priorityQueue._queues[_queueIndex].GetEnumerator(); } else { _enumerator = null; } }
public bool MoveNext() { if (null == _enumerator) { return(false); } if (_version != _priorityQueue._version) { throw new InvalidOperationException("The collection has been modified"); } if (!_enumerator.MoveNext()) { _queueIndex = _priorityQueue.GetNextNonEmptyQueue(_queueIndex); if (-1 == _queueIndex) { return(false); } _enumerator = _priorityQueue._queues[_queueIndex].GetEnumerator(); _enumerator.MoveNext(); return(true); } return(true); }
public void Reset() { _version = _priorityQueue._version; _queueIndex = _priorityQueue.GetNextNonEmptyQueue(-1); _enumerator = _queueIndex >= 0 ? _priorityQueue._queues[_queueIndex].GetEnumerator() : null; }