Тип модуля 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 -> 'acc -> 'acc) -> t -> 'acc -> 'acc
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-2024 INRIA.
https://ocaml.org/manual/5.2/api/Weak.S.html