15#ifndef QGSFEATUREITERATOR_H 
   16#define QGSFEATUREITERATOR_H 
   96    bool compileFailed() 
const;
 
  106      DistanceWithinMustBeCheckedManually, 
 
 
  130    virtual bool nextFeatureFilterExpression( 
QgsFeature &f );
 
  143    virtual bool nextFeatureFilterFids( 
QgsFeature &f );
 
  183    bool mClosed = 
false;
 
  192    bool mZombie = 
false;
 
  207    long long mFetchedCount = 0;
 
  212    bool mCompileFailed = 
false;
 
  228    bool mUseCachedFeatures = 
false;
 
  229    QList<QgsIndexedFeature> mCachedFeatures;
 
  230    QList<QgsIndexedFeature>::ConstIterator mFeatureIterator;
 
  242    virtual bool prepareOrderBy( 
const QList<QgsFeatureRequest::OrderByClause> &orderBys );
 
  249    void setupOrderBy( 
const QList<QgsFeatureRequest::OrderByClause> &orderBys );
 
 
  267      mSource->iteratorOpened( 
this );
 
 
 
  301    auto f = std::make_unique< QgsFeature >();
 
  303    Py_BEGIN_ALLOW_THREADS
 
  304    result = ( sipCpp->nextFeature( *f ) );
 
  307      sipRes = sipConvertFromType( f.release(), sipType_QgsFeature, Py_None );
 
  310      PyErr_SetString( PyExc_StopIteration, 
"" );
 
  349    bool isValid() 
const;
 
  352    bool isClosed() 
const;
 
 
  440  return !( fi1 == fi2 );
 
 
Helper template that cares of two things: 1.
 
void iteratorClosed()
to be called by from subclass in close()
 
~QgsAbstractFeatureIteratorFromSource() override
 
QgsAbstractFeatureIteratorFromSource(T *source, bool ownSource, const QgsFeatureRequest &request)
 
Internal feature iterator to be implemented within data providers.
 
virtual bool rewind()=0
Resets the iterator to the starting position.
 
RequestToSourceCrsResult
Possible results from the updateRequestToSourceCrs() method.
 
bool mZombie
A feature iterator may be closed already but still be serving features from the cache.
 
virtual void setInterruptionChecker(QgsFeedback *interruptionChecker)
Attach an object that can be queried regularly by the iterator to check if it must stopped.
 
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.
 
long long mFetchedCount
Number of features already fetched by iterator.
 
CompileStatus
Status of expression compilation for filter expression requests.
 
@ PartiallyCompiled
Expression was partially compiled, but extra checks need to be applied to features.
 
@ Compiled
Expression was fully compiled and delegated to data provider source.
 
@ NoCompilation
Expression could not be compiled or not attempt was made to compile expression.
 
void deref()
Remove reference, delete if refs == 0.
 
virtual ~QgsAbstractFeatureIterator()=default
destructor makes sure that the iterator is closed properly
 
QgsFeatureRequest mRequest
A copy of the feature request.
 
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.
 
bool mClosed
Sets to true, as soon as the iterator is closed.
 
Custom exception class for Coordinate Reference System related exceptions.
 
Wrapper for iterator of features from vector data provider or vector layer.
 
bool nextFeature(QgsFeature &f)
Fetch next feature and stores in f, returns true on success.
 
~QgsFeatureIterator()
Destructor deletes the iterator if it has no more references.
 
QgsAbstractFeatureIterator * mIter
 
bool isClosed() const
find out whether the iterator is still valid or closed already
 
void setInterruptionChecker(QgsFeedback *interruptionChecker)
Attach an object that can be queried regularly by the iterator to check if it must stopped.
 
bool compileFailed() const
Indicator if there was an error when sending the compiled query to the server.
 
bool close()
Call to end the iteration.
 
QgsFeatureIterator()=default
Construct invalid iterator.
 
bool rewind()
Resets the iterator to the starting position.
 
QgsAbstractFeatureIterator::CompileStatus compileStatus() const
Returns the status of expression compilation for filter expression requests.
 
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...
 
Base class for feedback objects to be used for cancellation of something running in a worker thread.
 
A rectangle specified with double values.
 
Contains information about how to simplify geometries fetched from a QgsFeatureIterator.
 
#define SIP_TYPEHINT(type)
 
#define SIP_THROW(name,...)
 
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
 
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)