Spec-Zone.ru › OCaml 4.14

Тип модуля 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API