16#ifndef QGSCACHEDFEATUREITERATOR_H
17#define QGSCACHEDFEATUREITERATOR_H
60 bool close()
override;
86 QList< QgsFeatureId > mFeatureIds;
87 QPointer< QgsVectorLayerCache > mVectorLayerCache =
nullptr;
88 QList< QgsFeatureId >::ConstIterator mFeatureIdIterator;
93 std::unique_ptr< QgsGeometryEngine > mDistanceWithinEngine;
94 double mDistanceWithin = 0;
127 bool close()
override;
141 QPointer< QgsVectorLayerCache > mVectorLayerCache;
Internal feature iterator to be implemented within data providers.
virtual bool rewind()=0
Resets the iterator to the starting position.
virtual bool fetchFeature(QgsFeature &f)=0
If you write a feature iterator for your provider, this is the method you need to implement!...
virtual bool close()=0
Call to end the iteration.
Delivers features from the cache.
~QgsCachedFeatureIterator() override
bool nextFeatureFilterFids(QgsFeature &f) override
We have a local special iterator for FilterFids, no need to run the generic.
Uses another iterator as backend and writes features to 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).
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
A geometry is the spatial representation of a feature.
A rectangle specified with double values.
This class caches features of a given QgsVectorLayer.
QSet< QgsFeatureId > QgsFeatureIds