Up

module Trie

: sig
#
module type Key = sig
#
type t
#
module Part : sig
#
type t
#
val hash : t -> int
#
val compare : t -> t -> int
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
val iter : t -> f:(Part.t -> unit) -> unit
end
#
module type S = sig
#
module Key : sig
#
type t
end
#
module Part : sig
#
type t
include Core.Std.Hashable with type t := t
end
#
type t =
# | Node of (bool * t) Part.Table.t
#
val create : unit -> t
#
val contains : t -> Key.t -> bool
#
val add : t -> Key.t -> unit
#
val remove : t -> Key.t -> unit
#
val render_as_regexp : t -> capture_parts:bool -> to_quoted_string:(Part.t -> string) -> string
end
#
module Make : functor (T : Key) -> S with type Key.t = T.t and type Part.t = T.Part.t
#
module String_trie : S with type Key.t = Core.Std.String.t and type Part.t = Core.Std.Char.t
end