diff --git a/src/data/CCDeque.ml b/src/data/CCDeque.ml index dd895288..c5a1f90e 100644 --- a/src/data/CCDeque.ml +++ b/src/data/CCDeque.ml @@ -64,6 +64,12 @@ let create () = let rec cur = { cell=Zero; prev=cur; next=cur } in { cur; size=0 } +let clear q = + let rec cur = { cell=Zero; prev=cur; next=cur } in + q.cur <- cur; + q.size <- 0; + () + let incr_size_ d = d.size <- d.size + 1 let decr_size_ d = d.size <- d.size - 1 diff --git a/src/data/CCDeque.mli b/src/data/CCDeque.mli index be54d7fe..26163e43 100644 --- a/src/data/CCDeque.mli +++ b/src/data/CCDeque.mli @@ -33,6 +33,10 @@ exception Empty val create : unit -> 'a t (** New deque *) +val clear : _ t -> unit +(** Remove all elements + @since NEXT_RELEASE *) + val is_empty : 'a t -> bool (** Is the deque empty? *)