Тип модуля Weak.S
module type S = sig .. end
Подпись результата функтора Weak.Make.
type data
Тип элементов, хранящихся в таблице.
type t
Тип таблиц, содержащих элементы типа data. Обратите внимание, что слабые хэш-множества не могут быть обработаны с помощью output_value или функций модуля Marshal.
val create : int -> t
create n создаёт новое пустое слабое хэш-множество начального размера n. Таблица будет увеличиваться по мере необходимости.
val clear : t -> unit
Удаляет все элементы из таблицы.
val merge : t -> data -> data
merge t x возвращает экземпляр x, найденный в t, если таковой имеется, иначе добавляет x к t и возвращает x.
val add : t -> data -> unit
add t x добавляет x к t. Если в t уже существует экземпляр x, не определено, какой из них будет возвращён последующими вызовами find и merge.
val remove : t -> data -> unit
remove t x удаляет из t один экземпляр x. Ничего не делает, если в t нет экземпляра x.
val find : t -> data -> data
find t x возвращает экземпляр x , найденный в t.
-
Исключения
Not_foundесли такого элемента нет.
val find_opt : t -> data -> data option
find_opt t x возвращает экземпляр x , найденный в t или None, если такого элемента нет.
- С 4.05
val find_all : t -> data -> data list
find_all t x возвращает список всех экземпляров x , найденных в t.
val mem : t -> data -> bool
mem t x возвращает true , если в t есть хотя бы один экземпляр x, в противном случае возвращает false.
val iter : (data -> unit) -> t -> unit
iter f t вызывает f для каждого элемента t, в некотором неопределённом порядке. Не определено, что происходит, если f пытается изменить t само.
val fold : (data -> 'a -> 'a) -> t -> 'a -> 'a
fold f t init вычисляет (f d1 (... (f dN init))), где d1 ... dN — элементы t в некотором неопределённом порядке. Не определено, что происходит, если f пытается изменить t само.
val count : t -> int
Подсчитывает количество элементов в таблице. count t даёт тот же результат, что и fold (fun _ n -> n+1) t 0, но не задерживает удаление освобождённых элементов.
val stats : t -> int * int * int * int * int * int
Возвращает статистику по таблице. Числа в порядке: длина таблицы, количество записей, сумма длин ведер, минимальная длина ведра, медианная длина ведра, максимальная длина ведра.
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/4.14/htmlman/libref/Weak.S.html