QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
Public Member Functions | Protected Member Functions | List of all members
QgsCachedFeatureWriterIterator Class Reference

Uses another iterator as backend and writes features to the cache. More...

#include <qgscachedfeatureiterator.h>

Inheritance diagram for QgsCachedFeatureWriterIterator:
Inheritance graph
[legend]

Public Member Functions

 QgsCachedFeatureWriterIterator (QgsVectorLayerCache *vlCache, const QgsFeatureRequest &featureRequest)
 This constructor creates a feature iterator, which queries the backend and caches retrieved features. More...
 
bool close () override
 Close this iterator. More...
 
bool rewind () override
 Rewind to the beginning of the iterator. More...
 
- Public Member Functions inherited from QgsAbstractFeatureIterator
 QgsAbstractFeatureIterator (const QgsFeatureRequest &request)
 base class constructor - stores the iteration parameters More...
 
virtual ~QgsAbstractFeatureIterator ()=default
 destructor makes sure that the iterator is closed properly More...
 
bool compileFailed () const
 Indicator if there was an error when sending the compiled query to the server. More...
 
CompileStatus compileStatus () const
 Returns the status of expression compilation for filter expression requests. More...
 
virtual bool isValid () const
 Returns if this iterator is valid. More...
 
virtual bool nextFeature (QgsFeature &f)
 Fetch next feature and stores in f, returns true on success. More...
 
virtual void setInterruptionChecker (QgsFeedback *interruptionChecker)
 Attach an object that can be queried regularly by the iterator to check if it must stopped. More...
 

Protected Member Functions

bool fetchFeature (QgsFeature &f) override
 Implementation for fetching a feature. More...
 
- Protected Member Functions inherited from QgsAbstractFeatureIterator
void deref ()
 Remove reference, delete if refs == 0. More...
 
QgsRectangle filterRectToSourceCrs (const QgsCoordinateTransform &transform) const
 Returns a rectangle representing the original request's QgsFeatureRequest::filterRect(). More...
 
void geometryToDestinationCrs (QgsFeature &feature, const QgsCoordinateTransform &transform) const
 Transforms feature's geometry according to the specified coordinate transform. More...
 
virtual bool nextFeatureFilterExpression (QgsFeature &f)
 By default, the iterator will fetch all features and check if the feature matches the expression. More...
 
virtual bool nextFeatureFilterFids (QgsFeature &f)
 By default, the iterator will fetch all features and check if the id is in the request. More...
 
virtual bool prepareSimplification (const QgsSimplifyMethod &simplifyMethod)
 Setup the simplification of geometries to fetch using the specified simplify method. More...
 
void ref ()
 Add reference. More...
 
RequestToSourceCrsResult updateRequestToSourceCrs (QgsFeatureRequest &request, const QgsCoordinateTransform &transform) const
 Update a QgsFeatureRequest so that spatial filters are transformed to the source's coordinate reference system. More...
 

Additional Inherited Members

- Public Types inherited from QgsAbstractFeatureIterator
enum  CompileStatus { NoCompilation , PartiallyCompiled , Compiled }
 Status of expression compilation for filter expression requests. More...
 
enum class  RequestToSourceCrsResult : int { Success , DistanceWithinMustBeCheckedManually }
 Possible results from the updateRequestToSourceCrs() method. More...
 
- Protected Attributes inherited from QgsAbstractFeatureIterator
bool mClosed = false
 Sets to true, as soon as the iterator is closed. More...
 
bool mCompileFailed = false
 
CompileStatus mCompileStatus = NoCompilation
 Status of compilation of filter expression. More...
 
long long mFetchedCount = 0
 Number of features already fetched by iterator. More...
 
QgsFeatureRequest mRequest
 A copy of the feature request. More...
 
bool mValid = true
 An invalid state of a feature iterator indicates that there was a problem with even getting it up and running. More...
 
bool mZombie = false
 A feature iterator may be closed already but still be serving features from the cache. More...
 
int refs = 0
 reference counting (to allow seamless copying of QgsFeatureIterator instances) More...
 

Detailed Description

Uses another iterator as backend and writes features to the cache.

Definition at line 103 of file qgscachedfeatureiterator.h.

Constructor & Destructor Documentation

◆ QgsCachedFeatureWriterIterator()

QgsCachedFeatureWriterIterator::QgsCachedFeatureWriterIterator ( QgsVectorLayerCache vlCache,
const QgsFeatureRequest featureRequest 
)

This constructor creates a feature iterator, which queries the backend and caches retrieved features.

Parameters
vlCacheThe vector layer cache to use
featureRequestThe feature request to answer

Definition at line 142 of file qgscachedfeatureiterator.cpp.

Member Function Documentation

◆ close()

bool QgsCachedFeatureWriterIterator::close ( )
overridevirtual

Close this iterator.

No further features will be available.

Returns
true if successful

Implements QgsAbstractFeatureIterator.

Definition at line 199 of file qgscachedfeatureiterator.cpp.

◆ fetchFeature()

bool QgsCachedFeatureWriterIterator::fetchFeature ( QgsFeature f)
overrideprotectedvirtual

Implementation for fetching a feature.

Parameters
fWill write to this feature
Returns
bool true if the operation was OK
See also
bool getFeature( QgsFeature& f )

Implements QgsAbstractFeatureIterator.

Definition at line 169 of file qgscachedfeatureiterator.cpp.

◆ rewind()

bool QgsCachedFeatureWriterIterator::rewind ( )
overridevirtual

Rewind to the beginning of the iterator.

Returns
bool true if the operation was OK

Implements QgsAbstractFeatureIterator.

Definition at line 193 of file qgscachedfeatureiterator.cpp.


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