From 96a3c5c179d8d3fff24eb2953e45f8dd15e2714c Mon Sep 17 00:00:00 2001
From: HJ Copyright © 2011-2020 Michael Truog Version: 2.0.1 Nov 26 2020 14:55:32
+ ------------------------------------------------------------------------ Authors: Michael Truog (mjtruog at protonmail dot com). pqueue3() = {integer(), integer(), empty | integer(), tuple()} pqueue3_empty() = {integer(), integer(), empty, tuple()}
+
+
+Module pqueue3
+
+ A Large Priority Queue.
+ This priority queue implementation depends on layered tuples, so that tuple
+ access times can be exploited for quick in/out priority queue operations
+ when using 64 or more total priorities.
+Description
+ A Large Priority Queue.
+ This priority queue implementation depends on layered tuples, so that tuple
+ access times can be exploited for quick in/out priority queue operations
+ when using 64 or more total priorities. This implementation was created
+ to avoid the slowness within the priority queue used by
+ both RabbitMQ and Riak
+ (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
+Data Types
+
+pqueue3()
+pqueue3_empty()
+Function Index
+
+
+
+in/2
+ Append an item to the tail of the 0 priority queue.
+ O(1).
+in/3
+ Append an item to the tail of a specific priority queue.
+ O(1).
+is_empty/1
+ Check if the priority queue is empty.
+ O(1).
+is_queue/1
+ Check if the priority queue type is as expected.
+ O(1).
+len/1
+ Determine the length of a priority queue.
+ O(N).
+new/0
+ Create a new priority queue.
+ O(1).
+new/1
+ Create a new priority queue with customization options.
+ O(1).
+out/1
+ Take an item from the head of the priority queue.
+ O(1) amortized, O(N) worst case.
+out/2
+ Take an item of a specific priority from the head of the queue.
+ O(1) amortized, O(N) worst case.
+pout/1
+ Take an item from the head of the priority queue.
+ Includes the priority in the return value.
+to_list/1
+ Convert the priority queue to a list.
+ O(N).Function Details
+
+in/2
+Append an item to the tail of the 0 priority queue.
+ O(1)
+
is_empty(Q::pqueue3()) -> true | false
+
is_queue(X1::pqueue3()) -> true | false
+
len(Q::pqueue3()) -> non_neg_integer()
+
new() -> pqueue3_empty()
+
new(Options::[{atom(), term()}]) -> pqueue3()
+
+
+
+
to_list(Q::pqueue3()) -> [term()]
+
Generated by EDoc
+ + -- cgit v1.2.3