package toffee
Source file node_id.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27type t = { idx : int; gen : int } let make idx = { idx; gen = 0 } let make_with_generation idx gen = { idx; gen } let to_int t = t.idx let index t = t.idx let generation t = t.gen let equal lhs rhs = lhs.idx = rhs.idx && lhs.gen = rhs.gen let compare lhs rhs = match Int.compare lhs.idx rhs.idx with | 0 -> Int.compare lhs.gen rhs.gen | non_zero -> non_zero let pp fmt t = Format.fprintf fmt "NodeId(%d,%d)" t.idx t.gen module Map = Map.Make (struct type nonrec t = t let compare = compare end) module Set = Set.Make (struct type nonrec t = t let compare = compare end)