MutQueue
enum MutQueue[a: Type, r: Eff]
Sourcecase MutQueue(Region[r], Ref[Array[a, r], r], Ref[Int32, r])
Represents a mutable priority queue. Explanation of component types (left to right): Component 1: The region capability the queue is associated with. Component 2: A reference to the backing array. Component 3: A reference to the number of elements in the mutable priority queue.
The maximum element (if it exists) can always be accessed in constant time.
Definitions
Removes and optionally returns the top element of mq
.
Enqueues an element x
into a mq
.
Enqueues each element in l
into mq
.
def isEmpty(mq: MutQueue[a, r]): Bool \ r
SourceReturns whether mq
is empty.
def iterator(rc: Region[r1], mq: MutQueue[a, r2]): Iterator[a, r1 + r2, r1] \ r1 + r2
SourceReturns an iterator over mq
.
Modifying mq
during iteration is undefined and not recommended.
def new(rc: Region[r]): MutQueue[a, r] \ r
SourceReturns an empty MutQueue.
def peek(mq: MutQueue[a, r]): Option[a] \ r
SourceOptionally returns the top element of mq
.
def size(mq: MutQueue[a, r]): Int32 \ r
SourceReturns the number of elements in mq
.
def toArray(rc: Region[r1], mq: MutQueue[a, r2]): Array[a, r1] \ r1 + r2
SourceReturns an Array representation of mq
.
Note that a MutQueue's element order depends on the order in which the elements were enqueued.
Returns a List representation of mq
.
Note that a MutQueue's element order depends on the order in which the elements were enqueued.
Optionally returns a Nel representation of mq
.