134 typedef typename boost::intrusive::list<CacheEntry>::iterator Iterator;
139 CacheEntry& cachei = m_cacheEntry[i];
140 CacheEntry& cachej = m_cacheEntry[j];
144 Iterator pos = m_lruList.iterator_to( cachei );
145 m_lruList.insert(pos,cachej);
146 m_lruList.erase(pos);
148 Iterator pos = m_lruList.iterator_to( cachej );
149 m_lruList.insert(pos,cachei);
150 m_lruList.erase(pos);
152 Iterator posi = m_lruList.iterator_to( cachei );
153 Iterator posj = m_lruList.iterator_to( cachej );
157 Iterator incposi = posi;++incposi;
158 Iterator incposj = posj;++incposj;
162 m_lruList.erase( posj );
163 m_lruList.insert(posi,cachej);
164 }
else if(incposj == posi){
165 m_lruList.erase( posi );
166 m_lruList.insert(posj,cachei);
170 m_lruList.erase( m_lruList.iterator_to( cachei ) );
171 m_lruList.erase( m_lruList.iterator_to( cachej ) );
173 m_lruList.insert(incposi,cachej);
174 m_lruList.insert(incposj,cachei);
179 std::swap(cachei.length,cachej.length);
180 std::swap(cachei.data,cachej.data);