QGIS API Documentation  3.6.0-Noosa (5873452)
Public Member Functions | Protected Member Functions | List of all members
QgsCachedFeatureIterator Class Reference

Delivers features from the cache. More...

#include <qgscachedfeatureiterator.h>

Inheritance diagram for QgsCachedFeatureIterator:
Inheritance graph
[legend]

Public Member Functions

 QgsCachedFeatureIterator (QgsVectorLayerCache *vlCache, const QgsFeatureRequest &featureRequest)
 This constructor creates a feature iterator, that delivers all cached 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, return 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...
 
bool nextFeatureFilterFids (QgsFeature &f) override
 We have a local special iterator for FilterFids, no need to run the generic. More...
 
- Protected Member Functions inherited from QgsAbstractFeatureIterator
void deref ()
 Remove reference, delete if refs == 0. More...
 
QgsRectangle filterRectToSourceCrs (const QgsCoordinateTransform &transform) const SIP_THROW(QgsCsException)
 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 prepareSimplification (const QgsSimplifyMethod &simplifyMethod)
 Setup the simplification of geometries to fetch using the specified simplify method. More...
 
void ref ()
 Add reference. More...
 

Additional Inherited Members

- Public Types inherited from QgsAbstractFeatureIterator
enum  CompileStatus { NoCompilation, PartiallyCompiled, Compiled }
 Status of expression compilation for filter expression requests. 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 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) TODO QGIS3: make this private More...
 

Detailed Description

Delivers features from the cache.

Definition at line 31 of file qgscachedfeatureiterator.h.

Constructor & Destructor Documentation

◆ QgsCachedFeatureIterator()

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

This constructor creates a feature iterator, that delivers all cached features.

No request is made to the backend.

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

Definition at line 21 of file qgscachedfeatureiterator.cpp.

Member Function Documentation

◆ close()

bool QgsCachedFeatureIterator::close ( )
overridevirtual

Close this iterator.

No further features will be available.

Returns
true if successful

Implements QgsAbstractFeatureIterator.

Definition at line 100 of file qgscachedfeatureiterator.cpp.

◆ fetchFeature()

bool QgsCachedFeatureIterator::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 66 of file qgscachedfeatureiterator.cpp.

◆ nextFeatureFilterFids()

bool QgsCachedFeatureIterator::nextFeatureFilterFids ( QgsFeature f)
inlineoverrideprotectedvirtual

We have a local special iterator for FilterFids, no need to run the generic.

Parameters
fWill write to this feature
Returns
bool true if the operation was OK

Reimplemented from QgsAbstractFeatureIterator.

Definition at line 76 of file qgscachedfeatureiterator.h.

◆ rewind()

bool QgsCachedFeatureIterator::rewind ( )
overridevirtual

Rewind to the beginning of the iterator.

Returns
bool true if the operation was OK

Implements QgsAbstractFeatureIterator.

Definition at line 94 of file qgscachedfeatureiterator.cpp.


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