Set.StringSpecalized when value type is string, more efficient than the generic type, its compare behavior is fixed using the built-in comparison
This module is Belt.Set specialized with value type to be a primitive type. It is more efficient in general, the API is the same with Belt_Set except its value type is fixed, and identity is not needed(using the built-in one)
See Belt.Set
The type of the set elements.
val empty : tval isEmpty : t -> boolTotal ordering between sets. Can be used as the ordering function for doing sets of sets.
eq s1 s2 tests whether the sets s1 and s2 are equal, that is, contain equal elements.
val forEachU : t -> (value -> unit) Js.Fn.arity1 -> unitforEach s f applies f in turn to all elements of s. In increasing order
val reduceU : t -> 'a -> ('a -> value -> 'a) Js.Fn.arity2 -> 'aval everyU : t -> (value -> bool) Js.Fn.arity1 -> boolevery p s checks if all elements of the set satisfy the predicate p. Order unspecified.
val someU : t -> (value -> bool) Js.Fn.arity1 -> boolsome p s checks if at least one element of the set satisfies the predicate p. Oder unspecified.
val keepU : t -> (value -> bool) Js.Fn.arity1 -> tkeep p s returns the set of all elements in s that satisfy predicate p.
val partitionU : t -> (value -> bool) Js.Fn.arity1 -> t * tpartition 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 size : t -> intval minUndefined : t -> value Js.undefinedval maxUndefined : t -> value Js.undefinedval getUndefined : t -> value -> value Js.undefinedsplit 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 checkInvariantInternal : t -> unitraise when invariant is not held