Add SimplePriorityQueue.TryDequeue() overload with out TPriority parameter and relevant unit tests
Add SimplePriorityQueue.TryRemove() overload with out TPriority parameter and relevant unit tests
Add SimplePriorityQueue.TryFirst() overload with out TPriority parameter and relevant unit tests
In each case if the caller wants the priority of the head/head-to-be-removed/node-to-be-removed, they can now get it without an additional (Try)GetPriority call, making it easier to remain thread-safe while also avoiding an extra _itemToNodesCache lookup.
SimplePriorityQueue.TryDequeue()
overload without TPriority
parameter and relevant unit testsSimplePriorityQueue.TryRemove()
overload without TPriority
parameter and relevant unit testsSimplePriorityQueue.TryFirst()
overload without TPriority
parameter and relevant unit testsIn each case if the caller wants the priority of the head/head-to-be-removed/node-to-be-removed, they can now get it without an additional
(Try)GetPriority
call, making it easier to remain thread-safe while also avoiding an extra_itemToNodesCache
lookup.See issue https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/issues/54