QGIS API Documentation  3.6.0-Noosa (5873452)
qgscacheindex.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscacheindex.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 QGSCACHEINDEX_H
17 #define QGSCACHEINDEX_H
18 
19 #include "qgis_core.h"
20 #include "qgsfeatureid.h"
21 
22 class QgsFeatureRequest;
23 class QgsFeatureIterator;
24 
31 class CORE_EXPORT QgsAbstractCacheIndex
32 {
33  public:
34 
38  QgsAbstractCacheIndex() = default;
39  virtual ~QgsAbstractCacheIndex() = default;
40 
45  virtual void flushFeature( QgsFeatureId fid ) = 0;
46 
51  virtual void flush() = 0;
52 
62  virtual void requestCompleted( const QgsFeatureRequest &featureRequest, const QgsFeatureIds &fids );
63 
78  virtual bool getCacheIterator( QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest ) = 0;
79 };
80 
81 #endif // QGSCACHEINDEX_H
Wrapper for iterator of features from vector data provider or vector layer.
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeatureid.h:34
qint64 QgsFeatureId
Definition: qgsfeatureid.h:25
This class wraps a request for features to a vector layer (or directly its vector data provider)...
Abstract base class for cache indices.
Definition: qgscacheindex.h:31