remove Vec_unit

This commit is contained in:
Simon Cruanes 2022-07-30 23:22:25 -04:00
parent 36204c5e5e
commit ee2ea784ad
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4
3 changed files with 0 additions and 40 deletions

View file

@ -4,7 +4,6 @@ module Util = Util
module Vec = Vec module Vec = Vec
module Veci = Veci module Veci = Veci
module Vec_float = Vec_float module Vec_float = Vec_float
module Vec_unit = Vec_unit
module Vec_sig = Vec_sig module Vec_sig = Vec_sig
module Bitvec = Bitvec module Bitvec = Bitvec
module Int_id = Int_id module Int_id = Int_id

View file

@ -1,34 +0,0 @@
type elt = unit
(* no need to store anything so we don't even provide an actual vector
since unit is a "zero sized type" as rustaceans would say. *)
type t = { mutable size: int }
let create ?cap:_ () : t = { size = 0 }
let clear self = self.size <- 0
let copy { size } = { size }
let get (_self : t) _ = ()
let size self = self.size
let iter ~f:_ (_self : t) = ()
let iteri ~f:_ (_self : t) = ()
let is_empty self = self.size = 0
let push (self : t) _ = self.size <- 1 + self.size
let fast_remove (self : t) _ = self.size <- self.size - 1
let ensure_size (self : t) i = self.size <- max self.size i
let set _ _ _ = ()
let pop self =
self.size <- self.size - 1;
()
let filter_in_place _ _ = ()
let shrink (self : t) i = self.size <- i
let to_iter self k =
for _i = 0 to self.size - 1 do
k ()
done
let to_array self = Iter.to_array (to_iter self)
let fold_left f acc self = Iter.fold f acc (to_iter self)
let pp ppx out self = Iter.pp_seq ppx out (to_iter self)

View file

@ -1,5 +0,0 @@
(** Fake vector of unit.
This just retains the size, as 0 bits of actual storage are required. *)
include Vec_sig.S with type elt = unit