SFUHashMap
ハッシュにより実装されたマップです。
#include <SFUHashMap.hpp>
class SFUHashMap : public SFUMap;
typedef SFUHashMap& SFUHashMapRef;
typedef SFUHashMap* SFUHashMapPtr;
typedef SFUHashMap** SFUHashMapHandle;
typedef const SFUHashMap ConstSFUHashMap;
typedef const SFUHashMap& ConstSFUHashMapRef;
typedef const SFUHashMap* ConstSFUHashMapPtr;
typedef const SFUHashMap** ConstSFUHashMapHandle;
継承図
解説
SFUHashMap はハッシュにより実装されたマップです。
メンバ
| パブリック関数 |
public
|
Clear
(SFUCollection から継承)
|
コレクションの要素をすべて削除します。
|
public
|
Empty
(SFUCollection から継承)
|
コレクションが空であるか判定します。
|
public
|
Get |
キーに対応する値を取得します。
|
public
|
GetIterator
(SFUMap から継承)
|
イテレータを取得します。
|
public
|
GetKeys |
キーのイテレータを返します。
|
public
|
GetSets |
キーと値を列挙するイテレータを取得します。
|
public
|
GetSize |
登録されているエントリの数を返します。 |
public
|
GetValues |
値のイテレータを返します。
|
public
|
HasKey
(SFUMap から継承)
|
キーが存在するか判定します。
|
public
|
Put |
キーと値を登録します。
|
public
|
Remove |
キーと値を削除します。
|
public
|
SetSize |
エントリ数を設定します。 |
public
|
operator[] |
キーの値を取得/設定します。
|
| プロテクト関数 |
protected static
|
Equal
(SFUCollection から継承)
|
|
| 型 |
|
EqualSPP
(SFUCollection から継承)
|
コレクションの要素を比較する関数です。
|
|
HashNode |
ハッシュ マップのキーと値のペアを表す構造体です。
|
|
Node
(SFUMap から継承)
|
マップのキーと値のペアを表す構造体です。
|
SFUHashMap::SFUHashMap
SFUHashMap クラスのコンストラクタです。
[ public ]
SFUHashMap(Void);
SFUHashMap::~SFUHashMap
SFUHashMap クラスのデストラクタです。
[ public, virtual ]
~SFUHashMap(Void);
SFUHashMap::Get
キーに対応する値を取得します。
SFUHashMap::GetKeys
キーのイテレータを返します。
SFUHashMap::GetSets
キーと値を列挙するイテレータを取得します。
使用例
// ハッシュ マップのキーと値を同時に列挙
ConstSFUIterator it = map.GetSets();
for ( ; ! it.End(); it++ ) {
SFUHashMap::HashNode* node = (SFUHashMap::HashNode*) it.Get();
ACharPtr name = (ACharPtr) node->key;
pData = (UserData*) node->data;
}
SFUHashMap::GetSize
登録されているエントリの数を返します。
[ public, virtual, const ]
UIntN GetSize(Void);
SFUHashMap::GetValues
値のイテレータを返します。
SFUHashMap::Put
キーと値を登録します。
SFUHashMap::Remove
キーと値を削除します。
戻り値
削除に成功すると、指定されたキーに対応する以前の値を返します。
失敗すると NULL を返します。
SFUHashMap::SetSize
エントリ数を設定します。
[ public, virtual ]
Bool SetSize(
UIntN size // エントリ数
);
SFUHashMap::HashNode
ハッシュ マップのキーと値のペアを表す構造体です。
struct HashNode : SFUMap::Node {
enum { HashNone=0, HashPresent, HashDeleted} flag;
};
解説
key にはキーが入ります、data には値が入ります。
SFUHashMap::operator[]
キーの値を取得/設定します。