template<class keytype, class type>
bool FX::QDictBase< keytype, type >::remove ( FXuint  h,
const keytype &  k 
) [inline, protected, inherited]

Definition at line 434 of file qdictbase.h.

References FX::QDictBase< keytype, type >::deleteItem().

Referenced by FX::QPtrDict< type >::remove(), FX::QHostAddressDict< type >::remove(), FX::QDict< type >::remove(), and FX::QDictBase< FX::FXString, type >::replace().

00435 {
00436     keyitemlist &kil=dict[mkIdx(h, mysize)];
00437     typename keyitemlist::iterator it=kil.find(k);
00438     if(it==kil.end()) return false;
00439     itemlist &il=(*it).second.second;
00440     if(il.empty()) return false;
00441     typename itemlist::iterator ilend=il.end(); --ilend;
00442     for(typename iteratorlist::iterator it2=iterators.begin(); it2!=iterators.end(); ++it2)
00443     {
00444         QDictBaseIterator<keytype, type> *dictit=*it2;
00445         if(dictit->itil==ilend)
00446         {   // Advance the iterator
00447             ++(*dictit);
00448         }
00449     }
00450     deleteItem(il.back());
00451     il.pop_back();
00452     items--;
00453     inserts++;
00454     if(il.empty())
00455     {   // Delete the key entry
00456         kil.erase(it);
00457     }
00458     return true;
00459 }


(C) 2002-2009 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Nov 20 18:37:42 2009 for TnFOX by doxygen v1.4.7