30#ifndef OGR_ATTRIND_H_INCLUDED
31#define OGR_ATTRIND_H_INCLUDED
43class CPL_DLL OGRAttrIndex
49 virtual ~OGRAttrIndex();
51 virtual GIntBig GetFirstMatch( OGRField *psKey ) = 0;
52 virtual GIntBig *GetAllMatches( OGRField *psKey ) = 0;
53 virtual GIntBig *GetAllMatches( OGRField *psKey,
GIntBig* panFIDList,
int* nFIDCount,
int* nLength ) = 0;
56 virtual OGRErr RemoveEntry( OGRField *psKey,
GIntBig nFID ) = 0;
58 virtual OGRErr Clear() = 0;
68class CPL_DLL OGRLayerAttrIndex
78 virtual ~OGRLayerAttrIndex();
80 virtual OGRErr Initialize(
const char *pszIndexPath, OGRLayer * ) = 0;
82 virtual OGRErr CreateIndex(
int iField ) = 0;
83 virtual OGRErr DropIndex(
int iField ) = 0;
84 virtual OGRErr IndexAllFeatures(
int iField = -1 ) = 0;
86 virtual OGRErr AddToIndex( OGRFeature *poFeature,
int iField = -1 ) = 0;
87 virtual OGRErr RemoveFromIndex( OGRFeature *poFeature ) = 0;
89 virtual OGRAttrIndex *GetFieldIndex(
int iField ) = 0;
92OGRLayerAttrIndex CPL_DLL *OGRCreateDefaultLayerIndex();
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition cpl_port.h:955
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:244
int OGRErr
Type for a OGR error.
Definition ogr_core.h:341
Classes related to registration of format support, and opening datasets.