Line data Source code
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 : 18 : //! @cond Doxygen_Suppress 19 : 20 : // For C API 21 : 22 : struct GDALExtendedDataTypeHS 23 : { 24 : std::unique_ptr<GDALExtendedDataType> m_poImpl; 25 : 26 6475 : explicit GDALExtendedDataTypeHS(GDALExtendedDataType *dt) : m_poImpl(dt) 27 : { 28 6475 : } 29 : }; 30 : 31 : struct GDALEDTComponentHS 32 : { 33 : std::unique_ptr<GDALEDTComponent> m_poImpl; 34 : 35 107 : explicit GDALEDTComponentHS(const GDALEDTComponent &component) 36 107 : : m_poImpl(new GDALEDTComponent(component)) 37 : { 38 107 : } 39 : }; 40 : 41 : struct GDALGroupHS 42 : { 43 : std::shared_ptr<GDALGroup> m_poImpl; 44 : 45 1384 : explicit GDALGroupHS(const std::shared_ptr<GDALGroup> &poGroup) 46 1384 : : m_poImpl(poGroup) 47 : { 48 1384 : } 49 : }; 50 : 51 : struct GDALMDArrayHS 52 : { 53 : std::shared_ptr<GDALMDArray> m_poImpl; 54 : 55 1960 : explicit GDALMDArrayHS(const std::shared_ptr<GDALMDArray> &poArray) 56 1960 : : m_poImpl(poArray) 57 : { 58 1960 : } 59 : }; 60 : 61 : struct GDALAttributeHS 62 : { 63 : std::shared_ptr<GDALAttribute> m_poImpl; 64 : 65 713 : explicit GDALAttributeHS(const std::shared_ptr<GDALAttribute> &poAttr) 66 713 : : m_poImpl(poAttr) 67 : { 68 713 : } 69 : }; 70 : 71 : struct GDALDimensionHS 72 : { 73 : std::shared_ptr<GDALDimension> m_poImpl; 74 : 75 4836 : explicit GDALDimensionHS(const std::shared_ptr<GDALDimension> &poDim) 76 4836 : : m_poImpl(poDim) 77 : { 78 4836 : } 79 : }; 80 : 81 : //! @endcond 82 : 83 : #endif // GDALMULTIDIM_PRIV_INCLUDED