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