前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFXOldHashmap
[廃止予定] ハッシュテーブルを利用して検索効率を高めたマップを表すクラスです。
#include <SFXOldHashmap.h.hpp>
class SFXOldHashmap;
SFMTYPEDEFCLASS(SFXOldHashmap)

継承図

SFXOldHashmap クラスの継承図

協調図

SFXOldHashmap クラスの協調図

解説

[Note] 廃止予定

このクラスは、SophiaFramework UNIVERSE 6.0 で廃止される予定です。 このクラスの替わりに SFXLinkedHashMap クラスを利用することを推奨します。

ハッシュマップ ( SFXOldHashmap インスタンス ) の要素のキーは 4 バイト以下のデータ、 SFXAnsiString クラス または SFXWideString インスタンスでなければいけません。 また、ハッシュマップの要素の値は 4 バイト以下のデータでなければいけません。 5 バイト以上の UInt64 型データ や Float64 型データ、 クラスのインスタンスをハッシュマップの要素の値として処理するにはポインタを使います。

// 5 バイト以上のデータやクラスインスタンスは 
// ハッシュマップ  ( SFXOldHashmap インスタンス ) の要素の値にできない 

// SFXOldHashmap<SFXAnsiString, SInt64> map64;          NG
// SFXOldHashmap<SFXAnsiString, SFXAnsiString> mapstr;  NG

// しかし、5 バイト以上のデータやクラスのインスタンスへのポインタはハッシュマップの要素の値にできる

SFXOldHashmap<SFXAnsiString, SInt64Ptr> map64;         // OK
SFXOldHashmap<SFXAnsiString, SFXAnsiStringPtr> mapstr; // OK
[Caution] SophiaFramework UNIVERSE 5.0.1 以降の仕様変更

SFXOldHashmap では、要素数が 要素数が SFXOldHashmap::SetThreshold 関数で設定された閾値を超えると、 ハッシュマップテーブルのサイズが拡張されます。

従来は SFXOldHashmap::SetRatio 関数で指定した割合で拡張されていましたが、 SophiaFramework UNIVERSE 5.0.1 以降は要素数が閾値の範囲内に収まるように自動的にハッシュマップテーブルのサイズが素数の値で拡張されるようになりました。

なお、SFXOldHashmap ではハッシュマップテーブルのひとつのエントリーに複数の要素を格納できるので、 閾値の値として 100 より大きな数字を設定することができます(閾値のデフォルト値は 80 です)。 記憶容量が少ない携帯電話では閾値を 100 より大きな数字に設定することでメモリの節約が可能です。

参照

SFXLinkedHashMap | SFXFlatHashMap | ハッシュマップ

メンバ

コンストラクタ/デストラクタ
SFXOldHashmap( Void )
SFXOldHashmap クラスのコンストラクタです。
SFXOldHashmap( UInt16 threshold , UInt16 ratio )
SFXOldHashmap クラスのコンストラクタです。
パブリック関数
Void Clear( Void )
ハッシュマップを空にします。
Bool ContainsKey( KeyType key )
指定されたキーを持つペア要素が含まれるか判定します。
Bool ContainsValue( ValueType value )
指定された値を持つペア要素が含まれるか判定します。
static
SFXOldHashmap< K, V > const &
EmptyInstance( Void )
空のハッシュマップを取得します。
Bool Equals( SFXOldHashmap< K, V > const & collection )
指定されたハッシュマップと等しいか判定します。
ValueType Get( KeyType key )
指定されたキーを持つペア要素の値を取得します。
KeyEnumerator GetKeyEnumerator( Void )
ハッシュマップのペア要素のキーに対応する列挙子を取得します。
KeyIterator GetKeyIterator( Void )
ハッシュマップのペア要素のキーに対応するキー反復子を取得します。
UInt16 GetRatio( Void )
【SF UNIVERSE 5.0.1 から無効】ハッシュテーブルの大きさを拡張する割合を取得します。
SInt32 GetSize( Void )
ハッシュマップのサイズを取得します。
UInt16 GetThreshold( Void )
ハッシュテーブルの大きさを拡張する閾値を取得します。
ValueEnumerator GetValueEnumerator( Void )
ハッシュマップのペア要素の値に対応する値列挙子を取得します。
ValueIterator GetValueIterator( Void )
ハッシュマップのペア要素の値に対応する値反復子を取得します。
Bool IsEmpty( Void )
ハッシュマップが空であるか判定します。
SFCError Merge( SFXOldHashmap< K, V > const & collection )
ハッシュマップを統合します。
Void Remove( KeyType key )
指定されたキーを持つペア要素を削除します。
SFCError Set( SFXOldHashmap< K, V > const & collection )
キーに対応する値を設定します。またはハッシュマップを設定します。
SFCError Set( KeyType key , ValueType value )
キーに対応する値を設定します。またはハッシュマップを設定します。
Void SetRatio( UInt16 param )
【SF UNIVERSE 5.0.1 から無効】ハッシュテーブルの大きさを拡張する割合を設定します。
Void SetThreshold( UInt16 param )
ハッシュテーブルの大きさを拡張する閾値を設定します。
SFCError Swap( KeyType destination , KeyType source )
指定されたキーを持つペア要素の値を交換します。
ValueType operator[]( KeyType key )
指定されたキーを持つペア要素の値を取得します。
DefaultEnum
ハッシュテーブルの大きさを拡張する閾値と割合の既定値を表します。
KeyEnumerator
ハッシュマップのペア要素のキーに対応するキー列挙子を保持するクラスです。
KeyIterator
ハッシュマップのペア要素のキーに対応するキー反復子を保持するクラスです。
ValueEnumerator
ハッシュマップのペア要素の値に対応する値列挙子を保持するクラスです。
ValueIterator
ハッシュマップのペア要素の値に対応する値反復子を保持するクラスです。

SFXOldHashmap::SFXOldHashmap
SFXOldHashmap クラスのコンストラクタです。
[ public, explicit ]
SFXOldHashmap(Void);
[ public, explicit ]
SFXOldHashmap(
    UInt16 threshold   // ハッシュテーブルの拡張を行う閾値
    UInt16 ratio       // 拡張される割合
);

SFXOldHashmap::Clear
ハッシュマップを空にします。
[ public ]
Void Clear(Void);

解説

この関数は、このハッシュマップを空にします。 このハッシュマップに割り当てられていたメモリ領域は解放されます。

この関数を実行した後、ハッシュマップのサイズは 0 になります。

キーが文字列(SFXAnsiString / SFXWideString 型)である場合、 キーである文字列も自動的に解放されます。

[Caution] 注意

キーや値がクラスインスタンスや 4 バイトよりも大きなデータへのポインタの場合、 ポインタが指すメモリ領域は解放されません。

ハッシュマップをクリアする前に、 delete 文を使用して明示的にその領域を解放する必要があります。 さもなければ、メモリリークが発生します。

[Note] 注意
この関数は、このハッシュマップがスコープから外れるタイミングで自動的に呼び出されます。

使用例

SFXOldHashmap<SFXAnsiString, SInt32> strmap;
 
...

strmap.Clear();   // ハッシュマップを空にする

参照

SFXOldHashmap::Remove | SFXOldHashmap::GetSize


SFXOldHashmap::ContainsKey
指定されたキーを持つペア要素が含まれるか判定します。
[ public, const ]
Bool ContainsKey(
    KeyType key   // 存在するか調べるキー
);

戻り値

  • 指定されたキーを持つペア要素が存在するとき: true
  • そうでないとき: false

解説

この関数は、このハッシュマップに指定されたキーを持つペア要素(キーと値)が含まれるか判定します。

使用例

SFXOldHashmap<SFXAnsiString, SInt32> strmap;

// キーと値からなるハッシュマップ要素を設定する
if (strmap.Set("mike", 2) == SFERR_NO_ERROR) {

    // キーと値からなるハッシュマップ要素を設定する
    if (strmap.Set("john", 1) == SFERR_NO_ERROR) {
    
        // 指定したキーが含まれるか判定する
        TRACE("ContainsKey(\"mike\") = %s", (strmap.ContainsKey("mike")) ? ("true") : ("false"));  // ContainsKey("mike") = true
        TRACE("ContainsKey(\"tom\") = %s", (strmap.ContainsKey("tom")) ? ("true") : ("false"));    // ContainsKey("tom") = false
    }
}

参照

SFXOldHashmap::ContainsValue


SFXOldHashmap::ContainsValue
指定された値を持つペア要素が含まれるか判定します。
[ public, const ]
Bool ContainsValue(
    ValueType value   // 存在するか調べる値
);

戻り値

  • 指定された値を持つペア要素が存在するとき: true
  • そうでないとき: false

解説

この関数は、このハッシュマップに指定された値を持つペア要素(キーと値)が含まれるか判定します。

使用例

SFXOldHashmap<SFXAnsiString, SInt32> strmap;

// キーと値からなるハッシュマップ要素を設定する
if (strmap.Set("mike", 2) == SFERR_NO_ERROR) {

    // キーと値からなるハッシュマップ要素を設定する
    if (strmap.Set("john", 1) == SFERR_NO_ERROR) {
    
        // 指定した値が含まれるか判定する
        TRACE("ContainsValue(2) = %s", (strmap.ContainsValue(2)) ? ("true") : ("false"));  // ContainsValue(2) = true
        TRACE("ContainsValue(5) = %s", (strmap.ContainsValue(5)) ? ("true") : ("false"));  // ContainsValue(5) = false
    }
}

参照

SFXOldHashmap::ContainsKey


SFXOldHashmap::EmptyInstance
空のハッシュマップを取得します。
[ public, static ]
SFXOldHashmap< K, V > const & EmptyInstance(Void);

解説

この関数は、空のハッシュマップを表すインスタンスを取得します。

参照

SFXOldHashmap::IsEmpty


SFXOldHashmap::Equals
指定されたハッシュマップと等しいか判定します。
[ public, const ]
Bool Equals(
    SFXOldHashmap< K, V > const & collection   // 比較するハッシュマップ
);

戻り値

  • 等しいとき: true
  • 異なるとき: false

解説

この関数は、このハッシュマップが指定されたハッシュマップと等しいか判定します。

具体的には、2 つのハッシュマップに同じペア要素(キーと値)が格納されているか調べます。

[Caution] 注意
キーまたは値がポインタである場合、ポインタのアドレス値だけを比較します。

SFXOldHashmap::Get
指定されたキーを持つペア要素の値を取得します。
[ public, const ]
ValueType Get(
    KeyType key   // 取得する値のキー
);

戻り値

このハッシュマップに指定されたキーを持つペア要素があれば、ペア要素の値を返します。

存在しない場合は、null または 0 を返します。

解説

この関数は、このハッシュマップ内の指定されたキーを持つペア要素の値を取得します。

[Caution] 注意
指定されたキーを持つペア要素が存在しない場合、エラーは発生せず、 この関数は 0 または null を返します。

使用例

SFXOldHashmap<SFXAnsiString, SInt32> strmap;

// キーと値からなるハッシュマップ要素を設定する
if (strmap.Set("mike", 2) == SFERR_NO_ERROR) {

    // キーと値からなるハッシュマップ要素を設定する
    if (strmap.Set("john", 1) == SFERR_NO_ERROR) {
    
        // 指定したキーに対する値を取得する
        TRACE("%d", strmap.Get("mike"));  // 2
    }
}

参照

SFXOldHashmap::operator[] | SFXOldHashmap::Set


SFXOldHashmap::GetKeyEnumerator
ハッシュマップのペア要素のキーに対応する列挙子を取得します。
[ public, const ]
KeyEnumerator GetKeyEnumerator(Void);

戻り値

このハッシュマップのペア要素のキーに対応するキー列挙子

解説

この関数は、このハッシュマップのペア要素のキーに対応するキー列挙子を取得します。

参照

SFXOldHashmap::GetKeyIterator | SFXOldHashmap::GetValueIterator | SFXOldHashmap::GetValueEnumerator | SFXOldHashmap::ValueEnumerator | SFXOldHashmap::ValueIterator | SFXOldHashmap::KeyEnumerator | SFXOldHashmap::KeyIterator


SFXOldHashmap::GetKeyIterator
ハッシュマップのペア要素のキーに対応するキー反復子を取得します。
[ public ]
KeyIterator GetKeyIterator(Void);

戻り値

このハッシュマップのペア要素のキーに対応するキー反復子

解説

この関数は、このハッシュマップのペア要素のキーに対応するキー反復子を取得します。

参照

SFXOldHashmap::GetKeyEnumerator | SFXOldHashmap::GetValueEnumerator | SFXOldHashmap::GetValueIterator | SFXOldHashmap::ValueEnumerator | SFXOldHashmap::ValueIterator | SFXOldHashmap::KeyEnumerator | SFXOldHashmap::KeyIterator


SFXOldHashmap::GetRatio
【SF UNIVERSE 5.0.1 から無効】ハッシュテーブルの大きさを拡張する割合を取得します。
[ public, const ]
UInt16 GetRatio(Void);

参照

SFXOldHashmap::SetRatio


SFXOldHashmap::GetSize
ハッシュマップのサイズを取得します。
[ public, const ]
SInt32 GetSize(Void);

戻り値

このハッシュマップのサイズ(ペア要素の数)。

解説

この関数は、このハッシュマップのサイズ(ペア要素の数)を取得します。


SFXOldHashmap::GetThreshold
ハッシュテーブルの大きさを拡張する閾値を取得します。
[ public, const ]
UInt16 GetThreshold(Void);

戻り値

ハッシュテーブルの大きさを拡張する閾値

解説

この関数は、ハッシュテーブルの大きさを拡張する閾値を取得します。

参照

SFXOldHashmap::SetThreshold


SFXOldHashmap::GetValueEnumerator
ハッシュマップのペア要素の値に対応する値列挙子を取得します。
[ public, const ]
ValueEnumerator GetValueEnumerator(Void);

戻り値

このハッシュマップのペア要素の値に対応する値列挙子

解説

この関数は、このハッシュマップのペア要素の値に対応する値列挙子を取得します。

参照

SFXOldHashmap::GetValueIterator | SFXOldHashmap::GetKeyIterator | SFXOldHashmap::GetKeyEnumerator | SFXOldHashmap::ValueEnumerator | SFXOldHashmap::ValueIterator | SFXOldHashmap::KeyEnumerator | SFXOldHashmap::KeyIterator


SFXOldHashmap::GetValueIterator
ハッシュマップのペア要素の値に対応する値反復子を取得します。
[ public ]
ValueIterator GetValueIterator(Void);

戻り値

このハッシュマップのペア要素の値に対応する値反復子

解説

この関数は、このハッシュマップのペア要素の値に対応する値反復子を取得します。

参照

SFXOldHashmap::GetValueEnumerator | SFXOldHashmap::GetKeyIterator | SFXOldHashmap::GetKeyEnumerator | SFXOldHashmap::ValueEnumerator | SFXOldHashmap::ValueIterator | SFXOldHashmap::KeyEnumerator | SFXOldHashmap::KeyIterator


SFXOldHashmap::IsEmpty
ハッシュマップが空であるか判定します。
[ public, const ]
Bool IsEmpty(Void);

戻り値

  • このハッシュマップが空であるとき: true
  • そうでないとき: false

解説

この関数は、このハッシュマップが空であるか判定します。

参照

SFXOldHashmap::EmptyInstance


SFXOldHashmap::Merge
ハッシュマップを統合します。
[ public ]
SFCError Merge(
    SFXOldHashmap< K, V > const & collection   // 統合するハッシュマップ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY

解説

この関数は、このハッシュマップと指定されたハッシュマップを統合します。

※処理中にエラーが発生した場合は、元の状態に戻します。


SFXOldHashmap::Remove
指定されたキーを持つペア要素を削除します。
[ public ]
Void Remove(
    KeyType key   // 削除するキー
);

解説

この関数は、このハッシュマップから指定したキーを持つペア要素(キーと値)を削除します。

キーが文字列(SFXAnsiString / SFXWideString 型)である場合、 キーである文字列も自動的に解放されます。

[Caution] 注意

キーや値がクラスインスタンスや 4 バイトよりも大きなデータへのポインタの場合、 それらのデータは自動的に解放されません。

それらのデータは、ハッシュマップをクリアする直前に、 delete 文を使用して明示的にポインタが指すメモリ領域を解放する必要があります。 さもなければ、メモリリークが発生します。

参照

SFXOldHashmap::Set | SFXOldHashmap::Clear


SFXOldHashmap::Set
キーに対応する値を設定します。またはハッシュマップを設定します。
[ public ]
SFCError Set(
    SFXOldHashmap< K, V > const & collection   // 設定するハッシュマップ
);
[ public ]
SFCError Set(
    KeyType key       // 設定するキー
    ValueType value   // 設定する値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY
  • キーが空文字列であるとき: SFERR_INVALID_PARAM

解説

この関数は、指定されたペア要素(キーと値のペア)をこのハッシュマップに設定します。 またはこのハッシュマップを指定されたハッシュマップに設定します。

※処理中にエラーが発生した場合は、元の状態に戻します。

[Note] 空文字列

空文字列とは、 SFXAnsiString::EmptyInstance / SFXWideString::EmptyInstance 関数の戻り値のことです。

使用例

SFXOldHashmap<SFXAnsiString, SInt32> strmap;

// キーに対応する値を設定する
if (strmap.Set("mike", 2) == SFERR_NO_ERROR) {

    // キーに対応する値を設定する
    if (strmap.Set("john", 1) == SFERR_NO_ERROR) {
    
        // 指定したキーが存在するか判定する
        TRACE("ContainsKey(\"mike\") = %s", (strmap.ContainsKey("mike")) ? ("true") : ("false"));  // ContainsKey("mike") = true
        TRACE("ContainsKey(\"tom\") = %s", (strmap.ContainsKey("tom")) ? ("true") : ("false"));    // ContainsKey("tom") = false
    }
}

参照

SFXOldHashmap::Get | SFXOldHashmap::operator[] | SFXAnsiString::EmptyInstance | SFXWideString::EmptyInstance


SFXOldHashmap::SetRatio
【SF UNIVERSE 5.0.1 から無効】ハッシュテーブルの大きさを拡張する割合を設定します。
[ public ]
Void SetRatio(
    UInt16 param   // 設定する割合 (%)
);

解説

[Caution] SophiaFramework UNIVERSE 5.0.1 以降の仕様変更

SophiaFramework UNIVERSE 5.0.1 以降、この値を指定しても無効になりました。

ハッシュテーブルのサイズは、 要素数が SFXOldHashmap::SetThreshold 関数で設定された閾値を超えると、 閾値の範囲に収まるように素数の値で自動的に増加するように仕様が変更になっています。

参照

SFXOldHashmap::GetRatio | SFXOldHashmap::SetThreshold | SFXOldHashmap::DefaultEnum


SFXOldHashmap::SetThreshold
ハッシュテーブルの大きさを拡張する閾値を設定します。
[ public ]
Void SetThreshold(
    UInt16 param   // 設定する閾値 (%)
);

解説

この関数は、ハッシュテーブルの大きさを拡張する閾値を設定します。

ハッシュテーブルは、キーの数が増えると、効率化のため拡張されます。

この拡張は、以下の条件を満たすときに自動的に行われます。

要素数 > ハッシュテーブルのサイズ * 閾値 / 100

デフォルト値: 80

[Note] 閾値の値

SFXOldHashmap では、ハッシュテーブルのキーが衝突した場合、ひとつのテーブルエントリーに複数の項目を格納できる設計になっているので、 SFXOldHashmap はハッシュテーブルのサイズ以上の要素を持つことができます。

そのため、SFXOldHashmap::SetThreshold 関数で設定する閾値に 100 よりも大きな数値を設定可能です。

参照

SFXOldHashmap::GetThreshold | SFXOldHashmap::DefaultEnum


SFXOldHashmap::Swap
指定されたキーを持つペア要素の値を交換します。
[ public ]
SFCError Swap(
    KeyType destination   // 交換先のキー
    KeyType source        // 交換元のキー
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 指定された位置に要素が存在しないとき: SFERR_INVALID_PARAM

解説

この関数は、指定した 2 つの要素を交換します。

使用例

SFXOldHashmap<SFXAnsiString, SInt32> strmap;

// キーと値からなるハッシュマップ要素を設定する
if (strmap.Set("mike", 2) == SFERR_NO_ERROR) {

    // キーと値からなるハッシュマップ要素を設定する
    if (strmap.Set("john", 1) == SFERR_NO_ERROR) {

        // 要素を交換する
        if (strmap.Swap("mike", "john") == SFERR_NO_ERROR) {

            // 指定したキーに対する値を取得する
            TRACE("%d", strmap.Get("mike"));  // 1
        }
    }
}

SFXOldHashmap::operator[]
指定されたキーを持つペア要素の値を取得します。
[ public, const ]
ValueType operator[](
    KeyType key   // 取得するキーの位置
);

戻り値

指定したキーに対するマッピングが存在すればその値を返します。

存在しない場合は、null または 0 を返します。

解説

このオペレーターは、このハッシュマップ内の指定したキーを持つペア要素の値を取得します。

[Caution] 注意
指定したキーを持つペア要素が存在しない場合、エラーは発生せず、 このオペレーターは 0 または null を返します。

参照

SFXOldHashmap::Set


SFXOldHashmap::DefaultEnum
ハッシュテーブルの大きさを拡張する閾値と割合の既定値を表します。
enum DefaultEnum {
    DEFAULT_THRESHOLD = 80,     // ハッシュテーブルの大きさを拡張する閾値
    DEFAULT_RATIO     = 50      // ハッシュテーブルの大きさを拡張する割合
};

参照

SFXOldHashmap::SetThreshold | SFXOldHashmap::GetThreshold | SFXOldHashmap::SetRatio | SFXOldHashmap::GetRatio


SFXOldHashmap::KeyEnumerator
ハッシュマップのペア要素のキーに対応するキー列挙子を保持するクラスです。
[ public ]

SFMTYPEDEFCLASS(KeyEnumerator)
class KeyEnumerator  {
    public:
        explicit            KeyEnumerator           (Void);
                            KeyEnumerator           (KeyIteratorConstRef iterator);
        KeyEnumeratorRef    operator=               (KeyIteratorConstRef iterator);
        KeyType             GetNext                 (Void);
        KeyType             GetPrevious             (Void);
        ValueType           GetValue                (Void) const;
        Bool                HasNext                 (Void) const;
        Bool                HasPrevious             (Void) const;
        Bool                IsValid                 (Void) const;
};

解説

このクラスは、ハッシュマップのペア要素のキーに対応するキー列挙子を保持するクラスです。

GetNext 次の要素を取得します。要素がない場合 null または 0 を返します。
GetPrevious 前の要素を取得します。要素がない場合 null または 0 を返します。
GetValue 現在の要素に対する値を取得します。無効な場合は null を返します。
HasNext 次の要素があるか調べます。
HasPrevious 前の要素があるか調べます。
IsValid 列挙子が有効であるか判定します。

参照

SFXOldHashmap::KeyIterator | SFXOldHashmap::ValueEnumerator | SFXOldHashmap::ValueIterator | SFXOldHashmap::GetKeyEnumerator | SFXOldHashmap::GetKeyIterator | SFXOldHashmap::GetValueEnumerator | SFXOldHashmap::GetValueIterator


SFXOldHashmap::KeyIterator
ハッシュマップのペア要素のキーに対応するキー反復子を保持するクラスです。
[ public ]

SFMTYPEDEFCLASS(KeyIterator)
class KeyIterator  {
    public:
        explicit            KeyIterator             (Void);
        KeyType             GetNext                 (Void);
        KeyType             GetPrevious             (Void);
        ValueType           GetValue                (Void) const;
        Bool                HasNext                 (Void) const;
        Bool                HasPrevious             (Void) const;
        Bool                IsValid                 (Void) const;
        Void                Remove                  (Void);
};

解説

このクラスは、ハッシュマップのペア要素のキーに対応するキー反復子を保持するクラスです。

GetNext 次の要素を取得します。要素がない場合 null または 0 を返します。
GetPrevious 前の要素を取得します。要素がない場合 null または 0 を返します。
GetValue 現在の要素に対する値を取得します。無効な場合は null を返します。
HasNext 次の要素があるか調べます。
HasPrevious 前の要素があるか調べます。
IsValid 反復子が有効であるか判定します。
Remove 反復子が指す要素を削除します。

参照

SFXOldHashmap::KeyEnumerator | SFXOldHashmap::ValueEnumerator | SFXOldHashmap::ValueIterator | SFXOldHashmap::GetKeyEnumerator | SFXOldHashmap::GetKeyIterator | SFXOldHashmap::GetValueEnumerator | SFXOldHashmap::GetValueIterator


SFXOldHashmap::ValueEnumerator
ハッシュマップのペア要素の値に対応する値列挙子を保持するクラスです。
[ public ]

SFMTYPEDEFCLASS(ValueEnumerator)
class ValueEnumerator  {
    public:
        explicit            ValueEnumerator         (Void);
                            ValueEnumerator         (ValueIteratorConstRef iterator);
        ValueEnumeratorRef  operator=               (ValueIteratorConstRef iterator);
        ValueType           GetNext                 (Void);
        ValueType           GetPrevious             (Void);
        KeyType             GetKey                  (Void) const;
        Bool                HasNext                 (Void) const;
        Bool                HasPrevious             (Void) const;
        Bool                IsValid                 (Void) const;
};

解説

このクラスは、ハッシュマップのペア要素の値に対応する値列挙子を保持するクラスです。

GetNext 次の要素を取得します。要素がない場合 null または 0 を返します。
GetPrevious 前の要素を取得します。要素がない場合 null または 0 を返します。
GetKey 現在の要素に対するキーを取得します。無効な場合は null を返します。
HasNext 次の要素があるか調べます。
HasPrevious 前の要素があるか調べます。
IsValid 列挙子が有効であるか判定します。

参照

SFXOldHashmap::ValueIterator | SFXOldHashmap::KeyEnumerator | SFXOldHashmap::KeyIterator | SFXOldHashmap::GetKeyEnumerator | SFXOldHashmap::GetKeyIterator | SFXOldHashmap::GetValueEnumerator | SFXOldHashmap::GetValueIterator


SFXOldHashmap::ValueIterator
ハッシュマップのペア要素の値に対応する値反復子を保持するクラスです。
[ public ]

SFMTYPEDEFCLASS(ValueIterator)
class ValueIterator  {
    public:
        explicit            ValueIterator           (Void);
        SFCError            Set                     (ValueType value);
        ValueType           GetNext                 (Void);
        ValueType           GetPrevious             (Void);
        KeyType             GetKey                  (Void) const;
        Bool                HasNext                 (Void) const;
        Bool                HasPrevious             (Void) const;
        Bool                IsValid                 (Void) const;
        Void                Remove                  (Void);
};

解説

このクラスは、ハッシュマップのペア要素の値に対応する値反復子を保持するクラスです。

Set 反復子が指す要素に対する値の内容を指定した値で設定します。
GetNext 次の要素を取得します。要素がない場合 null または 0 を返します。
GetPrevious 前の要素を取得します。要素がない場合 null または 0 を返します。
GetKey 現在の要素に対するキーを取得します。無効な場合は null を返します。
HasNext 次の要素があるか調べます。
HasPrevious 前の要素があるか調べます。
IsValid 反復子が有効であるか判定します。
Remove 反復子が指す要素を削除します。

参照

SFXOldHashmap::ValueEnumerator | SFXOldHashmap::KeyEnumerator | SFXOldHashmap::KeyIterator | SFXOldHashmap::GetKeyEnumerator | SFXOldHashmap::GetKeyIterator | SFXOldHashmap::GetValueEnumerator | SFXOldHashmap::GetValueIterator