HashSet[A: A, H: HashFunction[A!] val]
Множество, построенное на основе HashMap. Реализовано как отображение псевдонима типа на сам себя
class ref HashSet[A: A, H: HashFunction[A!] val] is Comparable[HashSet[A, H] box] ref
Реализует
- Comparable[HashSet[A, H] box] ref
Конструкторы
create
По умолчанию предварительно выделяет 8 элементов.
new ref create( prealloc: USize val = 8) : HashSet[A, H] ref^
Параметры
- prealloc: USize val = 8
Возвращает
- HashSet[A, H] ref^
Публичные функции
size
Количество элементов в множестве.
fun box size() : USize val
Возвращает
- USize val
space
Доступное место в множестве.
fun box space() : USize val
Возвращает
- USize val
apply
Возвращает значение, если оно находится в множестве, иначе возникает ошибка.
fun box apply( value: box->A!) : this->A ?
Параметры
- value: box->A!
Возвращает
- this->A ?
contains
Проверяет, содержит ли множество значение.
fun box contains( value: box->A!) : Bool val
Параметры
- value: box->A!
Возвращает
- Bool val
clear
Удаляет все элементы из множества.
fun ref clear() : None val
Возвращает
- None val
set
Добавляет значение в множество.
fun ref set( value: A) : None val
Параметры
- value: A
Возвращает
- None val
unset
Удаляет значение из множества.
fun ref unset( value: box->A!) : None val
Параметры
- value: box->A!
Возвращает
- None val
extract
Удаляет значение из множества и возвращает его. Вызывает ошибку, если значение не было в множестве.
fun ref extract( value: box->A!) : A^ ?
Параметры
- value: box->A!
Возвращает
- A^ ?
union
Добавляет все элементы из того множества в это множество.
fun ref union( that: Iterator[A^] ref) : None val
Параметры
- that: Iterator[A^] ref
Возвращает
- None val
intersect[optional K: HashFunction[box->A!] val]
Удаляет все элементы, которые не находятся в том множестве.
fun ref intersect[optional K: HashFunction[box->A!] val]( that: HashSet[box->A!, K] ref) : None val
Параметры
- that: HashSet[box->A!, K] ref
Возвращает
- None val
difference
Удаляет элементы из этого множества, которые также находятся в том множестве. Добавляет элементы из того множества, которые не находятся в этом множестве.
fun ref difference( that: Iterator[A^] ref) : None val
Параметры
- that: Iterator[A^] ref
Возвращает
- None val
remove
Удаляет все элементы, которые находятся в том множестве.
fun ref remove( that: Iterator[box->A!] ref) : None val
Параметры
- that: Iterator[box->A!] ref
Возвращает
- None val
add[optional K: HashFunction[this->A!] val]
Добавляет значение в множество.
fun box add[optional K: HashFunction[this->A!] val]( value: this->A!) : HashSet[this->A!, K] ref^
Параметры
- value: this->A!
Возвращает
- HashSet[this->A!, K] ref^
sub[optional K: HashFunction[this->A!] val]
Удаляет значение из множества.
fun box sub[optional K: HashFunction[this->A!] val]( value: box->this->A!) : HashSet[this->A!, K] ref^
Параметры
- value: box->this->A!
Возвращает
- HashSet[this->A!, K] ref^
op_or[optional K: HashFunction[this->A!] val]
Создает множество с элементами как из этого, так и из того множества.
fun box op_or[optional K: HashFunction[this->A!] val]( that: this->HashSet[A, H] ref) : HashSet[this->A!, K] ref^
Параметры
- that: this->HashSet[A, H] ref
Возвращает
- HashSet[this->A!, K] ref^
op_and[optional K: HashFunction[this->A!] val]
Создает множество с элементами, которые присутствуют как в этом, так и в том множестве.
fun box op_and[optional K: HashFunction[this->A!] val]( that: this->HashSet[A, H] ref) : HashSet[this->A!, K] ref^
Параметры
- that: this->HashSet[A, H] ref
Возвращает
- HashSet[this->A!, K] ref^
op_xor[optional K: HashFunction[this->A!] val]
Создает множество с элементами, присутствующими в одном множестве, но не в обоих.
fun box op_xor[optional K: HashFunction[this->A!] val]( that: this->HashSet[A, H] ref) : HashSet[this->A!, K] ref^
Параметры
- that: this->HashSet[A, H] ref
Возвращает
- HashSet[this->A!, K] ref^
without[optional K: HashFunction[this->A!] val]
Создает множество с элементами из этого множества, которые не находятся в том множестве.
fun box without[optional K: HashFunction[this->A!] val]( that: this->HashSet[A, H] ref) : HashSet[this->A!, K] ref^
Параметры
- that: this->HashSet[A, H] ref
Возвращает
- HashSet[this->A!, K] ref^
clone[optional K: HashFunction[this->A!] val]
Создаёт клон. Тип элемента может отличаться из-за алиасирования и адаптации точки зрения.
fun box clone[optional K: HashFunction[this->A!] val]() : HashSet[this->A!, K] ref^
Возвращает
- HashSet[this->A!, K] ref^
eq
Возвращает true, если множества содержат одинаковые элементы.
fun box eq( that: HashSet[A, H] box) : Bool val
Параметры
- that: HashSet[A, H] box
Возвращает
- Bool val
ne
Возвращает false, если множества содержат одинаковые элементы.
fun box ne( that: HashSet[A, H] box) : Bool val
Параметры
- that: HashSet[A, H] box
Возвращает
- Bool val
lt
Возвращает true, если каждый элемент этого множества также находится в том множестве, и это множество содержит меньше элементов, чем то множество.
fun box lt( that: HashSet[A, H] box) : Bool val
Параметры
- that: HashSet[A, H] box
Возвращает
- Bool val
le
Возвращает true, если каждый элемент этого множества также находится в том множестве.
fun box le( that: HashSet[A, H] box) : Bool val
Параметры
- that: HashSet[A, H] box
Возвращает
- Bool val
gt
Возвращает true, если каждый элемент того множества также находится в этом множестве, и это множество содержит больше элементов, чем то множество.
fun box gt( that: HashSet[A, H] box) : Bool val
Параметры
- that: HashSet[A, H] box
Возвращает
- Bool val
ge
Возвращает true, если каждый элемент того множества также находится в этом множестве.
fun box ge( that: HashSet[A, H] box) : Bool val
Параметры
- that: HashSet[A, H] box
Возвращает
- Bool val
next_index
При заданном индексе вернуть следующий индекс, имеющий заполненное значение. Вызвать ошибку, если следующего заполненного индекса нет.
fun box next_index( prev: USize val = call) : USize val ?
Параметры
- prev: USize val = call
Возвращаемое значение
- USize val ?
index
Возвращает значение по заданному индексу. Вызвать ошибку, если индекс не заполнен.
fun box index( i: USize val) : this->A ?
Параметры
- i: USize val
Возвращаемое значение
- this->A ?
values
Возвращает итератор по значениям.
fun box values() : SetValues[A, H, this->HashSet[A, H] ref] ref^
Возвращаемое значение
compare
fun box compare( that: HashSet[A, H] box) : (Less val | Equal val | Greater val)
Параметры
- that: HashSet[A, H] box
Возвращаемое значение
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/collections-HashSet