int zend_hash_init(HashTable* ht, uint size, hash_func_t hash, dtor_func_t destructor, zend_bool persistent) |
ハッシュテーブルを初期化して、少なくともsize 個の要素を
保持する。hash は歴史的な経緯により存在するだけで常に無視される。
zend_inline_hash_func が常にハッシュ関数として使われる。
destructor はNULL でもよい。 |
int zend_hash_add(HashTable* ht, const char* key, uint klen, void* data, uint dlen, void** dest) |
指定されたkey を使ってテーブルにdata を追加する。
キーはlength バイトの長さを持つ(そしてkey からテーブル
にコピーされる)。キーが存在すると FAILURE が返される。 |
int zend_hash_update(HashTable* ht, const char* key, uint klen, void* data, uint dlen, void** dest) |
指定されたkey を使ってテーブルにdata を追加する。
キーはlength バイトの長さを持つ(そしてkey からテーブル
にコピーされる)。キーが存在した場合、古いデータに対してdtor_func_t
が呼ばれ、既存のデータはdata で上書きされる。 |
int zend_hash_find(HashTable* ht, const char* key, uint klen, void** data) |
テーブルをkey で検索し、見つかったら*data
をセットして SUCCESS を返す。 |
zend_bool zend_hash_exists(HashTable* ht, const char* key, uint klen) |
ht にkey があれば正の値を返す。 |
int zend_hash_del(HashTable* ht, const char* key, uint klen) |
テーブル内にkey で特定されるエントリがあれば削除する。 |
int zend_hash_index_update(HashTable* ht, ulong index, void* data, uint dsize, void** dest) |
ht の中のindex で指定されたエントリのデータを
data で更新する。 |
int zend_hash_index_del(HashTable* ht, ulong index) |
ht からindex で指定されたエントリを削除する。
|
int zend_hash_index_find(HashTable* ht, ulong index, void** data) |
ht の中でindex で指定されたデータを
*data にリダイレクトする。 |
int zend_hash_index_exists(HashTable* ht, ulong index) |
ht にindex があれば正の値を返す。 |
ulong zend_hash_next_free_element(HashTable* ht) |
ht の中で次に利用可能な要素のインデックスを返す。 |