Класс QuickHashIntSet

(PECL quickhash >= Unknown)

Введение

Класс-обертка над набором целых чисел.

Классом реализуется интерфейс Iterator, что дает возможность перебора с помощью foreach. Порядок следования элементов не гарантируется.

Обзор классов

QuickHashIntSet {
/* Константы */
const int CHECK_FOR_DUPES = 1 ;
const int DO_NOT_USE_ZEND_ALLOC = 2 ;
const int HASHER_NO_HASH = 256 ;
const int HASHER_JENKINS1 = 512 ;
const int HASHER_JENKINS2 = 1024 ;
/* Методы */
public add ( int $key ) : bool
public __construct ( int $size , int $options = ? )
public delete ( int $key ) : bool
public exists ( int $key ) : bool
publicgetSize ( ) : int
public static loadFromFile ( string $filename , int $size = ? , int $options = ? ) : QuickHashIntSet
public static loadFromString ( string $contents , int $size = ? , int $options = ? ) : QuickHashIntSet
public saveToFile ( string $filename ) : void
public saveToString ( ) : string
}

Предопределенные константы

QuickHashIntSet::CHECK_FOR_DUPES

Если включено, то добавление повторяющихся элементов в набор (с помощью add() или loadFromFile()) приведет к отбрасыванию этих элементов. Этот функционал несколько замедляет работу, так что должен использоваться только если действительно необходим.

QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC

Запрещает использование встроенного в PHP менеджера памяти для внутренних структур. Если включена эта опция, то используемая память не будет учитываться настройкой memory_limit.

QuickHashIntSet::HASHER_NO_HASH

Указывает, что не нужно использовать функцию хеширования, а вместо нее для поиска индекса в цепочке использовать модуль. Это не быстрее обычного хеширования и порождает больше коллизий.

QuickHashIntSet::HASHER_JENKINS1

Хеширующая функция по умолчанию.

QuickHashIntHash::HASHER_JENKINS2

Другой хеширующий алгоритм.

Содержание