diff options
Diffstat (limited to 'trunk/qtools/qgcache.h')
-rw-r--r-- | trunk/qtools/qgcache.h | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/trunk/qtools/qgcache.h b/trunk/qtools/qgcache.h deleted file mode 100644 index 2f35c41..0000000 --- a/trunk/qtools/qgcache.h +++ /dev/null @@ -1,130 +0,0 @@ -/**************************************************************************** -** -** -** 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_H - - -class QCList; // internal classes -class QCListIt; -class QCDict; - - -class Q_EXPORT QGCache : public QCollection // 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; - int hits() const; - int misses() const; - -private: - bool makeRoomFor( int cost, int priority = -1 ); - KeyType keytype; - QCList *lruList; - QCDict *dict; - int mCost; - int tCost; - bool copyk; -}; - - -class Q_EXPORT QGCacheIterator // 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 |