QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgscacheindexfeatureid.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscacheindexfeatureid.h
3  --------------------------------------
4  Date : 13.2.2013
5  Copyright : (C) 2013 Matthias Kuhn
6  Email : matthias at opengis dot ch
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSCACHEINDEXFEATUREID_H
17 #define QGSCACHEINDEXFEATUREID_H
18 
19 #include "qgis_core.h"
20 #include "qgscacheindex.h"
21 
23 
29 {
30  public:
32 
33  void flushFeature( QgsFeatureId fid ) override;
34  void flush() override;
35  void requestCompleted( const QgsFeatureRequest &featureRequest, const QgsFeatureIds &fids ) override;
36  bool getCacheIterator( QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest ) override;
37 
38  private:
39  QgsVectorLayerCache *C = nullptr;
40 };
41 
42 #endif // QGSCACHEINDEXFEATUREID_H
Abstract base class for cache indices.
Definition: qgscacheindex.h:32
virtual bool getCacheIterator(QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest)=0
Is called when a feature request is issued on a cached layer.
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 reques...
virtual void flush()=0
Sometimes, the whole cache changes its state and its easier to just withdraw everything.
virtual void flushFeature(QgsFeatureId fid)=0
Is called whenever a feature is removed from the cache.
Wrapper for iterator of features from vector data provider or vector layer.
This class wraps a request for features to a vector layer (or directly its vector data provider).
This class caches features of a given QgsVectorLayer.
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeatureid.h:37
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
Definition: qgsfeatureid.h:28