@@ -17,6 +17,7 @@ email : sherman at mrcc.com
1717#define QGSFEATURE_H
1818
1919#include < QMap>
20+ #include < QMetaType>
2021#include < QString>
2122#include < QVariant>
2223#include < QList>
@@ -32,73 +33,13 @@ class QgsFields;
3233class QgsFeaturePrivate ;
3334
3435// 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
8436
8537// 64 bit feature ids
86- #if 1
8738typedef qint64 QgsFeatureId;
8839#define FID_IS_NEW (fid ) (fid<0 )
8940#define FID_TO_NUMBER (fid ) static_cast <qint64>(fid)
9041#define FID_TO_STRING (fid ) QString::number( fid )
9142#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
10243
10344// key = field index, value = field value
10445typedef QMap<int , QVariant> QgsAttributeMap;
0 commit comments