/// <inheritdoc/> public bool TryPeek(out HexKeyValuePair <TPriority, TValue> result) { if (_dictionary.Count > 0) { var list = _dictionary.First(); var v = list.Value.Peek(); result = HexKeyValuePair.New(list.Key, v); return(true); } result = default(HexKeyValuePair <TPriority, TValue>); return(false); }
/// <inheritdoc/> public bool TryDequeue(out HexKeyValuePair <TPriority, TValue> result) { if (_dictionary.Count > 0) { var list = _dictionary.First(); var v = list.Value.Dequeue(); result = HexKeyValuePair.New(list.Key, v); if (list.Value.Count == 0) { _dictionary.Remove(list.Key); } return(true); } result = default(HexKeyValuePair <TPriority, TValue>); return(false); }
/// <inheritdoc/> public void Enqueue(TPriority priority, TValue value) { Enqueue(HexKeyValuePair.New(priority, value)); }
IEnumerable <HexKeyValuePair <TPriority, TValue> > Enumerable() { return(from list in _dictionary from item in list.Value select HexKeyValuePair.New(list.Key, item)); }
/// <inheritdoc/> public void Enqueue(TKey key, TValue value) { Enqueue(HexKeyValuePair.New(key, value)); }