@@ -17,6 +17,7 @@ email : sherman at mrcc.com
17
17
#define QGSFEATURE_H
18
18
19
19
#include < QMap>
20
+ #include < QMetaType>
20
21
#include < QString>
21
22
#include < QVariant>
22
23
#include < QList>
@@ -32,73 +33,13 @@ class QgsFields;
32
33
class QgsFeaturePrivate ;
33
34
34
35
// feature id class (currently 64 bit)
35
- #if 0
36
- #include <limits>
37
-
38
- class QgsFeatureId
39
- {
40
- public:
41
- QgsFeatureId( qint64 id = 0 ) : mId( id ) {}
42
- QgsFeatureId( QString str ) : mId( str.toLongLong() ) {}
43
- QgsFeatureId &operator=( const QgsFeatureId &other ) { mId = other.mId; return *this; }
44
- QgsFeatureId &operator++() { mId++; return *this; }
45
- QgsFeatureId operator++( int ) { QgsFeatureId pId = mId; ++( *this ); return pId; }
46
-
47
- bool operator==( const QgsFeatureId &id ) const { return mId == id.mId; }
48
- bool operator!=( const QgsFeatureId &id ) const { return mId != id.mId; }
49
- bool operator<( const QgsFeatureId &id ) const { return mId < id.mId; }
50
- bool operator>( const QgsFeatureId &id ) const { return mId > id.mId; }
51
- operator QString() const { return QString::number( mId ); }
52
-
53
- bool isNew() const
54
- {
55
- return mId < 0;
56
- }
57
-
58
- qint64 toLongLong() const
59
- {
60
- return mId;
61
- }
62
-
63
- private:
64
- qint64 mId;
65
-
66
- friend uint qHash( const QgsFeatureId &id );
67
- };
68
-
69
- /** Writes the feature id to stream out. QGIS version compatibility is not guaranteed. */
70
- CORE_EXPORT QDataStream& operator<<( QDataStream& out, const QgsFeatureId& featureId );
71
- /** Reads a feature id from stream in into feature id. QGIS version compatibility is not guaranteed. */
72
- CORE_EXPORT QDataStream& operator>>( QDataStream& in, QgsFeatureId& featureId );
73
-
74
- inline uint qHash( const QgsFeatureId &id )
75
- {
76
- return qHash( id.mId );
77
- }
78
-
79
- #define FID_IS_NEW(fid) (fid).isNew()
80
- #define FID_TO_NUMBER(fid) (fid).toLongLong()
81
- #define FID_TO_STRING(fid) static_cast<QString>(fid)
82
- #define STRING_TO_FID(str) QgsFeatureId(str)
83
- #endif
84
36
85
37
// 64 bit feature ids
86
- #if 1
87
38
typedef qint64 QgsFeatureId;
88
39
#define FID_IS_NEW (fid ) (fid<0 )
89
40
#define FID_TO_NUMBER (fid ) static_cast <qint64>(fid)
90
41
#define FID_TO_STRING (fid ) QString::number( fid )
91
42
#define STRING_TO_FID (str ) (str).toLongLong()
92
- #endif
93
-
94
- // 32 bit feature ids
95
- #if 0
96
- typedef int QgsFeatureId;
97
- #define FID_IS_NEW(fid) (fid<0)
98
- #define FID_TO_NUMBER(fid) static_cast<int>(fid)
99
- #define FID_TO_STRING(fid) QString::number( fid )
100
- #define STRING_TO_FID(str) (str).toLong()
101
- #endif
102
43
103
44
// key = field index, value = field value
104
45
typedef QMap<int , QVariant> QgsAttributeMap;
0 commit comments