void TestQgsFields::allAttrsList() { QgsFields fields; QgsAttributeList attrList = fields.allAttributesList(); QVERIFY( attrList.isEmpty() ); QgsField field( QString( "testfield" ) ); fields.append( field ); QgsField field2( QString( "testfield2" ) ); fields.append( field2 ); QgsField field3( QString( "testfield3" ) ); fields.append( field3 ); attrList = fields.allAttributesList(); QCOMPARE( attrList.at( 0 ), 0 ); QCOMPARE( attrList.at( 1 ), 1 ); QCOMPARE( attrList.at( 2 ), 2 ); }
QSet<int> QgsExpression::referencedAttributeIndexes( const QgsFields &fields ) const { if ( !d->mRootNode ) return QSet<int>(); const QSet<QString> referencedFields = d->mRootNode->referencedColumns(); QSet<int> referencedIndexes; for ( const QString &fieldName : referencedFields ) { if ( fieldName == QgsFeatureRequest::ALL_ATTRIBUTES ) { referencedIndexes = fields.allAttributesList().toSet(); break; } referencedIndexes << fields.lookupField( fieldName ); } return referencedIndexes; }