QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsAbstractFeatureIteratorFromSource< T > Class Template Reference

Helper template that cares of two things: 1. More...

#include <qgsfeatureiterator.h>

Inheritance diagram for QgsAbstractFeatureIteratorFromSource< T >:
Inheritance graph
[legend]

Public Member Functions

 QgsAbstractFeatureIteratorFromSource (T *source, bool ownSource, const QgsFeatureRequest &request)
 
 ~QgsAbstractFeatureIteratorFromSource () override
 
- Public Member Functions inherited from QgsAbstractFeatureIterator
 QgsAbstractFeatureIterator (const QgsFeatureRequest &request)
 base class constructor - stores the iteration parameters
 
virtual ~QgsAbstractFeatureIterator ()=default
 destructor makes sure that the iterator is closed properly
 
virtual bool close ()=0
 Call to end the iteration.
 
bool compileFailed () const
 Indicator if there was an error when sending the compiled query to the server.
 
CompileStatus compileStatus () const
 Returns the status of expression compilation for filter expression requests.
 
virtual bool isValid () const
 Returns if this iterator is valid.
 
virtual bool nextFeature (QgsFeature &f)
 Fetch next feature and stores in f, returns true on success.
 
virtual bool rewind ()=0
 Resets the iterator to the starting position.
 
virtual void setInterruptionChecker (QgsFeedback *interruptionChecker)
 Attach an object that can be queried regularly by the iterator to check if it must stopped.
 

Protected Member Functions

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

Protected Attributes

bool mOwnSource
 
T * mSource = nullptr
 
- Protected Attributes inherited from QgsAbstractFeatureIterator
bool mClosed = false
 Sets to true, as soon as the iterator is closed.
 
bool mCompileFailed = false
 
CompileStatus mCompileStatus = NoCompilation
 Status of compilation of filter expression.
 
long long mFetchedCount = 0
 Number of features already fetched by iterator.
 
QgsFeatureRequest mRequest
 A copy of the feature request.
 
bool mValid = true
 An invalid state of a feature iterator indicates that there was a problem with even getting it up and running.
 
bool mZombie = false
 A feature iterator may be closed already but still be serving features from the cache.
 
int refs = 0
 reference counting (to allow seamless copying of QgsFeatureIterator instances)
 

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...
 

Detailed Description

template<typename T>
class QgsAbstractFeatureIteratorFromSource< T >

Helper template that cares of two things: 1.

automatic deletion of source if owned by iterator, 2. notification of open/closed iterator.

Note
not available in Python bindings (although present in SIP file)

Definition at line 259 of file qgsfeatureiterator.h.

Constructor & Destructor Documentation

◆ QgsAbstractFeatureIteratorFromSource()

template<typename T >
QgsAbstractFeatureIteratorFromSource< T >::QgsAbstractFeatureIteratorFromSource ( T *  source,
bool  ownSource,
const QgsFeatureRequest request 
)
inline

Definition at line 262 of file qgsfeatureiterator.h.

◆ ~QgsAbstractFeatureIteratorFromSource()

template<typename T >
QgsAbstractFeatureIteratorFromSource< T >::~QgsAbstractFeatureIteratorFromSource ( )
inlineoverride

Definition at line 270 of file qgsfeatureiterator.h.

Member Function Documentation

◆ iteratorClosed()

template<typename T >
void QgsAbstractFeatureIteratorFromSource< T >::iteratorClosed ( )
inlineprotected

to be called by from subclass in close()

Definition at line 278 of file qgsfeatureiterator.h.

Member Data Documentation

◆ mOwnSource

template<typename T >
bool QgsAbstractFeatureIteratorFromSource< T >::mOwnSource
protected

Definition at line 281 of file qgsfeatureiterator.h.

◆ mSource

template<typename T >
T* QgsAbstractFeatureIteratorFromSource< T >::mSource = nullptr
protected

Definition at line 280 of file qgsfeatureiterator.h.


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