crow/col/deque.crow (source)
deque[t] record
(has non-public fields)
Immutable double-ended queue.
new[t] t deque(...a t array)
Deque containing the given elements.
to[t] t deque(a t array)
to[t] t array(a t deque)
is-empty[t] bool(a t deque)
true iff a.size == 0.
This is O(1).
size[t] nat64(a t deque)
Number of elements in the deque.
This is O(n).
~[t] t deque(a t deque, value t)
Pushes an element on the right.
~[t] t deque(value t, a t deque)
Pushes an element on the left.
pop-left[t] (t, t deque) tuple2?(a t deque)
Remove a value from the left.
Returns an empty option iff a is empty.
pop-right[t] (t deque, t) tuple2?(a t deque)
Remove a value from the right.
Returns an empty option iff a is empty.