inline TData& operator[](const TKey& oKey) { CHashIterator oIt = Find(oKey); CMapNode<TKey, TData>* pNode = m_oHash.At(oIt); if(pNode == NULL) { CMapNode<TKey, TData> oNode(oKey); oIt = m_oHash.Insert(oNode); pNode = m_oHash.At(oIt); } return pNode->oData; }
inline TData* At(CHashIterator& oIt) { CMapNode<TKey, TData>* pNode = (CMapNode<TKey, TData>*)m_oHash.At(oIt); if(pNode == NULL) return NULL; return &pNode->oData; }
inline const TData* At(const CHashIterator& oIt) const { const CMapNode<TKey, TData>* pNode = m_oHash.At(oIt); if(pNode == NULL) return NULL; return &pNode->oData; }
inline const TKey& GetKey(const CHashIterator& oIt) const { return m_oHash.At(oIt)->oKey; }
inline TData& GetItem(CHashIterator& oIt) { return (TData&)(m_oHash.At(oIt)->oData); }
inline const TData& GetItem(const CHashIterator& oIt) const { return m_oHash.At(oIt)->oData; }