sig
type t = private { lo : int; hi : int; }
val make : int -> int -> Biocaml_range.t Core.Std.Or_error.t
val make_unsafe : int -> int -> Biocaml_range.t
val size : Biocaml_range.t -> int
val member : Biocaml_range.t -> int -> bool
val to_string : Biocaml_range.t -> string
val to_list : Biocaml_range.t -> int list
val overlap : Biocaml_range.t -> Biocaml_range.t -> int
val gap : Biocaml_range.t -> Biocaml_range.t -> int
val union :
Biocaml_range.t ->
Biocaml_range.t ->
[ `Disjoint of Biocaml_range.t * Biocaml_range.t
| `Joint of Biocaml_range.t ]
val intersect :
Biocaml_range.t -> Biocaml_range.t -> Biocaml_range.t option
val before : Biocaml_range.t -> Biocaml_range.t -> bool
val after : Biocaml_range.t -> Biocaml_range.t -> bool
val strict_before : Biocaml_range.t -> Biocaml_range.t -> bool
val strict_after : Biocaml_range.t -> Biocaml_range.t -> bool
val compare_positional : Biocaml_range.t -> Biocaml_range.t -> int option
val subset : Biocaml_range.t -> Biocaml_range.t -> bool
val superset : Biocaml_range.t -> Biocaml_range.t -> bool
val strict_subset : Biocaml_range.t -> Biocaml_range.t -> bool
val strict_superset : Biocaml_range.t -> Biocaml_range.t -> bool
val compare_containment : Biocaml_range.t -> Biocaml_range.t -> int option
val any_overlap : Biocaml_range.t list -> bool
val all_positional : Biocaml_range.t list -> bool
val max_gap_of_positional : Biocaml_range.t list -> int
val find_min_range :
?init_direction:string ->
Biocaml_range.t ->
(Biocaml_range.t -> bool) -> int -> Biocaml_range.t option
val expand_assoc_list : (Biocaml_range.t * 'a) list -> (int * 'a list) list
val find_regions :
?max_gap:int ->
('a -> bool) -> (Biocaml_range.t * 'a) list -> Biocaml_range.t list
val make_random : Biocaml_range.t -> Biocaml_range.t
val t_of_sexp : Sexplib.Sexp.t -> Biocaml_range.t
val sexp_of_t : Biocaml_range.t -> Sexplib.Sexp.t
val compare : Biocaml_range.t -> Biocaml_range.t -> int
end