42template<
typename KEY,
typename VAL,
typename INK=KEY>
68 explicit CSimpleMapT(
size_t bufferSize) : m_isValidLast(false), m_map(bufferSize)
110 if ( i != INVALID_INDEX )
117 m_isValidLast =
true;
131 if ( i != INVALID_INDEX )
147 if ( i != INVALID_INDEX )
150 m_isValidLast =
false;
175 m_isValidLast =
false;
176 return m_map.
Remove(index);
187 if ( m_isValidLast && m_lastKey == key )
189 ASSERT( m_map[m_lastIndex].key == m_lastKey );
194 if ( m_map[i].key == key )
198 m_isValidLast =
true;
202 return INVALID_INDEX;
212 return Find(key) != INVALID_INDEX;
221 m_isValidLast =
false;
227 mutable bool m_isValidLast;
228 mutable INK m_lastKey;
229 mutable INDEX m_lastIndex;
#define loop(VAR, CNT)
loop構文.
bool RemoveKey(INK key)
[削除] キーと値を削除
void RemoveAll(void)
[削除] 空化
VAL & operator[](INK key)
[取得] キーに対する値の参照
size_t GetSize(void) const
[取得] 要素数取得
bool Remove(INDEX index)
[削除] 要素一つ削除.
const VAL & operator[](INK key) const
[取得] キーに対する値の参照
CSimpleMapT(size_t bufferSize)
コンストラクタ
const TParam & Ref(INDEX index) const
[参照] パラメータ参照.
CSimpleMapT(const CSimpleMapT &other)
コピーコンストラクタ
INDEX Find(INK key) const
[検索] キー検索.
bool HasKey(INK key) const
[確認] キー有無
CSimpleMapT & operator=(const CSimpleMapT &other)
[複製] コピーオペレータ
void RemoveAll(void)
[削除] 空化
size_t GetSize(void) const
[取得] サイズ取得
bool Remove(INDEX index)
[削除] 要素一つ削除.
INDEX Add(const TYP &t)
[追加] 要素一つ追加.
TParam(INK k=KEY(), VAL v=VAL())
コンストラクタ