summaryrefslogtreecommitdiff
path: root/stdlib/queue.ml
diff options
context:
space:
mode:
authorNo author <no_author@ocaml.org>1995-06-15 08:17:30 +0000
committerNo author <no_author@ocaml.org>1995-06-15 08:17:30 +0000
commitf0a0321f07084edd6d4b4761b855d74e0521a86a (patch)
tree1a49ecaa36e8d05f8171b3395e46f69e24e94462 /stdlib/queue.ml
parent3ceaa85c72b2094bb090a1819b65a2792cf2d3c1 (diff)
downloadocaml-unlabeled-1.1.2.tar.gz
This commit was manufactured by cvs2svn to create branchunlabeled-1.1.2
'unlabeled-1.1.2'. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unlabeled-1.1.2@35 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'stdlib/queue.ml')
-rw-r--r--stdlib/queue.ml58
1 files changed, 0 insertions, 58 deletions
diff --git a/stdlib/queue.ml b/stdlib/queue.ml
deleted file mode 100644
index 977a26338c..0000000000
--- a/stdlib/queue.ml
+++ /dev/null
@@ -1,58 +0,0 @@
-exception Empty
-
-type 'a queue_cell =
- Nil
- | Cons of 'a * 'a queue_cell ref
-
-type 'a t =
- { mutable head: 'a queue_cell;
- mutable tail: 'a queue_cell }
-
-let new () =
- { head = Nil; tail = Nil }
-
-let clear q =
- q.head <- Nil; q.tail <- Nil
-
-let add x q =
- match q.tail with
- Nil -> (* if tail = Nil then head = Nil *)
- let c = Cons(x, ref Nil) in
- q.head <- c; q.tail <- c
- | Cons(_, newtailref) ->
- let c = Cons(x, ref Nil) in
- newtailref := c;
- q.tail <- c
-
-let peek q =
- match q.head with
- Nil ->
- raise Empty
- | Cons(x, _) ->
- x
-
-let take q =
- match q.head with
- Nil ->
- raise Empty
- | Cons(x, rest) ->
- q.head <- !rest;
- begin match !rest with
- Nil -> q.tail <- Nil
- | _ -> ()
- end;
- x
-
-let rec length_aux = function
- Nil -> 0
- | Cons(_, rest) -> succ (length_aux !rest)
-
-let length q = length_aux q.head
-
-let rec iter_aux f = function
- Nil ->
- ()
- | Cons(x, rest) ->
- f x; iter_aux f !rest
-
-let iter f q = iter_aux f q.head