sig
module Tree :
functor (BB : Bounding_box_intf.S) ->
sig
type bb = BB.t
type 'a t = Empty | Node of (bb * 'a t) list | Leaf of (bb * 'a) list
val empty : 'a t
val empty_node : bb * 'a t
val bounding_box_of_nodes : (bb * 'b) list -> bb
val size : 'a t -> int
val partition_by_min_delta :
(bb * 'a t) list -> bb -> (bb * 'a t) * (bb * 'a t) list
val quadratic_split :
(bb * 'a) list -> (bb * (bb * 'a) list) * (bb * (bb * 'a) list)
val insert' :
?max_nodes:int -> 'a t -> bb -> 'a -> (bb * 'a t) * (bb * 'a t)
val insert : ?max_nodes:int -> 'a t -> bb -> 'a -> 'a t
val search : 'a t -> bb -> 'a list
end
module Make :
functor (P : Rtree_intf.Rtree_params) ->
sig
module Tree : Rtree_intf.Tree_S
type a = P.t
type t = P.t Tree.t
val empty : Rtree.Make.t
val size : Rtree.Make.t -> int
val insert : Rtree.Make.t -> Rtree.Make.a -> Rtree.Make.t
val search : Rtree.Make.t -> P.Bounding_box.t -> Rtree.Make.a list
end
end