TNB Library
|
HASH値保持テンプレートクラス. [詳解]
#include <TnbHashable.h>
公開メンバ関数 | |
const TYP & | At (void) const |
[取得] 値参照取得 [詳解] | |
CHashableT (const CHashableT< TYP > &t) | |
コピーコンストラクタ [詳解] | |
CHashableT (const TYP &t) | |
[代入] 代入コンストラクタ [詳解] | |
CHashableT (void) | |
コンストラクタ. [詳解] | |
virtual INT_PTR | Compare (const CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
virtual void | Deserialize (const IDeserializer &ds) |
[処理] デシリアライズ. [詳解] | |
DWORD | GetHashCode (void) const |
[取得] HASH値取得 [詳解] | |
virtual bool | IsEqual (const CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
operator const TYP & (void) const | |
[取得] 値参照取得 [詳解] | |
bool | operator!= (const TNB::CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
INT_PTR | operator- (const TNB::CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
bool | operator< (const TNB::CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
bool | operator<= (const TNB::CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
CHashableT & | operator= (const CHashableT< TYP > &other) |
[代入] コピーオペレータ [詳解] | |
CHashableT & | operator= (const TYP &t) |
[代入] 代入オペレータ [詳解] | |
bool | operator== (const TNB::CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
bool | operator> (const TNB::CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
bool | operator>= (const TNB::CHashableT< TYP > &t) const |
[確認] 比較 [詳解] | |
virtual void | Serialize (ISerializer &_sr) const |
[処理] シリアライズ. [詳解] | |
HASH値保持テンプレートクラス.
通常のオブジェクトにHASH値を付加するテンプレートです。主に、大きな型をコレクションで 使用する場合、ハッシュを付加することで、検索速度UPが期待できます。
プロセス実行中に、変化のないオブジェクトは、一定の整数を返す。 同じ内容のオブジェクトでも、異なるプロセスなら同じ整数とは限らない。 2つのオブジェクトの内容が異なる場合、それぞれのハッシュ値は必ず一致しない。 2つのオブジェクトの内容が同じ場合でも、それぞれのハッシュ値が一致するとは限らない。 ただし、極力同じ値になるようなハッシュ値であることが好ましい。 異なる型同士では、ハッシュ値は意味を持たない。 |
CVectorT< CHashableT<CStr> > vhstr; //宣言 ; int f1 = vhstr.Find(CStr("ABCDE")); |
namespace TNB { namespace HASH { // ハッシュ値計算. inline DWORD CalcHash(const TFoo& str) { 〜 } }; }; |
TYP | 要素の型。 |
TnbHashable.h の 80 行目に定義があります。
CHashableT | ( | void | ) |
コンストラクタ.
TnbHashable.h の 90 行目に定義があります。
CHashableT | ( | const CHashableT< TYP > & | t | ) |
CHashableT | ( | const TYP & | t | ) |
const TYP & At | ( | void | ) | const |
|
virtual |
[確認] 比較
t | 比較対象 |
0 | 自分は t と同じ |
1以上 | 自分は t より大きい |
0未満 | 自分は t より小さい |
IComparableT< TNB::CHashableT< TYP > >を実装しています。
TnbHashable.h の 155 行目に定義があります。
|
virtual |
[処理] デシリアライズ.
[in] | ds | デシリアライザー |
ISerializableを実装しています。
TnbHashable.h の 209 行目に定義があります。
DWORD GetHashCode | ( | void | ) | const |
|
virtual |
[確認] 比較
t | 比較対象 |
true | 自分は t と同じ |
false | 自分は t と異なる |
IComparableT< TNB::CHashableT< TYP > >を再実装しています。
TnbHashable.h の 167 行目に定義があります。
operator const TYP & | ( | void | ) | const |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
CHashableT & operator= | ( | const CHashableT< TYP > & | other | ) |
CHashableT & operator= | ( | const TYP & | t | ) |
|
inherited |
|
inherited |
|
inherited |
|
virtual |
[処理] シリアライズ.
[out] | _sr | シリアライザー |
ISerializableを実装しています。
TnbHashable.h の 199 行目に定義があります。