Functor Weak.Make


module Make: functor (H : Hashtbl.HashedType) -> sig  end
ウィークハッシュテーブル構造の実装を束縛する functor です。
Parameters:
H : Hashtbl.HashedType


type data
テーブルが保持する要素の型です。


type t
data 型の要素を保持するテーブルの型です。

val create : int -> t
create n は空のウィークハッシュテーブルを新しく作って返します。初期状態のサイズは n です。テーブルは必要に応じて大きくなります。
val clear : t -> unit
テーブルからすべての要素を取り除きます。
val merge : t -> data -> data
merge t xt 中で x のインスタンスを見つけて返します。見つからなかったら tx を追加して x を返します。
val add : t -> data -> unit
add t xtx を追加します。t 中に x のインスタンスがすでにある場合、その後 findmerge を行って元の値が返るか今回入れた値が返るかは規定されません。
val remove : t -> data -> unit
remove t xt から x のインスタンスを 1 つ取り除きます。t 中に x のインスタンスが 1 つもなかったら何位もしません。
val find : t -> data -> data
find t xt から x のインスタンスを見つけて返します。見つからなかったら例外 Not_found を発生します。
val find_all : t -> data -> data list
find_all t xt から x のインスタンスをすべて見つけてリストにして返します。
val mem : t -> data -> bool
mem t xt 中に x のインスタンスが 1 つでもあれば true を返します。でなければ false を返します。
val iter : (data -> unit) -> t -> unit
iter f tt の要素をそれぞれ f に適用します。その順番は規定されていません。ft 自体に変更を加えようとした場合の動作は規定されていません。
val fold : (data -> 'a -> 'a) -> t -> 'a -> 'a
fold f t init(f d1 (... (f dN init))) を評価します。 d1 ... dNt のすべての要素です。その順番は規定されていません。 ft 自体に変更を加えようとした場合の動作は規定されていません。
val count : t -> int
テーブルの要素数をカウントします。count tfold (fun _ n -> n+1) t 0 と同じ結果を返しますが、死んだ要素を解放する遅延がありません。
val stats : t -> int * int * int * int * int * int
テーブルの状態を返します。それぞれ、テーブルの長さ、エントリーの数、バケットの長さの合計、バケットの長さのうち最小のもの、中央値、最大のものです。