示例#1
0
 /// <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);
 }
示例#2
0
 /// <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);
 }
示例#3
0
 /// <inheritdoc/>
 public void Enqueue(TPriority priority, TValue value)
 {
     Enqueue(HexKeyValuePair.New(priority, value));
 }
示例#4
0
 IEnumerable <HexKeyValuePair <TPriority, TValue> > Enumerable()
 {
     return(from list in _dictionary
            from item in list.Value
            select HexKeyValuePair.New(list.Key, item));
 }
示例#5
0
 /// <inheritdoc/>
 public void Enqueue(TKey key, TValue value)
 {
     Enqueue(HexKeyValuePair.New(key, value));
 }