Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file range_intf.ml
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798open!CoremoduletypePoint=sigtypet[@@derivingsexp,bin_io,equal,compare,quickcheck]endmoduletypeBound=sigtype'at[@@derivingsexp,bin_io,equal,quickcheck]endmoduletypeS=sigmodulePoint:PointmoduleBound:Boundtype'arangetype'aor_emptytypet=Point.trange[@@derivingsexp,bin_io,equal,quickcheck]valrange:Point.tBound.t->Point.tBound.t->tvalat_least:Point.t->tvalat_most:Point.t->tvalgreater_than:Point.t->tvalless_than:Point.t->tvalall:tvalis_all:t->bool(** Return the join of two ranges. This is an approximation to the setwise union, since
the union of two disjoint intervals is not in general an interval. *)valjoin:t->t->t(** Return -1 if the given value is less than the whole range, 0 if it's within the
range (inclusive), or 1 if it's greater than the whole range. *)valcompare_point:Point.t->t->int(** Return whether the range's lower bound is either [No_bound] or less than [lower] and
its
upper bound is either [No_bound] or greater than [upper]. *)valcovers_points:t->lower:Point.t->upper:Point.t->boolvaldisjoint:t->t->boolmoduleOr_empty:sigtypenonrect=Point.tor_empty[@@derivingsexp,bin_io,equal,quickcheck]valrange:Point.tBound.t->Point.tBound.t->tvalall:tvalat_least:Point.t->tvalat_most:Point.t->tvalgreater_than:Point.t->tvalless_than:Point.t->tvalis_all:t->boolvalempty:tvalis_empty:t->boolvalcontains_point:t->Point.t->bool(** Return the join of two ranges. See caveat on [Make.join]. *)valjoin:t->t->tvalinter:t->t->tvaldisjoint:t->t->boolendvalinter:t->t->Or_empty.tvalinter_opt:t->t->toptionendmoduletypeRange=sigmoduleBound:sigtype'at=|No_bound|Openof'a|Closedof'a[@@derivingsexp,bin_io,equal,quickcheck]endtype'at={lower_bound:'aBound.t;upper_bound:'aBound.t}moduleOr_empty:sigtypenonrec'at=|Non_emptyof'at|EmptyendmoduletypePoint=PointmoduletypeS=Swithtype'arange:='atwithtype'aor_empty:='aOr_empty.twithmoduleBound:=BoundmoduleMake(Point:Point):SwithmodulePoint=PointmoduleTime_ns_span:SwithtypePoint.t=Time_ns.Span.tmoduleByte_units:SwithtypePoint.t=Byte_units.tend