前のページ次のページ上に戻るホーム SophiaFramework 2.2
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 クラスの継承図

解説

SFUHashMap はハッシュにより実装されたマップです。

参照

SFUMap

メンバ

コンストラクタ/デストラクタ
public
SFUHashMap SFUHashMap クラスのコンストラクタです。
public
~SFUHashMap 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
キーに対応する値を取得します。
[ public, virtual, const ]
VoidPtr Get(
    ConstACharPtr key          // キー
    BoolPtr pbSuccess = NULL   // キーが存在するかを返す
);

参照

SFUHashMap::Put | SFUHashMap::operator[]


SFUHashMap::GetKeys
キーのイテレータを返します。
[ public, virtual ]
SFUConstIterator GetKeys(Void);

参照

SFUHashMap::GetValues


SFUHashMap::GetSets
キーと値を列挙するイテレータを取得します。
[ public, virtual ]
SFUConstIterator GetSets(Void);

使用例

// ハッシュ マップのキーと値を同時に列挙
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::GetKeys | SFUHashMap::GetValues


SFUHashMap::GetSize
登録されているエントリの数を返します。
[ public, virtual, const ]
UIntN GetSize(Void);

参照

SFUHashMap::SetSize


SFUHashMap::GetValues
値のイテレータを返します。
[ public, virtual ]
SFUConstIterator GetValues(Void);

参照

SFUHashMap::GetKeys


SFUHashMap::Put
キーと値を登録します。
[ public, virtual ]
Bool Put(
    ConstACharPtr key    // キー
    ConstVoidPtr value   // 値
);

戻り値

登録に成功すると TRUE を返します。

参照

SFUHashMap::Put


SFUHashMap::Remove
キーと値を削除します。
[ public, virtual ]
VoidPtr Remove(
    ConstACharPtr key          // キー
    BoolPtr pbSuccess = NULL   // 削除に成功したかを返す
);

戻り値

削除に成功すると、指定されたキーに対応する以前の値を返します。 失敗すると NULL を返します。


SFUHashMap::SetSize
エントリ数を設定します。
[ public, virtual ]
Bool SetSize(
    UIntN size   // エントリ数
);

参照

SFUHashMap::GetSize


SFUHashMap::HashNode
ハッシュ マップのキーと値のペアを表す構造体です。
struct HashNode : SFUMap::Node {
    enum { HashNone=0, HashPresent, HashDeleted} flag;
};

解説

key にはキーが入ります、data には値が入ります。

参照

SFUMap::Node | SFUHashMap::GetSets


SFUHashMap::operator[]
キーの値を取得/設定します。
[ public, virtual ]
VoidPtr & operator[](
    ConstACharPtr key   // キー
);

参照

SFUHashMap::Get | SFUHashMap::Put