# 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

QuickHashIntSet {
/* Constants */
const integer CHECK_FOR_DUPES = 1 ;
const integer DO_NOT_USE_ZEND_ALLOC = 2 ;
const integer HASHER_NO_HASH = 256 ;
const integer HASHER_JENKINS1 = 512 ;
const integer 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 ( void ) : 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 ( void ) : string
}

## Predefined Constants

`QuickHashIntSet::CHECK_FOR_DUPES`

  If enabled, adding duplicate elements to a set (through either add() or 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