X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tagSet.mli;h=a232c0ac565fbab6fc8b5921d920f8bf7cac2458;hb=d550133ad7afdf65c5e284c2bcf67a5bdde6faa7;hp=1f68849c6265b1485c118a9e99787e1425ccaff6;hpb=3623eefccfb5fc69e19ad975a3669f51a2a8b276;p=SXSI%2Fxpathcomp.git diff --git a/tagSet.mli b/tagSet.mli index 1f68849..a232c0a 100644 --- a/tagSet.mli +++ b/tagSet.mli @@ -4,46 +4,11 @@ (* Copyright NICTA 2008 *) (* Distributed under the terms of the LGPL (see LICENCE) *) (******************************************************************************) -module type S = -sig - module S : Set.S - type t = private Finite of S.t | CoFinite of S.t - exception InfiniteTagSet - val empty : t - val any : t - val is_empty : t -> bool - val is_any : t -> bool - val is_finite : t -> bool - val singleton : S.elt -> t - val mem : S.elt -> t -> bool - val add : S.elt -> t -> t - val remove : S.elt -> t -> t - val cup : t -> t -> t - val cap : t -> t -> t - val diff : t -> t -> t - val neg : t -> t - val compare : t -> t -> int - val subset : t -> t -> bool - val kind_split : t list -> t * t - val fold : (S.elt -> 'a -> 'a) -> t -> 'a -> 'a - val for_all : (S.elt -> bool) -> t -> bool - val exists : (S.elt -> bool) -> t -> bool - val filter : (S.elt -> bool) -> t -> S.t - val partition : (S.elt -> bool) -> t -> S.t * S.t - val cardinal : t -> int - val elements : t -> S.elt list - val from_list : S.elt list -> t - val choose : t -> S.elt -end +include FiniteCofinite.S with type elt = Tag.t and type set = Ptset.Int.t -module Make (Symbol : Set.OrderedType) : S with type S.elt = Symbol.t - -module Xml : -sig - include S with type S.elt = Tag.t - val star : t - val pcdata : t - val attribute : t - val node : t -end +val tag : Tag.t -> t +val pcdata : t +val attribute : t +val star : t +val node : t