15#ifndef QGSVECTORLAYERFEATUREITERATOR_H 
   16#define QGSVECTORLAYERFEATUREITERATOR_H 
  162    bool rewind() 
override;
 
  165    bool close() 
override;
 
  180      QMap<int, int> attributesSourceToDestLayerMap 
SIP_SKIP;
 
  209      void addJoinedAttributesCached( 
QgsFeature &f, 
const QVariant &joinValue ) 
const;
 
  210      void addJoinedAttributesDirect( 
QgsFeature &f, 
const QVariant &joinValue ) 
const;
 
 
  213    bool isValid() 
const override;
 
  217    bool fetchFeature( 
QgsFeature &feature ) 
override;
 
  232    void prepareJoin( 
int fieldIdx ) 
SIP_SKIP;
 
  235    void prepareExpression( 
int fieldIdx ) 
SIP_SKIP;
 
  241    void prepareField( 
int fieldIdx ) 
SIP_SKIP;
 
  297    bool mHasValidTransform = false;
 
  303    double mDistanceWithin = 0;
 
  320    bool mHasVirtualAttributes;
 
  327    void createExpressionContext();
 
  328    std::unique_ptr<QgsExpressionContext> mExpressionContext;
 
  332    QList< int > mPreparedFields;
 
  333    QList< int > mFieldsToPrepare;
 
  336    QList< FetchJoinInfo > mOrderedJoinInfoList;
 
  342    bool prepareOrderBy( 
const QList<QgsFeatureRequest::OrderByClause> &orderBys ) 
override;
 
  347    void createOrderedJoinList();
 
  352    bool postProcessFeature( 
QgsFeature &feature );
 
  357    bool checkGeometryValidity( 
const QgsFeature &feature );
 
  359    bool mDelegatedOrderByToProvider = 
false;
 
 
  387    long long featureCount() 
const override;
 
  388    QString sourceName() 
const override;
 
  403    QPointer< QgsVectorLayer > mLayer;
 
 
  414    QgsVectorLayerSelectedFeatureIterator( 
const QgsFeatureIds &selectedFeatureIds,
 
  419    bool close() 
override;
 
SpatialIndexPresence
Enumeration of spatial index presence states.
 
WkbType
The WKB type describes the number of dimensions a geometry has.
 
Helper template that cares of two things: 1.
 
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.
 
Base class that can be used for any class that is capable of returning features.
 
virtual QgsFeatureIterator getFeatures(const QgsFeatureRequest &request=QgsFeatureRequest())=0
Gets an iterator for features matching the specified request.
 
Represents a coordinate reference system (CRS).
 
Abstract interface for generating an expression context scope.
 
Single scope for storing variables and functions for use within a QgsExpressionContext.
 
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
 
Buffers information about expression fields for a vector layer.
 
Handles parsing and evaluation of expressions (formerly called "search strings").
 
Wrapper for iterator of features from vector data provider or vector layer.
 
Wraps a request for features to a vector layer (or directly its vector data provider).
 
An interface for objects which provide features via a getFeatures method.
 
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.
 
Container of fields for a vector layer.
 
A geometry engine is a low-level representation of a QgsAbstractGeometry object, optimised for use wi...
 
A geometry is the spatial representation of a feature.
 
A rectangle specified with double values.
 
Contains information about how to simplify geometries fetched from a QgsFeatureIterator.
 
Stores queued vector layer edit operations prior to committing changes to the layer's data provider.
 
A feature iterator which iterates over features from a QgsVectorLayer.
 
bool nextFeatureFilterExpression(QgsFeature &f) override
Overrides default method as we only need to filter features in the edit buffer while for others filte...
 
Partial snapshot of vector layer's state (only the members necessary for access to features).
 
QgsChangedAttributesMap mChangedAttributeValues
 
QgsCoordinateReferenceSystem mCrs
 
QList< QgsField > mAddedAttributes
 
std::unique_ptr< QgsAbstractFeatureSource > mProviderFeatureSource
 
~QgsVectorLayerFeatureSource() override
 
QgsFeatureIds mDeletedFeatureIds
 
QgsAttributeList mDeletedAttributeIds
 
QgsExpressionContextScope mLayerScope
 
QgsVectorLayerFeatureSource(const QgsVectorLayerFeatureSource &other)=delete
 
std::unique_ptr< QgsVectorLayerJoinBuffer > mJoinBuffer
 
std::unique_ptr< QgsExpressionFieldBuffer > mExpressionFieldBuffer
 
QMap< QString, JoinLayerSource > mJoinSources
Contains prepared join sources by layer ID.
 
QgsFeatureMap mAddedFeatures
 
QgsVectorLayerFeatureSource & operator==(const QgsVectorLayerFeatureSource &other)=delete
 
QgsGeometryMap mChangedGeometries
 
Manages joined fields for a vector layer.
 
Defines left outer join from our vector layer to some other vector layer.
 
QgsFeatureSource subclass for the selected features from a QgsVectorLayer.
 
QgsVectorLayerSelectedFeatureSource(const QgsVectorLayerSelectedFeatureSource &other)=delete
 
QgsVectorLayerSelectedFeatureSource & operator==(const QgsVectorLayerSelectedFeatureSource &other)=delete
 
Represents a vector layer which manages a vector based dataset.
 
QMap< QgsFeatureId, QgsGeometry > QgsGeometryMap
 
QMap< QgsFeatureId, QgsAttributeMap > QgsChangedAttributesMap
 
QSet< QgsFeatureId > QgsFeatureIds
 
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
 
QList< int > QgsAttributeList
 
QMap< QgsFeatureId, QgsFeature > QgsFeatureMap
 
QMap< QgsFeatureId, QgsFeature > QgsFeatureMap
 
const QgsCoordinateReferenceSystem & crs
 
Join information prepared for fast attribute id mapping in QgsVectorLayerJoinBuffer::updateFeatureAtt...
 
std::shared_ptr< QgsVectorLayerFeatureSource > joinSource
Feature source for join.
 
QgsFields joinLayerFields
Fields from joined layer.
 
int targetField
Index of field (of this layer) that drives the join.
 
const QgsVectorLayerJoinInfo * joinInfo
Canonical source of information about the join.
 
QgsAttributeList attributes
Attributes to fetch.
 
int indexOffset
At what position the joined fields start.
 
Contains join layer source information prepared in a thread-safe way, ready for vector layer feature ...
 
std::shared_ptr< QgsVectorLayerFeatureSource > joinSource
Feature source for join.
 
QgsFields joinLayerFields
Fields from joined layer.