Weak.Makeこのページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 last mod. 2009-09-10 (木) 14:27:22
functor Weak.Make の出力 signature です。 module Make: functor (H : Hashtbl.HashedType) -> sig end ウィークハッシュテーブル構造の実装を束縛する functor です。 Parameters:
type data テーブルが保持する要素の型です。 type t data 型の要素を保持するテーブルの型です。ウィークハッシュテーブルは、output_vaueやMarshal?モジュールでマーシャリングできません。 val create : int -> t create n は空のウィークハッシュテーブルを新しく作って返します。初期状態のサイズは n です。テーブルは必要に応じて大きくなります。 val clear : t -> unit テーブルからすべての要素を取り除きます。 val merge : t -> data -> data merge t x は t 中で x のインスタンスを見つけて返します。見つからなかったら t に x を追加して x を返します。 val add : t -> data -> unit add t x は t に x を追加します。t 中に x のインスタンスがすでにある場合、その後 find や merge を行って元の値が返るか今回入れた値が返るかは規定されません。 val remove : t -> data -> unit remove t x は t から x のインスタンスを 1 つ取り除きます。t 中に x のインスタンスが 1 つもなかったら何もしません。 val find : t -> data -> data find t x は t から x のインスタンスを見つけて返します。見つからなかったら例外 Not_found を発生します。 val find_all : t -> data -> data list find_all t x は t から x のインスタンスをすべて見つけてリストにして返します。 val mem : t -> data -> bool mem t x は t 中に x のインスタンスが 1 つでもあれば true を返します。でなければ false を返します。 val iter : (data -> unit) -> t -> unit iter f t は t の要素をそれぞれ f に適用します。その順番は規定されていません。f が t 自体に変更を加えようとした場合の動作は規定されていません。 val fold : (data -> 'a -> 'a) -> t -> 'a -> 'a fold f t init は (f d1 (... (f dN init))) を評価します。 d1 ... dN は t のすべての要素です。その順番は規定されていません。 f が t 自体に変更を加えようとした場合の動作は規定されていません。 val count : t -> int テーブルの要素数をカウントします。count t は fold (fun _ n -> n+1) t 0 と同じ結果を返しますが、死んだ要素を解放する遅延がありません。 val stats : t -> int * int * int * int * int * int テーブルの状態を返します。それぞれ、テーブルの長さ、エントリーの数、バケットの長さの合計、バケットの長さのうち最小のもの、中央値、最大のものです。 |