module Make:
A functor which implements the full API of prefix-maps, given an equatable
type for the codomain.
type
prefix = Bitpath.t
type
codomain = C.t
type
t = codomain Bitpath_cover_map.Poly.t
val equal : t -> t -> bool
val disjoint : t -> t -> bool
val empty : t
val is_empty : t -> bool
val const : codomain -> t
val is_const : t -> bool
val to_const : t -> codomain
val picki_first : t ->
prefix * codomain
val picki_random : t ->
prefix * codomain
val appose : t ->
t -> t
val lower_half : t -> t
val upper_half : t -> t
val unzoom : prefix ->
t -> t
val zoom : prefix ->
t -> t
val cover_find : prefix ->
t -> prefix
val add : prefix ->
codomain ->
t -> t
val remove : prefix ->
t -> t
val intersect : prefix ->
t -> t
val modify : prefix ->
(t -> t) ->
t -> t
val cover_card : t -> int
val fold : (codomain -> 'a -> 'a) ->
t -> 'a -> 'a
val foldi : (prefix -> codomain -> 'a -> 'a) ->
t -> 'a -> 'a
val iter : (codomain -> unit) -> t -> unit
val iteri : (prefix -> codomain -> unit) ->
t -> unit
val map : ('a -> codomain) ->
'a Bitpath_cover_map.Poly.t -> t
val mapi : (prefix -> 'a -> codomain) ->
'a Bitpath_cover_map.Poly.t -> t
val right_isecn : t ->
t -> t
val right_union : t ->
t -> t
val valid : t -> bool