From 0c869b2782aeecb92dff232b46a499a3821f9f2c 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