GDAL

gdal_fwd.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Project: GDAL
4 * Purpose: Forward definitions of GDAL/OGR/OSR C handle types.
5 * Author: Even Rouault <even dot rouault at spatialys.com>
6 *
7 ******************************************************************************
8 * Copyright (c) 1998, 2002 Frank Warmerdam
9 * Copyright (c) 2007-2024, Even Rouault <even dot rouault at spatialys.com>
10 *
11 * SPDX-License-Identifier: MIT
12 ****************************************************************************/
13
14#ifndef GDAL_FWD_H_INCLUDED
15#define GDAL_FWD_H_INCLUDED
16
17/* clang-format off */
18#ifdef __cplusplus
19 extern "C"
20{
21#endif
22
39 typedef void *GDALMajorObjectH;
40
42 typedef void *GDALDatasetH;
43
45 typedef void *GDALRasterBandH;
46
48 typedef void *GDALComputedRasterBandH;
49
51 typedef void *GDALDriverH;
52
54 typedef void *GDALColorTableH;
55
58 typedef void *GDALRasterAttributeTableH;
59
61 typedef void *GDALAsyncReaderH;
62
66 typedef void *GDALRelationshipH;
67
69 typedef struct GDALExtendedDataTypeHS *GDALExtendedDataTypeH;
71 typedef struct GDALEDTComponentHS *GDALEDTComponentH;
73 typedef struct GDALGroupHS *GDALGroupH;
75 typedef struct GDALMDArrayHS *GDALMDArrayH;
77 typedef struct GDALAttributeHS *GDALAttributeH;
79 typedef struct GDALDimensionHS *GDALDimensionH;
80
85 typedef struct GDALSubdatasetInfo *GDALSubdatasetInfoH;
86
91#if defined(GDAL_DEBUG)
93 typedef struct OGRGeometryHS *OGRGeometryH;
94#else
96 typedef void *OGRGeometryH;
97#endif
98
100 typedef struct OGRGeomTransformer *OGRGeomTransformerH;
101
103 typedef struct OGRGeomCoordinatePrecision *OGRGeomCoordinatePrecisionH;
104
106 typedef struct OGRwkbExportOptions OGRwkbExportOptions;
107
109 typedef struct _OGRPreparedGeometry *OGRPreparedGeometryH;
110
115#if defined(GDAL_DEBUG)
117 typedef struct OGRFieldDefnHS *OGRFieldDefnH;
119 typedef struct OGRFeatureDefnHS *OGRFeatureDefnH;
120#else
122 typedef void *OGRFieldDefnH;
124 typedef void *OGRFeatureDefnH;
125#endif
126
128 typedef struct OGRGeomFieldDefnHS *OGRGeomFieldDefnH;
129
131 typedef struct OGRFieldDomainHS *OGRFieldDomainH;
132
136#if defined(GDAL_DEBUG)
138 typedef struct OGRFeatureHS *OGRFeatureH;
139#else
141 typedef void *OGRFeatureH;
142#endif
143
148#if defined(GDAL_DEBUG)
150 typedef struct OGRLayerHS *OGRLayerH;
152 typedef struct OGRDataSourceHS *OGRDataSourceH;
154 typedef struct OGRDriverHS *OGRSFDriverH;
155#else
157 typedef void *OGRLayerH;
159 typedef void *OGRDataSourceH;
161 typedef void *OGRSFDriverH;
162#endif
163
168#if defined(GDAL_DEBUG)
170 typedef struct OGRStyleMgrHS *OGRStyleMgrH;
172 typedef struct OGRStyleTableHS *OGRStyleTableH;
174 typedef struct OGRStyleToolHS *OGRStyleToolH;
175#else
177 typedef void *OGRStyleMgrH;
179 typedef void *OGRStyleToolH;
181 typedef void *OGRStyleTableH;
182#endif
183
188#if defined(GDAL_DEBUG)
190 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
192 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
193#else
195 typedef void *OGRSpatialReferenceH;
197 typedef void *OGRCoordinateTransformationH;
198#endif
199
201 typedef struct OGRCoordinateTransformationOptions
202 *OGRCoordinateTransformationOptionsH;
203
209 typedef void *GNMNetworkH;
210
212 typedef void *GNMGenericNetworkH;
213
214#ifdef __cplusplus
215}
216#endif
217/* clang-format on */
218
219#endif // GDAL_FWD_H_INCLUDED
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition gdal_fwd.h:197
GDALDimensionH
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition gdal_fwd.h:79
GDALAttributeH
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition gdal_fwd.h:77
OGRGeometryH
void * OGRGeometryH
Opaque type for a geometry.
Definition gdal_fwd.h:96
GDALSubdatasetInfoH
struct GDALSubdatasetInfo * GDALSubdatasetInfoH
Opaque type used for the C bindings of the C++ GDALSubdatasetInfo class.
Definition gdal_fwd.h:85
GDALDatasetH
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition gdal_fwd.h:42
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition gdal_fwd.h:195
GDALEDTComponentH
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition gdal_fwd.h:71
OGRGeomCoordinatePrecisionH
struct OGRGeomCoordinatePrecision * OGRGeomCoordinatePrecisionH
Opaque type for OGRGeomCoordinatePrecision.
Definition gdal_fwd.h:103
OGRStyleMgrH
void * OGRStyleMgrH
Style manager opaque type.
Definition gdal_fwd.h:177
OGRFieldDefnH
void * OGRFieldDefnH
Opaque type for a field definition (OGRFieldDefn)
Definition gdal_fwd.h:122
OGRLayerH
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition gdal_fwd.h:157
GNMGenericNetworkH
void * GNMGenericNetworkH
Opaque type for a GNMGenericNetwork.
Definition gdal_fwd.h:212
OGRCoordinateTransformationOptionsH
struct OGRCoordinateTransformationOptions * OGRCoordinateTransformationOptionsH
Coordinate transformation options.
Definition gdal_fwd.h:201
GDALMDArrayH
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition gdal_fwd.h:75
OGRFeatureDefnH
void * OGRFeatureDefnH
Opaque type for a feature definition (OGRFeatureDefn)
Definition gdal_fwd.h:124
GDALRelationshipH
void * GDALRelationshipH
Opaque type used for the C bindings of the C++ GDALRelationship class.
Definition gdal_fwd.h:66
GDALRasterAttributeTableH
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition gdal_fwd.h:58
GDALAsyncReaderH
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition gdal_fwd.h:61
OGRStyleToolH
void * OGRStyleToolH
Style tool opaque type.
Definition gdal_fwd.h:179
GNMNetworkH
void * GNMNetworkH
Opaque type for a GNMNetwork.
Definition gdal_fwd.h:209
OGRFeatureH
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition gdal_fwd.h:141
OGRFieldDomainH
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition gdal_fwd.h:131
OGRGeomFieldDefnH
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Opaque type for a geometry field definition (OGRGeomFieldDefn)
Definition gdal_fwd.h:128
OGRGeomTransformerH
struct OGRGeomTransformer * OGRGeomTransformerH
Opaque type for a geometry transformer.
Definition gdal_fwd.h:100
GDALExtendedDataTypeH
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition gdal_fwd.h:69
GDALComputedRasterBandH
void * GDALComputedRasterBandH
Opaque type used for the C bindings of the C++ GDALComputedRasterBand class.
Definition gdal_fwd.h:48
OGRSFDriverH
void * OGRSFDriverH
Opaque type for a OGR driver (OGRSFDriver) (deprecated)
Definition gdal_fwd.h:161
GDALMajorObjectH
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition gdal_fwd.h:39
GDALGroupH
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition gdal_fwd.h:73
OGRPreparedGeometryH
struct _OGRPreparedGeometry * OGRPreparedGeometryH
Opaque type for a prepared geometry.
Definition gdal_fwd.h:109
OGRStyleTableH
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition gdal_fwd.h:181
GDALDriverH
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition gdal_fwd.h:51
OGRDataSourceH
void * OGRDataSourceH
Opaque type for a OGR datasource (OGRDataSource) (deprecated)
Definition gdal_fwd.h:159
GDALRasterBandH
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition gdal_fwd.h:45
GDALColorTableH
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition gdal_fwd.h:54
GDALSubdatasetInfo
The GDALSubdatasetInfo abstract class provides methods to extract and manipulate subdataset informati...
Definition gdalsubdatasetinfo.h:27
OGRCoordinateTransformationOptions
Context for coordinate transformation.
Definition ogr_spatialref.h:991
OGRGeomCoordinatePrecision
Geometry coordinate precision.
Definition ogr_geomcoordinateprecision.h:40
OGRwkbExportOptions
WKB export options.
Definition ogr_geometry.h:326