📄 qgcache-h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Qt Toolkit - qgcache.h include file</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: white; color: black; }--></style></head><body bgcolor="#ffffff"><table width="100%"><tr><td><a href="index.html"><img width="100" height="100" src="qtlogo.png"alt="Home" border="0"><img width="100"height="100" src="face.png" alt="Home" border="0"></a><td valign="top"><div align="right"><img src="dochead.png" width="472" height="27"><br><a href="classes.html"><b>Classes</b></a>- <a href="annotated.html">Annotated</a>- <a href="hierarchy.html">Tree</a>- <a href="functions.html">Functions</a>- <a href="index.html">Home</a>- <a href="topicals.html"><b>Structure</b> <font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" align="center" size=32>Qte</font></a></div></table><h1 align=center>qgcache.h</h1><br clear="all">This is the verbatim text of the qgcache.h include file. It isprovided only for illustration; the copyrightremains with Trolltech.<hr><pre>/****************************************************************************** $Id: qt/src/tools/qgcache.h 2.3.8 edited 2004-05-12 $**** Definition of QGCache and QGCacheIterator classes**** Created : 950208**** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.**** This file is part of the tools module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition** licenses may use this file in accordance with the Qt Commercial License** Agreement provided with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for** information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QGCACHE_H#define QGCACHE_H#ifndef QT_H#include "qcollection.h"#include "qglist.h"#include "qgdict.h"#endif // QT_Hclass QCList; // internal classesclass QCListIt;class QCDict;class Q_EXPORT <a href="qgcache.html">QGCache</a> : public <a href="qcollection.html">QCollection</a> // generic LRU cache{friend class QGCacheIterator;protected: enum KeyType { StringKey, AsciiKey, IntKey, PtrKey }; // identical to QGDict's, but PtrKey is not used at the moment QGCache( int maxCost, uint size, KeyType kt, bool caseSensitive, bool copyKeys ); QGCache( const QGCache & ); // not allowed, calls fatal() ~QGCache(); QGCache &operator=( const QGCache & ); // not allowed, calls fatal() uint count() const { return ((QGDict*)dict)->count(); } uint size() const { return ((QGDict*)dict)->size(); } int maxCost() const { return mCost; } int totalCost() const { return tCost; } void setMaxCost( int maxCost ); void clear(); bool insert_string( const QString &key, QCollection::Item, int cost, int priority ); bool insert_other( const char *key, QCollection::Item, int cost, int priority ); bool remove_string( const QString &key ); bool remove_other( const char *key ); QCollection::Item take_string( const QString &key ); QCollection::Item take_other( const char *key ); QCollection::Item find_string( const QString &key, bool ref=TRUE ) const; QCollection::Item find_other( const char *key, bool ref=TRUE ) const; void statistics() const;private: bool makeRoomFor( int cost, int priority = -1 ); KeyType keytype; QCList *lruList; QCDict *dict; int mCost; int tCost; bool copyk;};class Q_EXPORT <a href="qgcacheiterator.html">QGCacheIterator</a> // generic cache iterator{protected: QGCacheIterator( const QGCache & ); QGCacheIterator( const QGCacheIterator & ); ~QGCacheIterator(); QGCacheIterator &operator=( const QGCacheIterator & ); uint count() const; bool atFirst() const; bool atLast() const; QCollection::Item toFirst(); QCollection::Item toLast(); QCollection::Item get() const; QString getKeyString() const; const char *getKeyAscii() const; long getKeyInt() const; QCollection::Item operator()(); QCollection::Item operator++(); QCollection::Item operator+=( uint ); QCollection::Item operator--(); QCollection::Item operator-=( uint );protected: QCListIt *it; // iterator on cache list};#endif // QGCACHE_H</pre><p><address><hr><div align="center"><table width="100%" cellspacing="0" border="0"><tr><td>Copyright
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -