Main Page | Modules | Data Structures | File List | Data Fields | Globals

util_hash.c File Reference

ハッシュの実装 More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "util_hash.h"

Include dependency graph for util_hash.c:

Include dependency graph

Go to the source code of this file.

Defines

#define UTIL_HASH_STATE_FINISHED   0
 hash module の終了を表すマクロ

#define UTIL_HASH_STATE_READY   1
 hash module が動作中を表すマクロ


Functions

int util_hash_Calc_val (char *string, int hashSize)
 ハッシュ値を計算する

void util_hash_node_ret (Util_hash_node *hash_nodes)
 ハッシュ・ノードをunusedリストに接続する

void util_hash_node_free (void)
 ハッシュ・ノードを開放する

Util_hash_nodeutil_hash_node_get (void)
 ハッシュ・ノードをunusedリストから1つ取り出す

Util_hash_nodeutil_hash_find (Util_hash *hash, char *string)
 ハッシュ・テーブルの検索

void util_hash_init (void)
 hash module の初期化

void util_hash_finish (void)
 hash module の終了

Util_hashutil_hash_create (int hashTable_size)
 ハッシュ・オブジェクトを生成する

void util_hash_destroy (Util_hash *hash)
 ハッシュ・オブジェクトを殺す

char util_hash_set_data (Util_hash *hash, char *string, void *data)
 ハッシュ・オブジェクトにデータをセットする

char util_hash_remove_data (Util_hash *hash, char *key)
 ハッシュ・オブジェクトからデータを取り除く

void * util_hash_ref_data (Util_hash *hash, char *key, int ref)
 ハッシュされたデータを参照する

int util_hash_get_refCounter (Util_hash *hash, char *key)
 データのリファレンス・カウンタを参照する


Variables

char util_hash_state = UTIL_HASH_STATE_FINISHED
 hash module のステート

unsigned int util_hash_created = 0
 hash module の使用数

Util_hash_nodeutil_hash_node_unused = NULL
 ハッシュ・ノード・リストのunusedメンバ・ヘッダ


Detailed Description

ハッシュの実装

汎用的なハッシュ機能を提供する。ただし汎用的なので多くの冗長的な部分を含んでいる。 プログラムに組み込む際は、十分に問題無く使えるのだが、 更に処理効率の向上を考えると目的に合わせてカスタマイズするのが望ましい。

Definition in file util_hash.c.


Define Documentation

#define UTIL_HASH_STATE_FINISHED   0
 

hash module の終了を表すマクロ

Definition at line 18 of file util_hash.c.

#define UTIL_HASH_STATE_READY   1
 

hash module が動作中を表すマクロ

Definition at line 22 of file util_hash.c.


Function Documentation

int util_hash_Calc_val char *  string,
int  hashSize
[static]
 

ハッシュ値を計算する

Definition at line 45 of file util_hash.c.

Util_hash* util_hash_create int  hashTable_size  )  [inline]
 

ハッシュ・オブジェクトを生成する

Definition at line 219 of file util_hash.c.

void util_hash_destroy Util_hash hash  )  [inline]
 

ハッシュ・オブジェクトを殺す

Definition at line 258 of file util_hash.c.

Util_hash_node* util_hash_find Util_hash hash,
char *  string
[static]
 

ハッシュ・テーブルの検索

Definition at line 138 of file util_hash.c.

void util_hash_finish void   ) 
 

hash module の終了

Definition at line 193 of file util_hash.c.

int util_hash_get_refCounter Util_hash hash,
char *  key
 

データのリファレンス・カウンタを参照する

Definition at line 390 of file util_hash.c.

void util_hash_init void   ) 
 

hash module の初期化

Definition at line 175 of file util_hash.c.

void util_hash_node_free void   )  [static]
 

ハッシュ・ノードを開放する

Definition at line 84 of file util_hash.c.

Util_hash_node* util_hash_node_get void   )  [static]
 

ハッシュ・ノードをunusedリストから1つ取り出す

Definition at line 101 of file util_hash.c.

void util_hash_node_ret Util_hash_node hash_nodes  )  [static]
 

ハッシュ・ノードをunusedリストに接続する

Definition at line 62 of file util_hash.c.

void* util_hash_ref_data Util_hash hash,
char *  key,
int  ref
 

ハッシュされたデータを参照する

Definition at line 374 of file util_hash.c.

char util_hash_remove_data Util_hash hash,
char *  key
 

ハッシュ・オブジェクトからデータを取り除く

Definition at line 344 of file util_hash.c.

char util_hash_set_data Util_hash hash,
char *  string,
void *  data
 

ハッシュ・オブジェクトにデータをセットする

Definition at line 284 of file util_hash.c.


Variable Documentation

unsigned int util_hash_created = 0 [static]
 

hash module の使用数

Definition at line 33 of file util_hash.c.

Util_hash_node* util_hash_node_unused = NULL [static]
 

ハッシュ・ノード・リストのunusedメンバ・ヘッダ

Definition at line 38 of file util_hash.c.

char util_hash_state = UTIL_HASH_STATE_FINISHED [static]
 

hash module のステート

Definition at line 28 of file util_hash.c.


Generated on Fri Oct 15 02:08:58 2004 for ps2util by doxygen 1.3.3