QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
Public Member Functions | List of all members
QgsAbstractCacheIndex Class Referenceabstract

Abstract base class for cache indices. More...

#include <qgscacheindex.h>

Inheritance diagram for QgsAbstractCacheIndex:
Inheritance graph
[legend]

Public Member Functions

 QgsAbstractCacheIndex ()=default
 Constructor for QgsAbstractCacheIndex. More...
 
virtual ~QgsAbstractCacheIndex ()=default
 
virtual void flush ()=0
 Sometimes, the whole cache changes its state and its easier to just withdraw everything. More...
 
virtual void flushFeature (QgsFeatureId fid)=0
 Is called whenever a feature is removed from the cache. More...
 
virtual bool getCacheIterator (QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest)=0
 Is called when a feature request is issued on a cached layer. More...
 
virtual void requestCompleted (const QgsFeatureRequest &featureRequest, const QgsFeatureIds &fids)
 Implement this method to update the the indices, in case you need information contained by the request to properly index. More...
 

Detailed Description

Abstract base class for cache indices.

Definition at line 31 of file qgscacheindex.h.

Constructor & Destructor Documentation

◆ QgsAbstractCacheIndex()

QgsAbstractCacheIndex::QgsAbstractCacheIndex ( )
default

Constructor for QgsAbstractCacheIndex.

◆ ~QgsAbstractCacheIndex()

virtual QgsAbstractCacheIndex::~QgsAbstractCacheIndex ( )
virtualdefault

Member Function Documentation

◆ flush()

virtual void QgsAbstractCacheIndex::flush ( )
pure virtual

Sometimes, the whole cache changes its state and its easier to just withdraw everything.

In this case, this method is issued. Be sure to clear all cache information in here.

Implemented in QgsCacheIndexFeatureId.

◆ flushFeature()

virtual void QgsAbstractCacheIndex::flushFeature ( QgsFeatureId  fid)
pure virtual

Is called whenever a feature is removed from the cache.

You should update your indexes so they become invalid in case this feature was required to successfully answer a request.

Implemented in QgsCacheIndexFeatureId.

◆ getCacheIterator()

virtual bool QgsAbstractCacheIndex::getCacheIterator ( QgsFeatureIterator featureIterator,
const QgsFeatureRequest featureRequest 
)
pure virtual

Is called when a feature request is issued on a cached layer.

If this cache index is able to completely answer the feature request, it will return true and set the iterator to a valid iterator over the cached features. If it is not able it will return false.

Parameters
featureIteratorA reference to a QgsFeatureIterator. A valid featureIterator will be assigned in case this index is able to answer the request and the return value is true.
featureRequestThe feature request, for which this index is queried.
Returns
true, if this index holds the information to answer the request.

Implemented in QgsCacheIndexFeatureId.

◆ requestCompleted()

void QgsAbstractCacheIndex::requestCompleted ( const QgsFeatureRequest featureRequest,
const QgsFeatureIds fids 
)
virtual

Implement this method to update the the indices, in case you need information contained by the request to properly index.

(E.g. spatial index) Does nothing by default

Parameters
featureRequestThe feature request that was answered
fidsThe feature ids that have been returned

Reimplemented in QgsCacheIndexFeatureId.

Definition at line 19 of file qgscacheindex.cpp.


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