Module De.QueueSource
The 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.
Return true if the given queue is empty, false otherwise.
Return true if the given queue is full, false otherwise.
Return the number of elements in the given queue.
Free cells available on the given queue.
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.
copy ~off ~len is a cmd for a copy code.
literal chr is a cmd for a character.
eob is End Of Block cmd.
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.
Discard all elements from a queue.