sig
type t =
Java_1_0
| Java_1_1
| Java_1_2
| Java_1_3
| Java_1_4
| Java_1_5
| Java_1_6
| Java_1_7
| Java_1_8
val all : Version.t list
val default : Version.t
val to_string : Version.t -> string
type bound = { bound_version : Version.t; bound_feature : string; }
type bounds = Version.bound * Version.bound option
val make_bounds : string -> Version.t -> Version.t option -> Version.bounds
val empty_bounds : Version.bounds -> bool
type error =
Invalid_version
| Unsupported_feature of (Utils.u2 * Utils.u2) * string
| Deprecated_feature of (Utils.u2 * Utils.u2) * string
exception Exception of Version.error
val string_of_error : Version.error -> string
val min_supported : Utils.u2 * Utils.u2
val max_supported : Utils.u2 * Utils.u2
val major_minor_of_version : Version.t -> Utils.u2 * Utils.u2
val version_of_major_minor : Utils.u2 * Utils.u2 -> Version.t
val at_least : string -> Version.t -> Version.t -> unit
val at_most : string -> Version.t -> Version.t -> unit
val check : Version.bounds -> Version.t -> unit
val intersect : Version.bounds -> Version.bounds -> Version.bounds
val intersect_list : Version.bounds list -> Version.bounds
val equal : Version.t -> Version.t -> bool
val compare : Version.t -> Version.t -> int
val hash : Version.t -> int
end