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