# QuickHashIntHash クラス

(PECL quickhash >= Unknown)

## はじめに

このクラスは整数値を含むハッシュをラップするもので、ハッシュの値もまた定数値となります。 このハッシュは ArrayAccess インターフェイスも実装しています。

Iterator インターフェイスも実装しているので foreach で順にたどることもできます。 このときに要素が返される順番は保証されません。

## クラス概要

QuickHashIntHash {
/* 定数 */
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 ;
/* メソッド */
public add ( int `$key` [, int `$value` ] ) : bool
public __construct ( int `$size` [, int `$options` ] )
public delete ( int `$key` ) : bool
public exists ( int `$key` ) : bool
public get ( int `$key` ) : int
public getSize ( void ) : int
public static loadFromFile ( string `$filename` [, int `$options` ] ) : QuickHashIntHash
public static loadFromString ( string `$contents` [, int `$options` ] ) : QuickHashIntHash
public saveToFile ( string `$filename` ) : void
public saveToString ( void ) : string
public set ( int `$key` , int `$value` ) : bool
public update ( int `$key` , int `$value` ) : bool
}

## 定義済み定数

`QuickHashIntHash::CHECK_FOR_DUPES`

  有効にすると、重複する要素を (add() や loadFromFile() で) セットに追加しようとしたときにその要素がセットから削除されます。 余分な時間がかかるので、必要なときだけ使うようにしましょう。

`QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC`

  PHP の内部メモリマネージャを使わないようにします。このオプションを有効にすると、 内部的に確保したメモリが memory_limit の設定に影響を及ぼさなくなります。

`QuickHashIntHash::HASHER_NO_HASH`

  ハッシュ関数を使わず、単純な剰余を使ってインデックスを探すようにします。 通常のハッシュほど高速ではないし、衝突の発生も多くなります。

`QuickHashIntHash::HASHER_JENKINS1`

  これがデフォルトのハッシュ関数で、整数値のハッシュをリストのインデックスに変換します。

`QuickHashIntHash::HASHER_JENKINS2`

  別のハッシュアルゴリズムを使います。

## 目次

- QuickHashIntHash::add — 新たなエントリをハッシュに追加する
- QuickHashIntHash::__construct — 新しい QuickHashIntHash オブジェクトを作る
- QuickHashIntHash::delete — エントリをハッシュから削除する
- QuickHashIntHash::exists — キーがハッシュに存在するかどうかを調べる
- QuickHashIntHash::get — キーを指定してハッシュから値を取得する
- QuickHashIntHash::getSize — ハッシュの要素数を返す
- QuickHashIntHash::loadFromFile — ファイルからハッシュを作るファクトリーメソッド
- QuickHashIntHash::loadFromString — 文字列からハッシュを作るファクトリーメソッド
- QuickHashIntHash::saveToFile — メモリ上のハッシュをディスクに保存する
- QuickHashIntHash::saveToString — シリアライズしたハッシュを返す
- QuickHashIntHash::set — ハッシュ内のエントリの値を更新 (エントリが存在しない場合は新しく追加) する
- QuickHashIntHash::update — ハッシュのエントリを新しい値で更新する