# The QuickHashIntSet class

(PECL quickhash >= Unknown)

## Introduction

This class wraps around a set containing integer numbers.

Sets can also be iterated over with `foreach` as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

## Class synopsis

class QuickHashIntSet {
/* Constants */
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;
/* Methods */
public add(int `$key`): bool
public __construct(int `$size`, int `$options` = ?)
public delete(int `$key`): bool
public exists(int `$key`): bool
public getSize(): 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
}

## Predefined Constants

`QuickHashIntSet::CHECK_FOR_DUPES`
  If enabled, adding duplicate elements to a set (through either QuickHashIntSet::add() or QuickHashIntSet::loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.
`QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC`
  Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.
`QuickHashIntSet::HASHER_NO_HASH`
  Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.
`QuickHashIntSet::HASHER_JENKINS1`
  This is the default hashing function to turn the integer hashes into bucket list indexes.
`QuickHashIntSet::HASHER_JENKINS2`
  Selects a variant hashing algorithm.

## Table of Contents

- QuickHashIntSet::add — This method adds a new entry to the set
- QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
- QuickHashIntSet::delete — This method deletes an entry from the set
- QuickHashIntSet::exists — This method checks whether a key is part of the set
- QuickHashIntSet::getSize — Returns the number of elements in the set
- QuickHashIntSet::loadFromFile — This factory method creates a set from a file
- QuickHashIntSet::loadFromString — This factory method creates a set from a string
- QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
- QuickHashIntSet::saveToString — This method returns a serialized version of the set

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open