Module BatSet.IRopeSet


module IRopeSet: S  with type elt = BatRope.t
A set of ropes. Comparison of ropes ignores case (i.e. r"foo" = r"Foo")

type elt 
The type of the set elements.
type t 
The type of sets.
val empty : t
The empty set.
val is_empty : t -> bool
Test whether a set is empty or not.
val singleton : elt -> t
singleton x returns the one-element set containing only x.
val mem : elt -> t -> bool
mem x s tests whether x belongs to the set s.
val add : elt -> t -> t
add x s returns a set containing all elements of s, plus x. If x was already in s, s is returned unchanged.
val remove : elt -> t -> t
remove x s returns a set containing all elements of s, except x. If x was not in s, s is returned unchanged.
val union : t -> t -> t
Set union.
val inter : t -> t -> t
Set intersection.
val diff : t -> t -> t
Set difference.
val compare : t -> t -> int
Total ordering between sets. Can be used as the ordering function for doing sets of sets.
val equal : t -> t -> bool
equal s1 s2 tests whether the sets s1 and s2 are equal, that is, contain equal elements.
val subset : t -> t -> bool
subset s1 s2 tests whether the set s1 is a subset of the set s2.
val compare_subset : t -> t -> int
Partial ordering between sets as generated by subset
val iter : (elt -> unit) -> t -> unit
iter f s applies f in turn to all elements of s. The elements of s are presented to f in increasing order with respect to the ordering over the type of the elements.
val map : (elt -> elt) -> t -> t
map f x creates a new set with elements f a0, f a1... f aN, where a0,a1..aN are the values contained in x
val filter : (elt -> bool) -> t -> t
filter p s returns the set of all elements in s that satisfy predicate p.
val filter_map : (elt -> elt option) -> t -> t
filter_map f m combines the features of filter and map. It calls calls f a0, f a1, f aN where a0,a1..aN are the elements of m and returns the set of pairs bi such as f ai = Some bi (when f returns None, the corresponding element of m is discarded).
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
fold f s a computes (f xN ... (f x1 (f x0 a))...), where x0,x1..xN are the elements of s, in increasing order.
val for_all : (elt -> bool) -> t -> bool
for_all p s checks if all elements of the set satisfy the predicate p.
val exists : (elt -> bool) -> t -> bool
exists p s checks if at least one element of the set satisfies the predicate p.
val partition : (elt -> bool) -> t -> t * t
partition p s returns a pair of sets (s1, s2), where s1 is the set of all the elements of s that satisfy the predicate p, and s2 is the set of all the elements of s that do not satisfy p.
val split : elt -> t -> t * bool * t
split x s returns a triple (l, present, r), where l is the set of elements of s that are strictly less than x; r is the set of elements of s that are strictly greater than x; present is false if s contains no element equal to x, or true if s contains an element equal to x.
val cardinal : t -> int
Return the number="code">x rel="Chapter" href="BatBuffer.html">