# gdal_fwd.h: Forward definitions of GDAL/OGR/OSR C handle types.

Forward definitions of GDAL/OGR/OSR C handle types.

Users should only rely on the type name, and not its definition, which could change in later versions.

Since

  GDAL 3.11

Typedefs

typedef void *GDALMajorObjectH

  Opaque type used for the C bindings of the C++ GDALMajorObject class.

  ## Raster related types.

typedef void *GDALDatasetH

  Opaque type used for the C bindings of the C++ GDALDataset class.

typedef void *GDALRasterBandH

  Opaque type used for the C bindings of the C++ GDALRasterBand class.

typedef void *GDALDriverH

  Opaque type used for the C bindings of the C++ GDALDriver class.

typedef void *GDALColorTableH

  Opaque type used for the C bindings of the C++ GDALColorTable class.

typedef void *GDALRasterAttributeTableH

  Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.

typedef void *GDALAsyncReaderH

  Opaque type used for the C bindings of the C++ GDALAsyncReader class.

typedef void *GDALRelationshipH

  Opaque type used for the C bindings of the C++ GDALRelationship class.

  Since

    GDAL 3.6

typedef struct GDALExtendedDataTypeHS *GDALExtendedDataTypeH

  Opaque type for C++ GDALExtendedDataType.

typedef struct GDALEDTComponentHS *GDALEDTComponentH

  Opaque type for C++ GDALEDTComponent.

typedef struct GDALGroupHS *GDALGroupH

  Opaque type for C++ GDALGroup.

typedef struct GDALMDArrayHS *GDALMDArrayH

  Opaque type for C++ GDALMDArray.

typedef struct GDALAttributeHS *GDALAttributeH

  Opaque type for C++ GDALAttribute.

typedef struct GDALDimensionHS *GDALDimensionH

  Opaque type for C++ GDALDimension.

typedef struct GDALSubdatasetInfo *GDALSubdatasetInfoH

  Opaque type used for the C bindings of the C++ GDALSubdatasetInfo class.

  Since

    GDAL 3.8

typedef void *OGRGeometryH

  Opaque type for a geometry.

  ## Geometry related types.

typedef struct OGRGeomTransformer *OGRGeomTransformerH

  Opaque type for a geometry transformer.

typedef struct OGRGeomCoordinatePrecision *OGRGeomCoordinatePrecisionH

  Opaque type for OGRGeomCoordinatePrecision.

typedef struct OGRwkbExportOptions OGRwkbExportOptions

  Opaque type for WKB export options.

typedef struct _OGRPreparedGeometry *OGRPreparedGeometryH

  Opaque type for a prepared geometry.

typedef void *OGRFieldDefnH

  Opaque type for a field definition (OGRFieldDefn)

  ## Attribute field, geometry field and layer definitions.

typedef void *OGRFeatureDefnH

  Opaque type for a feature definition (OGRFeatureDefn)

typedef struct OGRGeomFieldDefnHS *OGRGeomFieldDefnH

  Opaque type for a geometry field definition (OGRGeomFieldDefn)

typedef struct OGRFieldDomainHS *OGRFieldDomainH

  Opaque type for a field domain definition (OGRFieldDomain)

typedef void *OGRFeatureH

  Opaque type for a feature (OGRFeature)

  ## Vector feature type.

typedef void *OGRLayerH

  Opaque type for a layer (OGRLayer)

  ## Vector layer related types.

typedef void *OGRDataSourceH

  Opaque type for a OGR datasource (OGRDataSource) (deprecated)

typedef void *OGRSFDriverH

  Opaque type for a OGR driver (OGRSFDriver) (deprecated)

typedef void *OGRStyleMgrH

  Style manager opaque type.

  ## Vector styling related types.

typedef void *OGRStyleToolH

  Style tool opaque type.

typedef void *OGRStyleTableH

  Opaque type for a style table (OGRStyleTable)

typedef void *OGRSpatialReferenceH

  Opaque type for a spatial reference system.

  ## CRS and coordinate transformation related types.

typedef void *OGRCoordinateTransformationH

  Opaque type for a coordinate transformation object.

typedef struct OGRCoordinateTransformationOptions *OGRCoordinateTransformationOptionsH

  Coordinate transformation options.

typedef void *GNMNetworkH

  Opaque type for a GNMNetwork.

  ## GNM (Geography Network Models) related types.

typedef void *GNMGenericNetworkH

  Opaque type for a GNMGenericNetwork.