De.Queue
SourceThe type for commands.
The type for queues.
A command is a small representation of a `Literal
or a `Copy
command. A `Copy
command is usually emitted by a compression algorithm to inform to copy length
byte(s) appeared offset
byte(s) before.
DEFLATE has some limitations about `Copy
command.
push_exn q x
adds the element x
at the end of the queue q
. It raises Full
if the given queue q
is full.
pop_exn q
removes and returns the first element in the given queue q
. It raises Empty
if the given queue q
is empty.
junk_exn q n
discards n
elements in the given queue q
. If q
does not have enough elements, it raises Empty
and the given queue is unchanged.
end_with_eob t
returns true
if the last inserted command is eob
. Otherwise, it returns false
.
cmd command
is cmd
from a human-readable value.
create len
allocates a new queue, initially empty. len
must be a power of two, otherwise it raises Invalid_argument
.