QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsproxyfeaturesink.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsproxyfeaturesink.h
3 ----------------------
4 begin : April 2020
5 copyright : (C) 2020 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPROXYFEATURESINK_H
19#define QGSPROXYFEATURESINK_H
20
21#include "qgis_core.h"
22#include "qgis.h"
23#include "qgsfeaturesink.h"
24
25
38class CORE_EXPORT QgsProxyFeatureSink : public QgsFeatureSink
39{
40 public:
41
46 bool addFeature( QgsFeature &feature, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) override { return mSink->addFeature( feature, flags ); }
47 bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) override { return mSink->addFeatures( features, flags ); }
48 bool addFeatures( QgsFeatureIterator &iterator, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) override { return mSink->addFeatures( iterator, flags ); }
49 QString lastError() const override { return mSink->lastError(); }
50
54 QgsFeatureSink *destinationSink() { return mSink; }
55
56 private:
57
58 QgsFeatureSink *mSink = nullptr;
59};
60
61
62#endif // QGSPROXYFEATURESINK_H
63
64
65
66
Wrapper for iterator of features from vector data provider or vector layer.
An interface for objects which accept features via addFeature(s) methods.
QFlags< Flag > Flags
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition: qgsfeature.h:56
A simple feature sink which proxies feature addition on to another feature sink.
bool addFeature(QgsFeature &feature, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override
Adds a single feature to the sink.
QString lastError() const override
Returns the most recent error encountered by the sink, e.g.
QgsFeatureSink * destinationSink()
Returns the destination QgsFeatureSink which the proxy will forward features to.
bool addFeatures(QgsFeatureList &features, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override
Adds a list of features to the sink.
bool addFeatures(QgsFeatureIterator &iterator, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override
Adds all features from the specified iterator to the sink.
QList< QgsFeature > QgsFeatureList
Definition: qgsfeature.h:917