Module HashSet.String

Specalized when key type is string, more efficient than the generic type

This module is Belt.HashSet specialized with key type to be a primitive type.

It is more efficient in general, the API is the same with Belt.HashSet except its key type is fixed, and identity is not needed(using the built-in one)

See Belt.HashSet

type key = string;
type t;
let make: hintSize:int => t;
let clear: t => unit;
let isEmpty: t => bool;
let add: t => key => unit;
let copy: t => t;
let has: t => key => bool;
let remove: t => key => unit;
let forEachU: t => Js.Fn.arity1((key => unit)) => unit;
let forEach: t => (key => unit) => unit;
let reduceU: t => 'c => Js.Fn.arity2(('c => key => 'c)) => 'c;
let reduce: t => 'c => ('c => key => 'c) => 'c;
let size: t => int;
let logStats: t => unit;
let toArray: t => array(key);
let fromArray: array(key) => t;
let mergeMany: t => array(key) => unit;
let getBucketHistogram: t => array(int);