module UniverseType = struct
type t = universe
- let compare = Pervasives.compare
+ let compare (n1,u1) (n2,u2) =
+ let ndiff = n1 - n2 in
+ if ndiff <> 0 then ndiff
+ else
+ match u1,u2 with
+ None, None -> 0
+ | Some u1, Some u2 -> UriManager.compare u1 u2
+ | None, Some _ -> 1
+ | Some _, None -> -1
end
module SOF = Set.Make(UniverseType)