using System; using System.Collections.Generic; namespace ICD.Common.Utils.Extensions { public static class QueueExtensions { /// /// Enqueues each item in the sequence. /// /// /// /// public static void EnqueueRange(this Queue extends, IEnumerable items) { if (extends == null) throw new ArgumentNullException("extends"); if (items == null) throw new ArgumentNullException("items"); foreach (T item in items) extends.Enqueue(item); } /// /// Dequeues the next item in the queue. Returns false if the queue is empty. /// /// /// /// /// public static bool Dequeue(this Queue extends, out T item) { if (extends == null) throw new ArgumentNullException("extends"); item = default(T); if (extends.Count == 0) return false; item = extends.Dequeue(); return true; } } }