<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /tmp/qt-3.0-reggie-28534/qt-x11-free-3.0.2/doc/qcache.doc:293 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>QCacheIterator Class</title> <style type="text/css"><!-- h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QCacheIterator Class Reference</h1> <p>The QCacheIterator class provides an iterator for QCache collections. <a href="#details">More...</a> <p><tt>#include <<a href="qcache-h.html">qcache.h</a>></tt> <p><a href="qcacheiterator-members.html">List of all member functions.</a> <h2>Public Members</h2> <ul> <li><div class=fn><a href="#QCacheIterator"><b>QCacheIterator</b></a> ( const QCache<type> & cache )</div></li> <li><div class=fn><a href="#QCacheIterator-2"><b>QCacheIterator</b></a> ( const QCacheIterator<type> & ci )</div></li> <li><div class=fn>QCacheIterator<type> & <a href="#operator-eq"><b>operator=</b></a> ( const QCacheIterator<type> & ci )</div></li> <li><div class=fn>uint <a href="#count"><b>count</b></a> () const</div></li> <li><div class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</div></li> <li><div class=fn>bool <a href="#atFirst"><b>atFirst</b></a> () const</div></li> <li><div class=fn>bool <a href="#atLast"><b>atLast</b></a> () const</div></li> <li><div class=fn>type * <a href="#toFirst"><b>toFirst</b></a> ()</div></li> <li><div class=fn>type * <a href="#toLast"><b>toLast</b></a> ()</div></li> <li><div class=fn><a href="#operator-type-*"><b>operator type *</b></a> () const</div></li> <li><div class=fn>type * <a href="#current"><b>current</b></a> () const</div></li> <li><div class=fn>QString <a href="#currentKey"><b>currentKey</b></a> () const</div></li> <li><div class=fn>type * <a href="#operator()"><b>operator()</b></a> ()</div></li> <li><div class=fn>type * <a href="#operator++"><b>operator++</b></a> ()</div></li> <li><div class=fn>type * <a href="#operator+-eq"><b>operator+=</b></a> ( uint jump )</div></li> <li><div class=fn>type * <a href="#operator--"><b>operator--</b></a> ()</div></li> <li><div class=fn>type * <a href="#operator--eq"><b>operator-=</b></a> ( uint jump )</div></li> </ul> <hr><a name="details"></a><h2>Detailed Description</h2> The QCacheIterator class provides an iterator for <a href="qcache.html">QCache</a> collections. <p> <p> Note that the traversal order is arbitrary; you are not guaranteed any particular order. If new objects are inserted into the cache while the iterator is active, the iterator may or may not see them. <p> Multiple iterators are completely independent, even when they operate on the same QCache. QCache updates all iterators that refer an item when that item is removed. <p> QCacheIterator provides an <a href="#operator++">operator++</a>(), and an <a href="#operator+-eq">operator+=</a>() to traverse the cache. The <a href="#current">current</a>() and <a href="#currentKey">currentKey</a>() functions are used to access the current cache item and its key. The <a href="#atFirst">atFirst</a>() and <a href="#atLast">atLast</a>() return TRUE if the iterator points to the first or last item in the cache respectively. The <a href="#isEmpty">isEmpty</a>() function returns TRUE if the cache is empty, and <a href="#count">count</a>() returns the number of items in the cache. <p> Note that atFirst() and atLast() refer to the iterator's arbitrary ordering, not to the cache's internal least recently used list. <p> <p>See also <a href="qcache.html">QCache</a>, <a href="collection.html">Collection Classes</a> and <a href="tools.html">Non-GUI Classes</a>. <hr><h2>Member Function Documentation</h2> <h3 class=fn><a name="QCacheIterator"></a>QCacheIterator::QCacheIterator ( const <a href="qcache.html">QCache</a><type> & cache ) </h3> <p> Constructs an iterator for <em>cache</em>. The current iterator item is set to point to the first item in the <em>cache</em>. <h3 class=fn><a name="QCacheIterator-2"></a>QCacheIterator::QCacheIterator ( const <a href="qcacheiterator.html">QCacheIterator</a><type> & ci ) </h3> <p> Constructs an iterator for the same cache as <em>ci</em>. The new iterator starts at the same item as ci.<a href="#current">current</a>(), but moves independently from there on. <h3 class=fn>bool <a name="atFirst"></a>QCacheIterator::atFirst () const </h3> <p> Returns TRUE if the iterator points to the first item in the cache. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list. <p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#atLast">atLast</a>(). <h3 class=fn>bool <a name="atLast"></a>QCacheIterator::atLast () const </h3> <p> Returns TRUE if the iterator points to the last item in the cache. Note that this refers to the iterator's arbitrary ordering, not to the cache's internal least recently used list. <p> <p>See also <a href="#toLast">toLast</a>() and <a href="#atFirst">atFirst</a>(). <h3 class=fn>uint <a name="count"></a>QCacheIterator::count () const </h3> <p> Returns the number of items in the cache on which this iterator operates. <p>See also <a href="#isEmpty">isEmpty</a>(). <h3 class=fn>type * <a name="current"></a>QCacheIterator::current () const </h3> <p> Returns a pointer to the current iterator item. <h3 class=fn><a href="qstring.html">QString</a> <a name="currentKey"></a>QCacheIterator::currentKey () const </h3> <p> Returns the key for the current iterator item. <h3 class=fn>bool <a name="isEmpty"></a>QCacheIterator::isEmpty () const </h3> <p> Returns TRUE if the cache is empty, i.e. <a href="#count">count</a>() == 0; otherwise it returns FALSE. <p>See also <a href="#count">count</a>(). <h3 class=fn><a name="operator-type-*"></a>QCacheIterator::operator type * () const </h3> <p> Cast operator. Returns a pointer to the current iterator item. Same as <a href="#current">current</a>(). <p> <h3 class=fn>type * <a name="operator()"></a>QCacheIterator::operator() () </h3> <p> Makes the succeeding item current and returns the original current item. <p> If the current iterator item was the last item in the cache or if it was null, null is returned. <h3 class=fn>type * <a name="operator++"></a>QCacheIterator::operator++ () </h3> <p> Prefix++ makes the iterator point to the item just after <a href="#current">current</a>() and makes that the new current item for the iterator. If current() was the last item, <a href="#operator++">operator++</a>() returns 0. <h3 class=fn>type * <a name="operator+-eq"></a>QCacheIterator::operator+= ( uint jump ) </h3> <p> Returns the item <em>jump</em> positions after the current item, or null if it is beyond the last item. Makes this the current item. <h3 class=fn>type * <a name="operator--"></a>QCacheIterator::operator-- () </h3> <p> Prefix-- makes the iterator point to the item just before <a href="#current">current</a>() and makes that the new current item for the iterator. If current() was the first item, <a href="#operator--">operator--</a>() returns 0. <h3 class=fn>type * <a name="operator--eq"></a>QCacheIterator::operator-= ( uint jump ) </h3> <p> Returns the item <em>jump</em> positions before the current item, or null if it is before the first item. Makes this the current item. <h3 class=fn><a href="qcacheiterator.html">QCacheIterator</a><type> & <a name="operator-eq"></a>QCacheIterator::operator= ( const <a href="qcacheiterator.html">QCacheIterator</a><type> & ci ) </h3> <p> Makes this an iterator for the same cache as <em>ci</em>. The new iterator starts at the same item as ci.<a href="#current">current</a>(), but moves independently thereafter. <h3 class=fn>type * <a name="toFirst"></a>QCacheIterator::toFirst () </h3> <p> Sets the iterator to point to the first item in the cache and returns a pointer to the item. <p> Sets the iterator to null and returns null if the cache is empty. <p> <p>See also <a href="#toLast">toLast</a>() and <a href="#isEmpty">isEmpty</a>(). <h3 class=fn>type * <a name="toLast"></a>QCacheIterator::toLast () </h3> <p> Sets the iterator to point to the last item in the cache and returns a pointer to the item. <p> Sets the iterator to null and returns null if the cache is empty. <p> <p>See also <a href="#toFirst">toFirst</a>() and <a href="#isEmpty">isEmpty</a>(). <!-- eof --> <hr><p> This file is part of the <a href="index.html">Qt toolkit</a>. Copyright © 1995-2001 <a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2001 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a> <td align=right><div align=right>Qt version 3.0.2</div> </table></div></address></body> </html>