GDAL
ogrlayer_private.h
1/******************************************************************************
2 *
3 * Project: OpenGIS Simple Features Reference Implementation
4 * Purpose: OGRLayer::Private struct
5 * Author: Even Rouault <even dot rouault at spatialys.com>
6 *
7 ******************************************************************************
8 * Copyright (c) 2024, Even Rouault <even dot rouault at spatialys.com>
9 *
10 * SPDX-License-Identifier: MIT
11 ****************************************************************************/
12
13#ifndef OGRLAYER_PRIVATE_H_INCLUDED
14#define OGRLAYER_PRIVATE_H_INCLUDED
15
16#include "ogrsf_frmts.h"
17
19struct OGRLayer::Private
20{
21 bool m_bInFeatureIterator = false;
22
23 // Used by CreateFieldFromArrowSchema() and WriteArrowBatch()
24 // to store the mapping between the input Arrow field name and the
25 // output OGR field name, that can be different sometimes (for example
26 // Shapefile truncating at 10 characters)
27 // This is admittedly not super clean to store that mapping at that level.
28 // We should probably have CreateFieldFromArrowSchema() and
29 // WriteArrowBatch() explicitly returning and accepting that mapping.
30 std::map<std::string, std::string> m_oMapArrowFieldNameToOGRFieldName{};
31
33 bool m_bConvertGeomsIfNecessaryAlreadyCalled = false;
34
36 bool m_bSupportsCurve = false;
37
39 bool m_bSupportsM = false;
40
42 bool m_bApplyGeomSetPrecision = false;
43};
44
46
47#endif /* OGRLAYER_PRIVATE_H_INCLUDED */
Classes related to registration of format support, and opening datasets.