Пример #1
0
	//拷贝oSrc中的元素进来。
	inline void Insert(const CHash<TKey, TData, TGetKey, TCompareKey, THashArithmetic> &oSrc)
	{
		if(this == &oSrc)
		{
			if(!m_bUnique)
			{
				uint32 i;
				CHash<TKey, TData, TGetKey, TCompareKey, THashArithmetic> o(oSrc);
				for(i=0; i<m_nBucketSize; ++i)
					m_pBuckets[i].Append(NULL, o.m_pBuckets[i]);
			}
		}
		else
		{
			CHashIterator oIt=oSrc.First(), oEnd=oSrc.End();
			for(; !oSrc.IteratorEqual(oIt, oEnd);  oIt=oSrc.GetNext(oIt))
				Insert(oSrc.GetItem(oIt));
		}
	}