Protected Types | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
QGCache Class Reference

The QGCache class is an internal class for implementing QCache template classes. More...

#include <qgcache.h>

Inheritance diagram for QGCache:
QCollection QCache< type > QCache< LookupInfo >

Protected Types

enum  KeyType { StringKey, AsciiKey, IntKey, PtrKey }
 

Protected Member Functions

 QGCache (int maxCost, uint size, KeyType kt, bool caseSensitive, bool copyKeys)
 
 QGCache (const QGCache &)
 
 ~QGCache ()
 
QGCacheoperator= (const QGCache &)
 
uint count () const
 
uint size () const
 
int maxCost () const
 
int totalCost () const
 
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
 
- Protected Member Functions inherited from QCollection
 QCollection ()
 
 QCollection (const QCollection &)
 
virtual ~QCollection ()
 
virtual Item newItem (Item)
 
virtual void deleteItem (Item)
 

Private Member Functions

bool makeRoomFor (int cost, int priority=-1)
 

Private Attributes

KeyType keytype
 
QCListlruList
 
QCDictdict
 
int mCost
 
int tCost
 
bool copyk
 

Friends

class QGCacheIterator
 

Additional Inherited Members

- Public Types inherited from QCollection
typedef void * Item
 
- Public Member Functions inherited from QCollection
bool autoDelete () const
 
void setAutoDelete (bool enable)
 
- Protected Attributes inherited from QCollection
bool del_item
 

Detailed Description

The QGCache class is an internal class for implementing QCache template classes.

QGCache is a strictly internal class that acts as a base class for the collection classes QCache and QIntCache.

Definition at line 53 of file qgcache.h.

Member Enumeration Documentation

enum QGCache::KeyType
protected
Enumerator
StringKey 
AsciiKey 
IntKey 
PtrKey 

Definition at line 57 of file qgcache.h.

Constructor & Destructor Documentation

QGCache::QGCache ( int  maxCost,
uint  size,
KeyType  kt,
bool  caseSensitive,
bool  copyKeys 
)
protected

Definition at line 234 of file qgcache.cpp.

236 {
237  keytype = kt;
238  lruList = new QCList;
239  CHECK_PTR( lruList );
241  copyk = ((keytype == AsciiKey) && copyKeys);
242  dict = new QCDict( size, kt, caseSensitive, FALSE );
243  CHECK_PTR( dict );
244  mCost = maxCost;
245  tCost = 0;
246 #if defined(DEBUG)
247  lruList->inserts = 0;
248  lruList->insertCosts = 0;
249  lruList->insertMisses = 0;
250  lruList->finds = 0;
251  lruList->hits = 0;
252  lruList->hitCosts = 0;
253  lruList->dumps = 0;
254  lruList->dumpCosts = 0;
255 #endif
256 }
KeyType keytype
Definition: qgcache.h:91
int maxCost() const
Definition: qgcache.h:68
int hitCosts
Definition: qgcache.cpp:105
int dumps
Definition: qgcache.cpp:106
const bool FALSE
Definition: qglobal.h:370
int insertCosts
Definition: qgcache.cpp:101
int inserts
Definition: qgcache.cpp:100
int insertMisses
Definition: qgcache.cpp:102
QCList * lruList
Definition: qgcache.h:92
bool copyk
Definition: qgcache.h:96
int hits
Definition: qgcache.cpp:104
int tCost
Definition: qgcache.h:95
QCDict * dict
Definition: qgcache.h:93
#define CHECK_PTR(p)
Definition: qglobal.h:601
int dumpCosts
Definition: qgcache.cpp:107
int mCost
Definition: qgcache.h:94
void setAutoDelete(bool del)
Definition: qgcache.cpp:89
const bool TRUE
Definition: qglobal.h:371
int finds
Definition: qgcache.cpp:103
uint size() const
Definition: qgcache.h:67
QGCache::QGCache ( const QGCache )
protected

Definition at line 263 of file qgcache.cpp.

264  : QCollection()
265 {
266 #if defined(CHECK_NULL)
267  qFatal( "QGCache::QGCache(QGCache &): Cannot copy a cache" );
268 #endif
269 }
void qFatal(const char *msg,...)
Definition: qglobal.cpp:443
QGCache::~QGCache ( )
protected

Definition at line 276 of file qgcache.cpp.

277 {
278  clear(); // delete everything first
279  delete dict;
280  delete lruList;
281 }
QCList * lruList
Definition: qgcache.h:92
void clear()
Definition: qgcache.cpp:493
QCDict * dict
Definition: qgcache.h:93

Member Function Documentation

void QGCache::clear ( )
protectedvirtual

Removes all objects from the collection. The objects will be deleted if auto-delete has been enabled.

See also
setAutoDelete()

Implements QCollection.

Reimplemented in QCache< LookupInfo >.

Definition at line 493 of file qgcache.cpp.

494 {
495  QCacheItem *ci;
496  while ( (ci = lruList->first()) ) {
497  switch ( keytype ) {
498  case StringKey:
499  dict->remove_string( ci );
500  delete (QString*)ci->key;
501  break;
502  case AsciiKey:
503  dict->remove_ascii( ci );
504  if ( copyk )
505  delete [] (char*)ci->key;
506  break;
507  case IntKey:
508  dict->remove_int( ci );
509  break;
510  case PtrKey: // unused
511  break;
512  }
513  deleteItem( ci->data ); // delete data
514  lruList->removeFirst(); // remove from list
515  }
516  tCost = 0;
517 }
bool remove_ascii(QCacheItem *item)
Definition: qgcache.cpp:216
QCacheItem * first()
Definition: qgcache.cpp:94
KeyType keytype
Definition: qgcache.h:91
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
bool remove_string(QCacheItem *item)
Definition: qgcache.cpp:214
QCList * lruList
Definition: qgcache.h:92
bool copyk
Definition: qgcache.h:96
bool removeFirst()
Definition: qgcache.cpp:91
void * key
Definition: qgcache.cpp:66
bool remove_int(QCacheItem *item)
Definition: qgcache.cpp:218
int tCost
Definition: qgcache.h:95
QCDict * dict
Definition: qgcache.h:93
virtual void deleteItem(Item)
QCollection::Item data
Definition: qgcache.cpp:67
uint QGCache::count ( ) const
inlineprotectedvirtual

Returns the number of objects in the collection.

Implements QCollection.

Reimplemented in QCache< LookupInfo >.

Definition at line 66 of file qgcache.h.

66 { return ((QGDict*)dict)->count(); }
The QGDict class is an internal class for implementing QDict template classes.
Definition: qgdict.h:104
QCDict * dict
Definition: qgcache.h:93
QCollection::Item QGCache::find_other ( const char *  key,
bool  ref = TRUE 
) const
protected

Definition at line 549 of file qgcache.cpp.

550 {
552  : dict->find_int((intptr_t)key);
553 #if defined(DEBUG)
554  lruList->finds++;
555 #endif
556  if ( ci ) {
557 #if defined(DEBUG)
558  lruList->hits++;
559  lruList->hitCosts += ci->cost;
560 #endif
561  if ( ref )
562  lruList->reference( ci );
563  return ci->data;
564  }
565  return 0;
566 }
KeyType keytype
Definition: qgcache.h:91
int hitCosts
Definition: qgcache.cpp:105
void reference(QCacheItem *)
Definition: qgcache.cpp:159
QCList * lruList
Definition: qgcache.h:92
def key(type, name=None)
Definition: graph.py:13
QCacheItem * find_ascii(const char *key) const
Definition: qgcache.cpp:195
int cost
Definition: qgcache.cpp:65
QCacheItem * find_int(long key) const
Definition: qgcache.cpp:197
int hits
Definition: qgcache.cpp:104
QCDict * dict
Definition: qgcache.h:93
int finds
Definition: qgcache.cpp:103
QCollection::Item data
Definition: qgcache.cpp:67
QCollection::Item QGCache::find_string ( const QString key,
bool  ref = TRUE 
) const
protected

Definition at line 525 of file qgcache.cpp.

526 {
527  QCacheItem *ci = dict->find_string( key );
528 #if defined(DEBUG)
529  lruList->finds++;
530 #endif
531  if ( ci ) {
532 #if defined(DEBUG)
533  lruList->hits++;
534  lruList->hitCosts += ci->cost;
535 #endif
536  if ( ref )
537  lruList->reference( ci );
538  return ci->data;
539  }
540  return 0;
541 }
int hitCosts
Definition: qgcache.cpp:105
void reference(QCacheItem *)
Definition: qgcache.cpp:159
QCacheItem * find_string(const QString &key) const
Definition: qgcache.cpp:193
QCList * lruList
Definition: qgcache.h:92
int cost
Definition: qgcache.cpp:65
int hits
Definition: qgcache.cpp:104
QCDict * dict
Definition: qgcache.h:93
int finds
Definition: qgcache.cpp:103
QCollection::Item data
Definition: qgcache.cpp:67
int QGCache::hits ( ) const
protected

Definition at line 658 of file qgcache.cpp.

659 {
660  return lruList->hits;
661 }
QCList * lruList
Definition: qgcache.h:92
int hits
Definition: qgcache.cpp:104
bool QGCache::insert_other ( const char *  key,
QCollection::Item  data,
int  cost,
int  priority 
)
protected

Definition at line 380 of file qgcache.cpp.

382 {
383  if ( tCost + cost > mCost ) {
384  if ( !makeRoomFor(tCost + cost - mCost, priority) ) {
385 #if defined(DEBUG)
387 #endif
388  return FALSE;
389  }
390  }
391 #if defined(DEBUG)
392  ASSERT( keytype != StringKey );
393  lruList->inserts++;
394  lruList->insertCosts += cost;
395 #endif
396  if ( keytype == AsciiKey && copyk )
397  key = qstrdup( key );
398  if ( priority < -32768 )
399  priority = -32768;
400  else if ( priority > 32767 )
401  priority = 32677;
402  QCacheItem *ci = new QCacheItem( (void*)key, newItem(data), cost,
403  (short)priority );
404  CHECK_PTR( ci );
405  lruList->insert( 0, ci );
406  if ( keytype == AsciiKey )
407  dict->insert_ascii( key, ci );
408  else
409  dict->insert_int( (intptr_t)key, ci );
410  tCost += cost;
411  return TRUE;
412 }
virtual Item newItem(Item)
bool insert_int(long key, const QCacheItem *ci)
Definition: qgcache.cpp:211
void insert(QCacheItem *)
Definition: qgcache.cpp:120
KeyType keytype
Definition: qgcache.h:91
const bool FALSE
Definition: qglobal.h:370
int insertCosts
Definition: qgcache.cpp:101
bool makeRoomFor(int cost, int priority=-1)
Definition: qgcache.cpp:574
int inserts
Definition: qgcache.cpp:100
int insertMisses
Definition: qgcache.cpp:102
bool insert_ascii(const char *key, const QCacheItem *ci)
Definition: qgcache.cpp:209
QCList * lruList
Definition: qgcache.h:92
bool copyk
Definition: qgcache.h:96
def key(type, name=None)
Definition: graph.py:13
int tCost
Definition: qgcache.h:95
QCDict * dict
Definition: qgcache.h:93
#define CHECK_PTR(p)
Definition: qglobal.h:601
char * qstrdup(const char *str)
Definition: qcstring.cpp:548
int mCost
Definition: qgcache.h:94
const bool TRUE
Definition: qglobal.h:371
#define ASSERT(x)
Definition: qglobal.h:590
bool QGCache::insert_string ( const QString key,
QCollection::Item  data,
int  cost,
int  priority 
)
protected

Definition at line 348 of file qgcache.cpp.

350 {
351  if ( tCost + cost > mCost ) {
352  if ( !makeRoomFor(tCost + cost - mCost, priority) ) {
353 #if defined(DEBUG)
355 #endif
356  return FALSE;
357  }
358  }
359 #if defined(DEBUG)
360  ASSERT( keytype == StringKey );
361  lruList->inserts++;
362  lruList->insertCosts += cost;
363 #endif
364  if ( priority < -32768 )
365  priority = -32768;
366  else if ( priority > 32767 )
367  priority = 32677;
368  QCacheItem *ci = new QCacheItem( new QString(key), newItem(data),
369  cost, (short)priority );
370  CHECK_PTR( ci );
371  lruList->insert( 0, ci );
372  dict->insert_string( key, ci );
373  tCost += cost;
374  return TRUE;
375 }
bool insert_string(const QString &key, const QCacheItem *ci)
Definition: qgcache.cpp:207
virtual Item newItem(Item)
void insert(QCacheItem *)
Definition: qgcache.cpp:120
KeyType keytype
Definition: qgcache.h:91
const bool FALSE
Definition: qglobal.h:370
int insertCosts
Definition: qgcache.cpp:101
bool makeRoomFor(int cost, int priority=-1)
Definition: qgcache.cpp:574
int inserts
Definition: qgcache.cpp:100
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
int insertMisses
Definition: qgcache.cpp:102
QCList * lruList
Definition: qgcache.h:92
int tCost
Definition: qgcache.h:95
QCDict * dict
Definition: qgcache.h:93
#define CHECK_PTR(p)
Definition: qglobal.h:601
int mCost
Definition: qgcache.h:94
const bool TRUE
Definition: qglobal.h:371
#define ASSERT(x)
Definition: qglobal.h:590
bool QGCache::makeRoomFor ( int  cost,
int  priority = -1 
)
private

Definition at line 574 of file qgcache.cpp.

575 {
576  if ( cost > mCost ) // cannot make room for more
577  return FALSE; // than maximum cost
578  if ( priority == -1 )
579  priority = 32767;
580  register QCacheItem *ci = lruList->last();
581  int cntCost = 0;
582  int dumps = 0; // number of items to dump
583  while ( cntCost < cost && ci && ci->skipPriority <= priority ) {
584  cntCost += ci->cost;
585  ci = lruList->prev();
586  dumps++;
587  }
588  if ( cntCost < cost ) // can enough cost be dumped?
589  return FALSE; // no
590 #if defined(DEBUG)
591  ASSERT( dumps > 0 );
592 #endif
593  while ( dumps-- ) {
594  ci = lruList->last();
595 #if defined(DEBUG)
596  lruList->dumps++;
597  lruList->dumpCosts += ci->cost;
598 #endif
599  switch ( keytype ) {
600  case StringKey:
601  dict->remove_string( ci );
602  delete (QString*)ci->key;
603  break;
604  case AsciiKey:
605  dict->remove_ascii( ci );
606  if ( copyk )
607  delete [] (char *)ci->key;
608  break;
609  case IntKey:
610  dict->remove_int( ci );
611  break;
612  case PtrKey: // unused
613  break;
614  }
615  deleteItem( ci->data ); // delete data
616  lruList->removeLast(); // remove from list
617  }
618  tCost -= cntCost;
619  return TRUE;
620 }
bool remove_ascii(QCacheItem *item)
Definition: qgcache.cpp:216
def dumps(spectra, indent=4)
Definition: persist.py:8
KeyType keytype
Definition: qgcache.h:91
int dumps
Definition: qgcache.cpp:106
const bool FALSE
Definition: qglobal.h:370
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
bool remove_string(QCacheItem *item)
Definition: qgcache.cpp:214
QCList * lruList
Definition: qgcache.h:92
QCacheItem * prev()
Definition: qgcache.cpp:96
bool copyk
Definition: qgcache.h:96
int cost
Definition: qgcache.cpp:65
void * key
Definition: qgcache.cpp:66
bool remove_int(QCacheItem *item)
Definition: qgcache.cpp:218
int tCost
Definition: qgcache.h:95
QCDict * dict
Definition: qgcache.h:93
QCacheItem * last()
Definition: qgcache.cpp:95
int dumpCosts
Definition: qgcache.cpp:107
int mCost
Definition: qgcache.h:94
virtual void deleteItem(Item)
const bool TRUE
Definition: qglobal.h:371
#define ASSERT(x)
Definition: qglobal.h:590
bool removeLast()
Definition: qgcache.cpp:92
QCollection::Item data
Definition: qgcache.cpp:67
int QGCache::maxCost ( ) const
inlineprotected

Definition at line 68 of file qgcache.h.

68 { return mCost; }
int mCost
Definition: qgcache.h:94
int QGCache::misses ( ) const
protected

Definition at line 663 of file qgcache.cpp.

664 {
665  return lruList->finds - lruList->hits;
666 }
QCList * lruList
Definition: qgcache.h:92
int hits
Definition: qgcache.cpp:104
int finds
Definition: qgcache.cpp:103
QGCache & QGCache::operator= ( const QGCache )
protected

Definition at line 288 of file qgcache.cpp.

289 {
290 #if defined(CHECK_NULL)
291  qFatal( "QGCache::operator=: Cannot copy a cache" );
292 #endif
293  return *this; // satisfy the compiler
294 }
void qFatal(const char *msg,...)
Definition: qglobal.cpp:443
bool QGCache::remove_other ( const char *  key)
protected

Definition at line 431 of file qgcache.cpp.

432 {
433  Item d = take_other( key );
434  if ( d )
435  deleteItem( d );
436  return d != 0;
437 }
def key(type, name=None)
Definition: graph.py:13
QCollection::Item take_other(const char *key)
Definition: qgcache.cpp:466
virtual void deleteItem(Item)
void * Item
Definition: qcollection.h:60
bool QGCache::remove_string ( const QString key)
protected

Definition at line 420 of file qgcache.cpp.

421 {
422  Item d = take_string( key );
423  if ( d )
424  deleteItem( d );
425  return d != 0;
426 }
QCollection::Item take_string(const QString &key)
Definition: qgcache.cpp:445
virtual void deleteItem(Item)
void * Item
Definition: qcollection.h:60
void QGCache::setMaxCost ( int  maxCost)
protected

Definition at line 326 of file qgcache.cpp.

327 {
328  if ( maxCost < tCost ) {
329  if ( !makeRoomFor(tCost - maxCost) ) // remove excess cost
330  return;
331  }
332  mCost = maxCost;
333 }
int maxCost() const
Definition: qgcache.h:68
bool makeRoomFor(int cost, int priority=-1)
Definition: qgcache.cpp:574
int tCost
Definition: qgcache.h:95
int mCost
Definition: qgcache.h:94
uint QGCache::size ( ) const
inlineprotected

Definition at line 67 of file qgcache.h.

67 { return ((QGDict*)dict)->size(); }
The QGDict class is an internal class for implementing QDict template classes.
Definition: qgdict.h:104
QCDict * dict
Definition: qgcache.h:93
void QGCache::statistics ( ) const
protected

Definition at line 628 of file qgcache.cpp.

629 {
630 #if defined(DEBUG)
631  QString line;
632  line.fill( '*', 80 );
633  qDebug( "%s",line.ascii() );
634  qDebug( "CACHE STATISTICS:" );
635  qDebug( "cache contains %d item%s, with a total cost of %d",
636  count(), count() != 1 ? "s" : "", tCost );
637  qDebug( "maximum cost is %d, cache is %d%% full.",
638  mCost, (200*tCost + mCost) / (mCost*2) );
639  qDebug( "find() has been called %d time%s",
640  lruList->finds, lruList->finds != 1 ? "s" : "" );
641  qDebug( "%d of these were hits, items found had a total cost of %d.",
643  qDebug( "%d item%s %s been inserted with a total cost of %d.",
644  lruList->inserts,lruList->inserts != 1 ? "s" : "",
645  lruList->inserts != 1 ? "have" : "has", lruList->insertCosts );
646  qDebug( "%d item%s %s too large or had too low priority to be inserted.",
647  lruList->insertMisses, lruList->insertMisses != 1 ? "s" : "",
648  lruList->insertMisses != 1 ? "were" : "was" );
649  qDebug( "%d item%s %s been thrown away with a total cost of %d.",
650  lruList->dumps, lruList->dumps != 1 ? "s" : "",
651  lruList->dumps != 1 ? "have" : "has", lruList->dumpCosts );
652  qDebug( "Statistics from internal dictionary class:" );
653  dict->statistics();
654  qDebug( "%s",line.ascii() );
655 #endif
656 }
void qDebug(const char *msg,...)
Definition: qglobal.cpp:376
int hitCosts
Definition: qgcache.cpp:105
int dumps
Definition: qgcache.cpp:106
int insertCosts
Definition: qgcache.cpp:101
uint count() const
Definition: qgcache.h:66
int inserts
Definition: qgcache.cpp:100
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
int insertMisses
Definition: qgcache.cpp:102
QCList * lruList
Definition: qgcache.h:92
void fill(QChar c, int len=-1)
Definition: qstring.cpp:12865
const char * ascii() const
Definition: qstring.cpp:14494
void statistics()
Definition: qgcache.cpp:221
int hits
Definition: qgcache.cpp:104
int tCost
Definition: qgcache.h:95
QCDict * dict
Definition: qgcache.h:93
void line(double t, double *p, double &x, double &y, double &z)
int dumpCosts
Definition: qgcache.cpp:107
int mCost
Definition: qgcache.h:94
int finds
Definition: qgcache.cpp:103
QCollection::Item QGCache::take_other ( const char *  key)
protected

Definition at line 466 of file qgcache.cpp.

467 {
468  QCacheItem *ci;
469  if ( keytype == AsciiKey )
470  ci = dict->take_ascii( key );
471  else
472  ci = dict->take_int( (intptr_t)key );
473  Item d;
474  if ( ci ) {
475  d = ci->data;
476  tCost -= ci->cost;
477  lruList->take( ci ); // take from list
478  if ( copyk )
479  delete [] (char *)ci->key;
480  delete ci;
481  } else {
482  d = 0;
483  }
484  return d;
485 }
void take(QCacheItem *)
Definition: qgcache.cpp:147
KeyType keytype
Definition: qgcache.h:91
QCList * lruList
Definition: qgcache.h:92
bool copyk
Definition: qgcache.h:96
def key(type, name=None)
Definition: graph.py:13
int cost
Definition: qgcache.cpp:65
void * key
Definition: qgcache.cpp:66
int tCost
Definition: qgcache.h:95
QCacheItem * take_int(long key)
Definition: qgcache.cpp:204
QCDict * dict
Definition: qgcache.h:93
QCacheItem * take_ascii(const char *key)
Definition: qgcache.cpp:202
QCollection::Item data
Definition: qgcache.cpp:67
void * Item
Definition: qcollection.h:60
QCollection::Item QGCache::take_string ( const QString key)
protected

Definition at line 445 of file qgcache.cpp.

446 {
447  QCacheItem *ci = dict->take_string( key ); // take from dict
448  Item d;
449  if ( ci ) {
450  d = ci->data;
451  tCost -= ci->cost;
452  lruList->take( ci ); // take from list
453  delete (QString*)ci->key;
454  delete ci;
455  } else {
456  d = 0;
457  }
458  return d;
459 }
void take(QCacheItem *)
Definition: qgcache.cpp:147
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QCList * lruList
Definition: qgcache.h:92
int cost
Definition: qgcache.cpp:65
void * key
Definition: qgcache.cpp:66
int tCost
Definition: qgcache.h:95
QCDict * dict
Definition: qgcache.h:93
QCacheItem * take_string(const QString &key)
Definition: qgcache.cpp:200
QCollection::Item data
Definition: qgcache.cpp:67
void * Item
Definition: qcollection.h:60
int QGCache::totalCost ( ) const
inlineprotected

Definition at line 69 of file qgcache.h.

69 { return tCost; }
int tCost
Definition: qgcache.h:95

Friends And Related Function Documentation

friend class QGCacheIterator
friend

Definition at line 55 of file qgcache.h.

Member Data Documentation

bool QGCache::copyk
private

Definition at line 96 of file qgcache.h.

QCDict* QGCache::dict
private

Definition at line 93 of file qgcache.h.

KeyType QGCache::keytype
private

Definition at line 91 of file qgcache.h.

QCList* QGCache::lruList
private

Definition at line 92 of file qgcache.h.

int QGCache::mCost
private

Definition at line 94 of file qgcache.h.

int QGCache::tCost
private

Definition at line 95 of file qgcache.h.


The documentation for this class was generated from the following files: