File: qgscachedfeatureiterator.sip

package info (click to toggle)
qgis 2.18.28%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,007,948 kB
  • sloc: cpp: 671,774; python: 158,539; xml: 35,690; ansic: 8,346; sh: 1,766; perl: 1,669; sql: 999; yacc: 836; lex: 461; makefile: 292
file content (108 lines) | stat: -rw-r--r-- 3,241 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
class QgsCachedFeatureIterator : QgsAbstractFeatureIterator
{
%TypeHeaderCode
#include <qgscachedfeatureiterator.h>
%End
  public:
    /**
     * This constructor creates a feature iterator, that delivers only cached information, based on the
     * @link QgsFeatureIds @endlink. No request is made to the backend.
     *
     * @param vlCache          The vector layer cache to use
     * @param featureRequest   The feature request to answer
     * @param featureIds       The feature ids to return
     *
     * @deprecated Use QgsCachedFeatureIterator( QgsVectorLayerCache* vlCache, QgsFeatureRequest featureRequest )
     *             instead
     */
    QgsCachedFeatureIterator( QgsVectorLayerCache* vlCache, const QgsFeatureRequest& featureRequest, const QgsFeatureIds& featureIds ) /Deprecated/;

    /**
     * This constructor creates a feature iterator, that delivers all cached features. No request is made to the backend.
     *
     * @param vlCache          The vector layer cache to use
     * @param featureRequest   The feature request to answer
     */
    QgsCachedFeatureIterator( QgsVectorLayerCache* vlCache, const QgsFeatureRequest& featureRequest );

    /**
     * Rewind to the beginning of the iterator
     *
     * @return bool true if the operation was ok
     */
    virtual bool rewind();

    /**
     * Close this iterator. No further features will be available.
     *
     * @return true if successful
     */
    virtual bool close();

    // QgsAbstractFeatureIterator interface
  protected:
    /**
     * Implementation for fetching a feature.
     *
     * @param f      Will write to this feature
     * @return bool  true if the operation was ok
     *
     * @see bool getFeature( QgsFeature& f )
     */
    virtual bool fetchFeature( QgsFeature& f );

    /**
     * We have a local special iterator for FilterFids, no need to run the generic.
     *
     * @param f      Will write to this feature
     * @return bool  true if the operation was ok
     */
    virtual bool nextFeatureFilterFids( QgsFeature& f );

};

/**
 * @brief
 * Uses another iterator as backend and writes features to the cache
 *
 */
class QgsCachedFeatureWriterIterator : QgsAbstractFeatureIterator
{
%TypeHeaderCode
#include <qgscachedfeatureiterator.h>
%End
  public:
    /**
     * This constructor creates a feature iterator, which queries the backend and caches retrieved features.
     *
     * @param vlCache          The vector layer cache to use
     * @param featureRequest   The feature request to answer
     */
    QgsCachedFeatureWriterIterator( QgsVectorLayerCache* vlCache, const QgsFeatureRequest& featureRequest );

    /**
     * Rewind to the beginning of the iterator
     *
     * @return bool true if the operation was ok
     */
    virtual bool rewind();

    /**
     * Close this iterator. No further features will be available.
     *
     * @return true if successful
     */
    virtual bool close();

  protected:

    /**
     * Implementation for fetching a feature.
     *
     * @param f      Will write to this feature
     * @return bool  true if the operation was ok
     *
     * @see bool getFeature( QgsFeature& f )
     */
    virtual bool fetchFeature( QgsFeature& f );
};