Module Deque

module Deque: sig .. end

Deque collection library


type 'a deque 
val create : unit -> 'a deque

create a new container

val is_empty : 'a deque -> bool

is the container empty

val insert_head : 'a -> 'a deque -> unit

add to the front of the deque

val insert_tail : 'a -> 'a deque -> unit

add to the back of the deque

val remove_head : 'a deque -> 'a

remove the first element from the deque and return it, fail if the queue is empty

val remove_tail : 'a deque -> 'a

remove the last element from the deque and return it fail if the queue is empty

val iterate : ('a -> unit) -> 'a deque -> unit

run a command c for each node of the deque in order of head to tail