重複要素に同一IDを与えるための汎用テンプレート [詳細]
Public メソッド | |
fk_HeapBase (void) | |
コンストラクタ | |
~fk_HeapBase () | |
デストラクタ | |
void | clear (void) |
初期化関数 | |
int | getSize (void) |
int | getID (TYPE *argV) |
重複要素に同一IDを与えるための汎用テンプレート
このテンプレートは、重複要素を管理する機能を提供します。 管理したいインスタンスを getID() 関数に代入したとき、 既に同じ値を持つインスタンスが代入済みであった場合にはその ID を返します。 初めて代入された値であった場合は、新しい ID を返します。 内部ではヒープソートを用いているため、 要素数が増加してもそれほど処理速度は低下しません。
対象となるクラスあるいは型においては、以下の条件を満たす必要があります。
fk_HeapBase< TYPE >::fk_HeapBase | ( | void | ) | [inline] |
コンストラクタ
fk_HeapBase< TYPE >::~fk_HeapBase | ( | ) | [inline] |
デストラクタ
void fk_HeapBase< TYPE >::clear | ( | void | ) | [inline] |
初期化関数
これまで格納した情報を全て初期化します。 この関数を呼んだ場合、過去に格納したインスタンスは解放しても構いません。
int fk_HeapBase< TYPE >::getSize | ( | void | ) | [inline] |
現時点での要素数を返します。 これは、これまで返された ID の最大値でもあります。
int fk_HeapBase< TYPE >::getID | ( | TYPE * | argV | ) | [inline] |
以下の条件で ID となる値を返します。
[in] | argV | 比較対象インスタンスのアドレス |