Functor TopDown.S.Index

module Index: 
functor (Data : Hashtbl.HashedType) -> sig .. end
Parameters:
Data : Hashtbl.HashedType

type t 

A set of term->data bindings, for efficient retrieval by unification

val empty : unit -> t

new, empty index

val copy : t -> t

Recursive copy of the index

val clear : t -> unit
val add : t -> TopDown.S.T.t -> Data.t -> t

Add the term->data binding. This modifies the index!

val remove : t -> TopDown.S.T.t -> Data.t -> t

Remove the term->data binding. This modifies the index!

val generalizations : ?oc:bool ->
t ->
TopDown.S.scope ->
TopDown.S.T.t ->
TopDown.S.scope -> (Data.t -> TopDown.S.Subst.t -> unit) -> unit

Retrieve data associated with terms that are a generalization of the given query term

val unify : ?oc:bool ->
t ->
TopDown.S.scope ->
TopDown.S.T.t ->
TopDown.S.scope -> (Data.t -> TopDown.S.Subst.t -> unit) -> unit

Retrieve data associated with terms that unify with the given query term

val iter : t -> (TopDown.S.T.t -> Data.t -> unit) -> unit

Iterate on bindings

val size : t -> int

Number of bindings