From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0
---
QtVsTools.Package/Common/PriorityQueue.cs | 19 ++++++++-----------
1 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/QtVsTools.Package/Common/PriorityQueue.cs b/QtVsTools.Package/Common/PriorityQueue.cs
index cdc57e7..af8fffd 100644
--- a/QtVsTools.Package/Common/PriorityQueue.cs
+++ b/QtVsTools.Package/Common/PriorityQueue.cs
@@ -51,8 +51,8 @@
public abstract class BasePriorityQueue<T, TPriority> : Concurrent, IEnumerable<T>
where TPriority : IComparable<TPriority>
{
- SortedDictionary<TPriority, T> ItemsByPriority { get; set; }
- Dictionary<object, TPriority> ItemPriority { get; set; }
+ SortedDictionary<TPriority, T> ItemsByPriority { get; }
+ Dictionary<object, TPriority> ItemPriority { get; }
T Head { get; set; }
public int Count { get; private set; }
public bool IsEmpty => (Count == 0);
@@ -61,7 +61,7 @@
IEnumerator<T> IEnumerable<T>.GetEnumerator() => Items.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => Items.GetEnumerator();
- Func<T, object> GetItemKey { get; set; }
+ Func<T, object> GetItemKey { get; }
public BasePriorityQueue() : this(x => x)
{ }
@@ -102,11 +102,10 @@
if (item == null)
throw new InvalidOperationException("Item cannot be null.");
lock (CriticalSection) {
- T oldItem;
- if (ItemsByPriority.TryGetValue(priority, out oldItem) && !item.Equals(oldItem))
+ if (ItemsByPriority.TryGetValue(priority, out T oldItem) && !item.Equals(oldItem))
throw new InvalidOperationException("An item with the same priority exists.");
- TPriority oldPriority;
- if (ItemPriority.TryGetValue(GetItemKey(item), out oldPriority)) {
+
+ if (ItemPriority.TryGetValue(GetItemKey(item), out TPriority oldPriority)) {
ItemsByPriority.Remove(oldPriority);
--Count;
}
@@ -128,8 +127,7 @@
public T Peek()
{
lock (CriticalSection) {
- T result;
- if (!TryPeek(out result))
+ if (!TryPeek(out T result))
throw new InvalidOperationException("Queue is empty.");
return result;
}
@@ -167,8 +165,7 @@
public T Dequeue()
{
lock (CriticalSection) {
- T result;
- if (!TryDequeue(out result))
+ if (!TryDequeue(out T result))
throw new InvalidOperationException("Queue is empty.");
return result;
}
--
Gitblit v1.9.1