GDAL
gdalmultidim_priv.h
1/******************************************************************************
2 * Name: gdalmultidim_priv.h
3 * Project: GDAL Core
4 * Purpose: GDAL private header for multidimensional support
5 * Author: Even Rouault <even.rouault at spatialys.com>
6 *
7 ******************************************************************************
8 * Copyright (c) 2023, Even Rouault <even.rouault at spatialys.com>
9 *
10 * SPDX-License-Identifier: MIT
11 ****************************************************************************/
12
13#ifndef GDALMULTIDIM_PRIV_INCLUDED
14#define GDALMULTIDIM_PRIV_INCLUDED
15
16#include "gdal_priv.h"
17
19
20// For C API
21
22struct GDALExtendedDataTypeHS
23{
24 std::unique_ptr<GDALExtendedDataType> m_poImpl;
25
26 explicit GDALExtendedDataTypeHS(GDALExtendedDataType *dt) : m_poImpl(dt)
27 {
28 }
29};
30
31struct GDALEDTComponentHS
32{
33 std::unique_ptr<GDALEDTComponent> m_poImpl;
34
35 explicit GDALEDTComponentHS(const GDALEDTComponent &component)
36 : m_poImpl(new GDALEDTComponent(component))
37 {
38 }
39};
40
41struct GDALGroupHS
42{
43 std::shared_ptr<GDALGroup> m_poImpl;
44
45 explicit GDALGroupHS(const std::shared_ptr<GDALGroup> &poGroup)
46 : m_poImpl(poGroup)
47 {
48 }
49};
50
51struct GDALMDArrayHS
52{
53 std::shared_ptr<GDALMDArray> m_poImpl;
54
55 explicit GDALMDArrayHS(const std::shared_ptr<GDALMDArray> &poArray)
56 : m_poImpl(poArray)
57 {
58 }
59};
60
61struct GDALAttributeHS
62{
63 std::shared_ptr<GDALAttribute> m_poImpl;
64
65 explicit GDALAttributeHS(const std::shared_ptr<GDALAttribute> &poAttr)
66 : m_poImpl(poAttr)
67 {
68 }
69};
70
71struct GDALDimensionHS
72{
73 std::shared_ptr<GDALDimension> m_poImpl;
74
75 explicit GDALDimensionHS(const std::shared_ptr<GDALDimension> &poDim)
76 : m_poImpl(poDim)
77 {
78 }
79};
80
82
83#endif // GDALMULTIDIM_PRIV_INCLUDED
Class for a component of a compound extended data type.
Definition: gdal_priv.h:2857
Class used to represent potentially complex data types.
Definition: gdal_priv.h:2721
C++ GDAL entry points.