Module type Map.S


module type S = sig  end
functor Map.Make の出力 signature です。


type key
マップのキーの型です。


type 'a t
key から型 'a を返すマップの型です。

val empty : 'a t
空のマップです。
val add : key -> 'a -> 'a t -> 'a t
add x y mm と同じ束縛に、さらに x から y への束縛を追加したマップを返します。x がすでに m のなかで何かに束縛していたら、その束縛は隠れます。
val find : key -> 'a t -> 'a
find x mm 中で x が束縛しているものを返します。そのような束縛がなかったら例外 Not_found を発生します。
val remove : key -> 'a t -> 'a t
remove x mm から x の束縛を取り除いて返します。
val mem : key -> 'a t -> bool
mem x mm 中に x の束縛が存在すれば true を、なければ false を返します。
val iter : (key -> 'a -> unit) -> 'a t -> unit
iter f mm 中の束縛すべてを f に適用します。f は第一引数にキーを、第二引数に連想値を取ります。どの束縛からどういう順に f を適用されるかは規定されていません。f に渡されるのは現在の束縛だけで、新しい束縛で隠れている束縛は f に渡されません。
val map : ('a -> 'b) -> 'a t -> 'b t
map f mm 中の束縛される連想値 af に適用した結果と置き換えたマップを返します。どの連想値からどういう順に f を適用されるかは規定されていません。
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
Map.S.map と同じですが、関数は引数に束縛のキーと連想値を両方とります。
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
fold f m a(f kN dN ... (f k1 d1 a)...) を評価します。 k1 ... kNm 中のすべてのキーで、 d1 ... dN は連想値です。 どの束縛からどういう順に f を適用されるかは規定されていません。