Set.Makeこのページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 last mod. 2009-09-10 (木) 14:44:23
module type S = sig end 全順序型を受け取り、Set structureテーブル構造の実装を構築するfunctor です type elt 集合の要素の型です。 type t 集合の型です。 val empty : t 空集合です。 val is_empty : t -> bool 集合が空かどうか検査します。 val mem : elt -> t -> bool mem x s は集合 s 中に x があるかどうか検査します。 val add : elt -> t -> t add x s は集合 s の要素すべてに x を追加した集合を返します。s 中にすでに x が存在した場合は、s を変更せずに返します。 val singleton : elt -> t singleton x は x を 1 つだけ持つ集合を返します。 val remove : elt -> t -> t remove x s は集合 s の要素から x を取り除いて返します。s 中に x が存在しない場合は、s を変更せずに返します。 val union : t -> t -> t 和集合。 val inter : t -> t -> t 積集合。 val diff : t -> t -> t 差集合。 val compare : t -> t -> int 集合同士の全順序関数です。集合の集合を作るときの順序関数として使えます。 val equal : t -> t -> bool equal s1 s2 は集合 s1 と s2 が等しいかどうか、つまり持つ要素がすべて同じかどうか検査します。 val subset : t -> t -> bool subset s1 s2 は集合 s1 が集合 s2 の部分集合になっているかどうか検査します。 val iter : (elt -> unit) -> t -> unit iter f s は s の要素すべてを順に f に適用していきます。sの要素は、要素の上に定義された順序に従って、昇順でfに渡されます。 val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a fold f s a は (f xN ... (f x2 (f x1 a))...) を評価します。 x1 ... xN は s 中のすべての要素であり、昇順で並んでいます。 val for_all : (elt -> bool) -> t -> bool for_all p s は集合の要素すべてが、述語 p を満たすかどうかチェックします。 val exists : (elt -> bool) -> t -> bool exists p s は集合の要素で、述語 p を満たすものが少なくとも 1 つはあるかどうかチェックします。 val filter : (elt -> bool) -> t -> t filter p s は s の要素で、述語 p を満たすものすべてを含む集合を返します。 val partition : (elt -> bool) -> t -> t * t partition p s は集合のペア (s1, s2) を返します。s1 は s の要素で述語 p を満たすものの集合、s2 は満たさないものの集合です。 val cardinal : t -> int 集合の数を返します。 val elements : t -> elt list 与えられた集合の要素すべてをリストにして返します。返されるリストは Ord.compare に関して昇順にソートされています (Ord は Set.Make に与えられる引数です) 。 val min_elt : t -> elt 集合の要素で (Ord.compare に関して) 最も小さい要素を返します。集合が空だった場合は例外 Not_found を発生します。 val max_elt : t -> elt Set.S.min_elt と同じように、最も大きい要素を返します。 val choose : t -> elt 集合から要素を 1 つ選んで返します。集合が空だった場合は例外 Not_found を発生します。どの要素が選ばれるかは規定されていませんが、同じ集合が与えられたときは必ず同じ要素を返します。 val split : elt -> t -> t * bool * t split x sは、 (l, present, r)を返します。lはxよりも小さい要素を含む集合であり、rはxよりも大きい要素を含む集合です。presentは、sかxと等しい要素を含まない場合はfalse、xと等しい要素を含む場合はtrueです。 |