示例#1
0
VOID MemoryCache<K>::FreeAll()
{
  Check();

  for ( Map<K,BlockHeader*>::Iterator i = m_Blocks.Begin(); i != m_Blocks.End(); i++ )
  {
    Pair<K,BlockHeader*> P = *i;
    Reclaim.Invoke( P.First(), P.Second()->m_pBlock );
    delete P.Second();
  }
  m_Blocks.RemoveAll();
  m_LRU.RemoveAll();
}
示例#2
0
inline Bolitho::IO::BinaryStream& operator << (Bolitho::IO::BinaryStream& S, CONST Map<K,V,KeyElementTraits, ValueElementTraits, ThreadingModel>& M)
{
  S << (UINT64)M.Count();
	typename Map<K,V,KeyElementTraits, ValueElementTraits, ThreadingModel>::Enumerator E = M.Elements();

  while(E)
  {
    Pair<K,V> P = E.CurrentElement(); 
    S << P.First();
    S << P.Second();
		E++;
  }
  return S;
}