13#ifndef OGR_ATTRIND_H_INCLUDED
14#define OGR_ATTRIND_H_INCLUDED
26class CPL_DLL OGRAttrIndex
32 virtual ~OGRAttrIndex();
34 virtual GIntBig GetFirstMatch(OGRField *psKey) = 0;
35 virtual GIntBig *GetAllMatches(OGRField *psKey) = 0;
36 virtual GIntBig *GetAllMatches(OGRField *psKey,
GIntBig *panFIDList,
37 int *nFIDCount,
int *nLength) = 0;
40 virtual OGRErr RemoveEntry(OGRField *psKey,
GIntBig nFID) = 0;
42 virtual OGRErr Clear() = 0;
52class CPL_DLL OGRLayerAttrIndex
62 virtual ~OGRLayerAttrIndex();
64 virtual OGRErr Initialize(
const char *pszIndexPath, OGRLayer *) = 0;
66 virtual OGRErr CreateIndex(
int iField) = 0;
67 virtual OGRErr DropIndex(
int iField) = 0;
68 virtual OGRErr IndexAllFeatures(
int iField = -1) = 0;
70 virtual OGRErr AddToIndex(OGRFeature *poFeature,
int iField = -1) = 0;
71 virtual OGRErr RemoveFromIndex(OGRFeature *poFeature) = 0;
73 virtual OGRAttrIndex *GetFieldIndex(
int iField) = 0;
76OGRLayerAttrIndex 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:936
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:205
int OGRErr
Type for a OGR error.
Definition ogr_core.h:370
Classes related to registration of format support, and opening datasets.