package ocamlformat-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=70bda037d0bed961ed91bdb5198b2eeef542444750a8b015d80ccb94b3ff41fb
sha512=8de0517165c6f0cadcedcce66e57cb723956768a8068abd062243abb08fabf292283d0d284be230aa5647d0883a4dc7f28fcf1b70338a2b0c9b17a5bed1bbb71
doc/ocamlformat-lib.ocamlformat_stdlib/Ocamlformat_stdlib/Fpath/Set/index.html
Module Fpath.SetSource
Path sets.
Path sets
include Set.S with type elt := path and type t := set
Sets
add x s returns a set containing all elements of s, plus x. If x was already in s, s is returned unchanged (the result of the function is then physically equal to s).
remove x s returns a set containing all elements of s, except x. If x was not in s, s is returned unchanged (the result of the function is then physically equal to s).
Set difference: diff s1 s2 contains the elements of s1 that are not in s2.
Elements
Return the list of all elements of the given set. The returned list is sorted in increasing order with respect to the ordering Ord.compare, where Ord is the argument given to Set.Make.
Return the smallest element of the given set (with respect to the Ord.compare ordering), or None if the set is empty.
Same as min_elt_opt, but returns the largest element of the given set.
Return one element of the given set, or None if the set is empty. Which element is chosen is unspecified, but equal elements will be chosen for equal sets.
Searching
find_opt x s returns the element of s equal to x (according to Ord.compare), or None if no such element exists.
find_first f s, where f is a monotonically increasing function, returns the lowest element e of s such that f e, or raises Not_found if no such element exists.
For example, find_first (fun e -> Ord.compare e x >= 0) s will return the first element e of s where Ord.compare e x >= 0 (intuitively: e >= x), or raise Not_found if x is greater than any element of s.
find_first_opt f s, where f is a monotonically increasing function, returns an option containing the lowest element e of s such that f e, or None if no such element exists.
find_last f s, where f is a monotonically decreasing function, returns the highest element e of s such that f e, or raises Not_found if no such element exists.
find_last_opt f s, where f is a monotonically decreasing function, returns an option containing the highest element e of s such that f e, or None if no such element exists.
Traversing
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.
fold f s init computes (f xN ... (f x2 (f x1 init))...), where x1 ... xN are the elements of s, in increasing order.
Transforming
map f s is the set whose elements are f a0,f a1... f aN, where a0,a1...aN are the elements of s.
The elements are passed to f in increasing order with respect to the ordering over the type of the elements.
If no element of s is changed by f, s is returned unchanged. (If each output of f is physically equal to its input, the returned set is physically equal to s.)
filter f s returns the set of all elements in s that satisfy predicate f. If f satisfies every element in s, s is returned unchanged (the result of the function is then physically equal to s).
filter_map f s returns the set of all v such that f x = Some v for some element x of s.
For example,
filter_map (fun n -> if n mod 2 = 0 then Some (n / 2) else None) sis the set of halves of the even elements of s.
If no element of s is changed or dropped by f (if f x = Some x for each element x), then s is returned unchanged: the result of the function is then physically equal to s.
partition f s returns a pair of sets (s1, s2), where s1 is the set of all the elements of s that satisfy the predicate f, and s2 is the set of all the elements of s that do not satisfy f.
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.
Predicates and comparisons
equal s1 s2 tests whether the sets s1 and s2 are equal, that is, contain equal elements.
Total ordering between sets. Can be used as the ordering function for doing sets of sets.
subset s1 s2 tests whether the set s1 is a subset of the set s2.
for_all f s checks if all elements of the set satisfy the predicate f.
exists f s checks if at least one element of the set satisfies the predicate f.
Converting
to_seq_from x s iterates on a subset of the elements of s in ascending order, from x or above.
val pp :
?sep:(Format.formatter -> unit -> unit) ->
(Format.formatter -> path -> unit) ->
Format.formatter ->
set ->
unitpp ~sep pp_elt ppf ps formats the elements of ps on ppf. Each element is formatted with pp_elt and elements are separated by ~sep (defaults to Format.pp_print_cut). If the set is empty leaves ppf untouched.
dump ppf ps prints an unspecified representation of ps on ppf.