QGIS API Documentation 3.41.0-Master (fda2aa46e9a)
Loading...
Searching...
No Matches
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
24
31class CORE_EXPORT QgsAbstractCacheIndex
32{
33 public:
34
36 virtual ~QgsAbstractCacheIndex() = default;
37
42 virtual void flushFeature( QgsFeatureId fid ) = 0;
43
48 virtual void flush() = 0;
49
59 virtual void requestCompleted( const QgsFeatureRequest &featureRequest, const QgsFeatureIds &fids );
60
76 virtual bool getCacheIterator( QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest ) = 0;
77};
78
79#endif // QGSCACHEINDEX_H
Abstract base class for cache indices.
virtual bool getCacheIterator(QgsFeatureIterator &featureIterator, const QgsFeatureRequest &featureRequest)=0
Is called when a feature request is issued on a cached layer.
QgsAbstractCacheIndex()=default
virtual ~QgsAbstractCacheIndex()=default
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).
QSet< QgsFeatureId > QgsFeatureIds
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features