Module MutableSet.String
Specalized when key type is string, more efficient than the generic type
This module is Belt.MutableSet specialized with key type to be a primitive type.
It is more efficient in general, the API is the same with Belt.MutableSet except its key type is fixed, and identity is not needed(using the built-in one)
See Belt.MutableSet
type value = stringtype value = string;The type of the set elements.
type ttype t;The type of sets.
val make : unit -> tlet make: unit => t;val fromArray : value array -> tlet fromArray: array(value) => t;val fromSortedArrayUnsafe : value array -> tlet fromSortedArrayUnsafe: array(value) => t;val copy : t -> tlet copy: t => t;val isEmpty : t -> boollet isEmpty: t => bool;val has : t -> value -> boollet has: t => value => bool;val add : t -> value -> unitlet add: t => value => unit;val addCheck : t -> value -> boollet addCheck: t => value => bool;val mergeMany : t -> value array -> unitlet mergeMany: t => array(value) => unit;val remove : t -> value -> unitlet remove: t => value => unit;val removeCheck : t -> value -> boollet removeCheck: t => value => bool;val removeMany : t -> value array -> unitlet removeMany: t => array(value) => unit;val union : t -> t -> tlet union: t => t => t;val intersect : t -> t -> tlet intersect: t => t => t;val diff : t -> t -> tlet diff: t => t => t;val subset : t -> t -> boollet subset: t => t => bool;val cmp : t -> t -> intlet cmp: t => t => int;val eq : t -> t -> boollet eq: t => t => bool;val forEachU : t -> (value -> unit) Js.Fn.arity1 -> unitlet forEachU: t => Js.Fn.arity1((value => unit)) => unit;val forEach : t -> (value -> unit) -> unitlet forEach: t => (value => unit) => unit;In increasing order
val reduceU : t -> 'a -> ('a -> value -> 'a) Js.Fn.arity2 -> 'alet reduceU: t => 'a => Js.Fn.arity2(('a => value => 'a)) => 'a;val reduce : t -> 'a -> ('a -> value -> 'a) -> 'alet reduce: t => 'a => ('a => value => 'a) => 'a;Iterate in increasing order.
val everyU : t -> (value -> bool) Js.Fn.arity1 -> boollet everyU: t => Js.Fn.arity1((value => bool)) => bool;val every : t -> (value -> bool) -> boollet every: t => (value => bool) => bool;every p s checks if all elements of the set satisfy the predicate p. Order unspecified.
val someU : t -> (value -> bool) Js.Fn.arity1 -> boollet someU: t => Js.Fn.arity1((value => bool)) => bool;val some : t -> (value -> bool) -> boollet some: t => (value => bool) => bool;some 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 -> tlet keepU: t => Js.Fn.arity1((value => bool)) => t;val keep : t -> (value -> bool) -> tlet keep: t => (value => bool) => t;keep s p returns a fresh copy of the set of all elements in s that satisfy predicate p.
val partitionU : t -> (value -> bool) Js.Fn.arity1 -> t * tlet partitionU: t => Js.Fn.arity1((value => bool)) => (t, t);val partition : t -> (value -> bool) -> t * tlet partition: t => (value => bool) => (t, t);partition s p returns a fresh copy 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 -> intlet size: t => int;val toList : t -> value listlet toList: t => list(value);In increasing order with respect
val toArray : t -> value arraylet toArray: t => array(value);In increasing order with respect
val minimum : t -> value optionlet minimum: t => option(value);val minUndefined : t -> value Js.undefinedlet minUndefined: t => Js.undefined(value);val maximum : t -> value optionlet maximum: t => option(value);val maxUndefined : t -> value Js.undefinedlet maxUndefined: t => Js.undefined(value);val get : t -> value -> value optionlet get: t => value => option(value);val getUndefined : t -> value -> value Js.undefinedlet getUndefined: t => value => Js.undefined(value);val getExn : t -> value -> valuelet getExn: t => value => value;val split : t -> value -> (t * t) * boollet split: t => value => ((t, t), bool);split s key return a fresh copy of each
val checkInvariantInternal : t -> unitlet checkInvariantInternal: t => unit;raise when invariant is not held