22 int QgsChunkList::trueCount()
 const 
   25   QgsChunkListEntry *entry = mHead;
 
   34 void QgsChunkList::insertEntry( QgsChunkListEntry *entry, QgsChunkListEntry *next )
 
   38     Q_ASSERT( next == 
nullptr );
 
   39     mTail = mHead = entry;
 
   44     if ( next == 
nullptr )
 
   52       entry->prev = next->prev;
 
   61 void QgsChunkList::takeEntry( QgsChunkListEntry *entry )
 
   65   if ( !entry->prev && !entry->next )
 
   68     Q_ASSERT( mHead == entry && mTail == entry );
 
   69     mHead = mTail = 
nullptr;
 
   71   else if ( !entry->prev )
 
   74     Q_ASSERT( mHead == entry );
 
   75     entry->next->prev = 
nullptr;
 
   77     entry->next = 
nullptr;
 
   79   else if ( !entry->next )
 
   82     Q_ASSERT( mTail == entry );
 
   83     entry->prev->next = 
nullptr;
 
   85     entry->prev = 
nullptr;
 
   90     entry->prev->next = entry->next;
 
   91     entry->next->prev = entry->prev;
 
   92     entry->next = 
nullptr;
 
   93     entry->prev = 
nullptr;
 
   96   Q_ASSERT( !entry->prev );
 
   97   Q_ASSERT( !entry->next );
 
  100 QgsChunkListEntry *QgsChunkList::takeFirst()
 
  102   QgsChunkListEntry *entry = mHead;
 
  107 QgsChunkListEntry *QgsChunkList::takeLast()
 
  109   QgsChunkListEntry *entry = mTail;
 
  114 void QgsChunkList::insertFirst( QgsChunkListEntry *entry )
 
  116   insertEntry( entry, mHead );
 
  119 void QgsChunkList::insertLast( QgsChunkListEntry *entry )
 
  121   insertEntry( entry, 
nullptr );
 
  124 bool QgsChunkList::isEmpty()
 const 
  126   return mHead == 
nullptr;