uthashは一意のキーフィールドを有する任意のC構造がハッシュされることを可能にする、C言語の構造体のハッシュです。
構造体は、欠失、付加、または一定時間内のハッシュから除去することができる。キーフィールドは、任意のデータ型を持つことができる。
例1は、ハッシュにアイテムを追加する。
の#include "uthash.h」
構造体my_struct {
int型のID。 / *キー* /
CHAR名[10];
UT_hash_handle HH。 / * * /この構造体のハッシュ可能になります
};
構造体my_struct *ユーザーは= NULL;
空洞ADD_USER(構造体my_struct *は){
HASH_ADD_INT(ユーザー、ID、S); / *ハッシュ、キーフィールド名、項目* /
}
例2は、ハッシュにアイテムを探しています。
構造体my_struct * find_user(INT USER_ID){
構造体my_struct * S。
HASH_FIND_INT(ユーザー、S、ID、およびuser_idの);
sを返します。
}
例1は、ハッシュから項目を削除する。
空洞DELETE_USER(構造体my_struct *ユーザー){
HASH_DEL(ユーザー、ユーザー); / *ハッシュ、deleteeへのポインタ* /
}
のこのリリースで新しいのは何ですか。
- 小さな機能強化の数が補足ユーティリティに加えられたが、uthashに含まれている新しいリスト操作(先頭に追加、置き換え、別の命名規則を使用構造のためのサポート)、新しい動的文字列の機能(KMPの列検索、フォーマットのチェック)、互換性の改善、および改善ドキュメンテーションます。 を含む
のバージョン1.9.4でのの新機能は次のとおりです。
- このバージョンはMurmurHash v3に、新しいutlistのサポートが含まれています連結マクロ、utarray二分探索、新しいutstring機能、新しいドキュメント、およびバグ修正します。
のバージョン1.9.3でのの新機能:
- インテルコンパイラとの互換性のためのIFDEFを修正(感謝、degski!)
- 修正HASH_ITERマクロ
C ++キャスティングルール(おかげで、エリック白!)します。を満たすために
のバージョン1.8のの新機能は次のとおりです。
- このバージョンでは、(Linuxの場合)新しいライブ解析ユーティリティが含まれ実行中のプロセスにハッシュテーブルのサイズと画質を照会します。
<李は>も含まコンパニオンにミスをスピードアップすることができますブルームフィルタのサポート、MurmurHashハッシュ関数の再含めること、および修正がリストヘッダをリンクされています。
これはメンテナンスリリースです。
のバージョン1.7のの新機能である。それが-fno-厳しいエイリアシングを必要とgccの下で安全に使用されるので、Murmurhashはサポートされなくなりました。それは厳密なエイリアシング規則を観察し、O2とO3の下で適切に動作しますので、またutlistに問題を修正します。
のバージョン1.6のの新機能である:uthashの
- バージョン1.6の新しいハッシュ関数、新しいHASH_CLEARが含まれており、 HASH_SELECT操作、および補助リンクリストヘッダutlist.hます。
のされているどのバージョン1.5のの新しい:
- このリリースでは、スレッドセーフな同時読者をサポートしており、与え約13 %高速HASH_FINDパフォーマンスます。
このリリースでは、C ++の互換性、アイテムを取得するためのAPIを備えています。
のバージョン1.4のの新機能である、より大きなメモリ効率、およびクリーンな知識をひけらかすコンパイルをカウントします。
コメントが見つかりません