Britbot
PriorityQueue/IPriorityQueue.cs
Go to the documentation of this file.
00001 #region Usings
00002 
00003 using System.Collections.Generic;
00004 
00005 #endregion
00006 
00007 namespace Britbot.PriorityQueue
00008 {
00016     public interface IPriorityQueue<T> : IEnumerable<T>
00017         where T : PriorityQueueNode
00018     {
00019         #region Fields & Properies
00020 
00021         T First { get; }
00022         int Count { get; }
00023         int MaxSize { get; }
00024 
00025         #endregion
00026 
00027         void Remove(T node);
00028         void UpdatePriority(T node, double priority);
00029         void Enqueue(T node, double priority);
00030         T Dequeue();
00031         void Clear();
00032         bool Contains(T node);
00033     }
00034 }