\hypertarget{crs_8hpp_source}{}\doxysection{crs.\+hpp}
\label{crs_8hpp_source}\index{include/proj/crs.hpp@{include/proj/crs.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/******************************************************************************}}
\DoxyCodeLine{2 \textcolor{comment}{ *}}
\DoxyCodeLine{3 \textcolor{comment}{ * Project:  PROJ}}
\DoxyCodeLine{4 \textcolor{comment}{ * Purpose:  ISO19111:2019 implementation}}
\DoxyCodeLine{5 \textcolor{comment}{ * Author:   Even Rouault <even dot rouault at spatialys dot com>}}
\DoxyCodeLine{6 \textcolor{comment}{ *}}
\DoxyCodeLine{7 \textcolor{comment}{ ******************************************************************************}}
\DoxyCodeLine{8 \textcolor{comment}{ * Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot com>}}
\DoxyCodeLine{9 \textcolor{comment}{ *}}
\DoxyCodeLine{10 \textcolor{comment}{ * Permission is hereby granted, free of charge, to any person obtaining a}}
\DoxyCodeLine{11 \textcolor{comment}{ * copy of this software and associated documentation files (the "{}Software"{}),}}
\DoxyCodeLine{12 \textcolor{comment}{ * to deal in the Software without restriction, including without limitation}}
\DoxyCodeLine{13 \textcolor{comment}{ * the rights to use, copy, modify, merge, publish, distribute, sublicense,}}
\DoxyCodeLine{14 \textcolor{comment}{ * and/or sell copies of the Software, and to permit persons to whom the}}
\DoxyCodeLine{15 \textcolor{comment}{ * Software is furnished to do so, subject to the following conditions:}}
\DoxyCodeLine{16 \textcolor{comment}{ *}}
\DoxyCodeLine{17 \textcolor{comment}{ * The above copyright notice and this permission notice shall be included}}
\DoxyCodeLine{18 \textcolor{comment}{ * in all copies or substantial portions of the Software.}}
\DoxyCodeLine{19 \textcolor{comment}{ *}}
\DoxyCodeLine{20 \textcolor{comment}{ * THE SOFTWARE IS PROVIDED "{}AS IS"{}, WITHOUT WARRANTY OF ANY KIND, EXPRESS}}
\DoxyCodeLine{21 \textcolor{comment}{ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,}}
\DoxyCodeLine{22 \textcolor{comment}{ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL}}
\DoxyCodeLine{23 \textcolor{comment}{ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER}}
\DoxyCodeLine{24 \textcolor{comment}{ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING}}
\DoxyCodeLine{25 \textcolor{comment}{ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER}}
\DoxyCodeLine{26 \textcolor{comment}{ * DEALINGS IN THE SOFTWARE.}}
\DoxyCodeLine{27 \textcolor{comment}{ ****************************************************************************/}}
\DoxyCodeLine{28 }
\DoxyCodeLine{29 \textcolor{preprocessor}{\#ifndef CRS\_HH\_INCLUDED}}
\DoxyCodeLine{30 \textcolor{preprocessor}{\#define CRS\_HH\_INCLUDED}}
\DoxyCodeLine{31 }
\DoxyCodeLine{32 \textcolor{preprocessor}{\#include <memory>}}
\DoxyCodeLine{33 \textcolor{preprocessor}{\#include <string>}}
\DoxyCodeLine{34 \textcolor{preprocessor}{\#include <vector>}}
\DoxyCodeLine{35 }
\DoxyCodeLine{36 \textcolor{preprocessor}{\#include "{}common.hpp"{}}}
\DoxyCodeLine{37 \textcolor{preprocessor}{\#include "{}coordinateoperation.hpp"{}}}
\DoxyCodeLine{38 \textcolor{preprocessor}{\#include "{}coordinatesystem.hpp"{}}}
\DoxyCodeLine{39 \textcolor{preprocessor}{\#include "{}datum.hpp"{}}}
\DoxyCodeLine{40 \textcolor{preprocessor}{\#include "{}io.hpp"{}}}
\DoxyCodeLine{41 \textcolor{preprocessor}{\#include "{}util.hpp"{}}}
\DoxyCodeLine{42 }
\DoxyCodeLine{43 NS\_PROJ\_START}
\DoxyCodeLine{44 }
\DoxyCodeLine{49 \textcolor{keyword}{namespace }crs \{}
\DoxyCodeLine{50 }
\DoxyCodeLine{51 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{52 }
\DoxyCodeLine{53 \textcolor{keyword}{class }GeographicCRS;}
\DoxyCodeLine{55 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ae1cebff55fa4231577625e1dc8fdb10b}{GeographicCRSPtr}} = std::shared\_ptr<GeographicCRS>;}
\DoxyCodeLine{57 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} = util::nn<GeographicCRSPtr>;}
\DoxyCodeLine{58 }
\DoxyCodeLine{59 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}};}
\DoxyCodeLine{61 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a6cf5e186b7927fd6b7f3f346091eb362}{VerticalCRSPtr}} = std::shared\_ptr<VerticalCRS>;}
\DoxyCodeLine{63 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{VerticalCRSNNPtr}} = util::nn<VerticalCRSPtr>;}
\DoxyCodeLine{64 }
\DoxyCodeLine{65 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}};}
\DoxyCodeLine{67 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a1a3d2b09b4f7fb118fb3575ea319cf78}{BoundCRSPtr}} = std::shared\_ptr<BoundCRS>;}
\DoxyCodeLine{69 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af13406ba91fd5d419ced05cbd3c5c918}{BoundCRSNNPtr}} = util::nn<BoundCRSPtr>;}
\DoxyCodeLine{70 }
\DoxyCodeLine{71 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{CompoundCRS}};}
\DoxyCodeLine{73 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a944c25ceaa0f92b4b34d269b8d74f497}{CompoundCRSPtr}} = std::shared\_ptr<CompoundCRS>;}
\DoxyCodeLine{75 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a5a4f97e589c9601364645cb31b90447e}{CompoundCRSNNPtr}} = util::nn<CompoundCRSPtr>;}
\DoxyCodeLine{76 }
\DoxyCodeLine{77 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{78 }
\DoxyCodeLine{79 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}};}
\DoxyCodeLine{81 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a10d8b8fa97907a6780310213ce72d744}{CRSPtr}} = std::shared\_ptr<CRS>;}
\DoxyCodeLine{83 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} = util::nn<CRSPtr>;}
\DoxyCodeLine{84 }
\DoxyCodeLine{90 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1ObjectUsage}{common::ObjectUsage}},}
\DoxyCodeLine{91                          \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IJSONExportable}{io::IJSONExportable}} \{}
\DoxyCodeLine{92   \textcolor{keyword}{public}:}
\DoxyCodeLine{94     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{\string~CRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{96 }
\DoxyCodeLine{97     \textcolor{comment}{// Non-\/standard}}
\DoxyCodeLine{98 }
\DoxyCodeLine{99     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aa9e4993f471ac0472848bdd65299da80}{GeodeticCRSPtr}} extractGeodeticCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{100     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ae1cebff55fa4231577625e1dc8fdb10b}{GeographicCRSPtr}} extractGeographicCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{101     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a6cf5e186b7927fd6b7f3f346091eb362}{VerticalCRSPtr}} extractVerticalCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{102     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} createBoundCRSToWGS84IfPossible(}
\DoxyCodeLine{103         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext,}
\DoxyCodeLine{104         \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1CoordinateOperationContext_ad2d059465e058f6001288334b814e406}{operation::CoordinateOperationContext::IntermediateCRSUse}}}
\DoxyCodeLine{105             allowIntermediateCRSUse) \textcolor{keyword}{const};}
\DoxyCodeLine{106     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} stripVerticalComponent() \textcolor{keyword}{const};}
\DoxyCodeLine{107 }
\DoxyCodeLine{108     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a1a3d2b09b4f7fb118fb3575ea319cf78}{BoundCRSPtr}} \&canonicalBoundCRS() PROJ\_PURE\_DECL;}
\DoxyCodeLine{109 }
\DoxyCodeLine{110     PROJ\_DLL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{111     identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const};}
\DoxyCodeLine{112 }
\DoxyCodeLine{113     PROJ\_DLL std::list<CRSNNPtr>}
\DoxyCodeLine{114     getNonDeprecated(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a776e066c227b9607a8c8e9e356bb9c40}{io::DatabaseContextNNPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{115 }
\DoxyCodeLine{116     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}}}
\DoxyCodeLine{117     promoteTo3D(\textcolor{keyword}{const} std::string \&newName,}
\DoxyCodeLine{118                 \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{119 }
\DoxyCodeLine{120     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} demoteTo2D(\textcolor{keyword}{const} std::string \&newName,}
\DoxyCodeLine{121                                  \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{122 }
\DoxyCodeLine{123     PROJ\_PRIVATE :}
\DoxyCodeLine{125         PROJ\_INTERNAL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}} *}
\DoxyCodeLine{126         extractGeodeticCRSRaw() \textcolor{keyword}{const};}
\DoxyCodeLine{127 }
\DoxyCodeLine{128     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} shallowClone() \textcolor{keyword}{const};}
\DoxyCodeLine{129 }
\DoxyCodeLine{130     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} alterName(\textcolor{keyword}{const} std::string \&newName) \textcolor{keyword}{const};}
\DoxyCodeLine{131 }
\DoxyCodeLine{132     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} alterId(\textcolor{keyword}{const} std::string \&authName,}
\DoxyCodeLine{133                                    \textcolor{keyword}{const} std::string \&code) \textcolor{keyword}{const};}
\DoxyCodeLine{134 }
\DoxyCodeLine{135     PROJ\_INTERNAL \textcolor{keyword}{const} std::string \&getExtensionProj4() \textcolor{keyword}{const} \textcolor{keyword}{noexcept};}
\DoxyCodeLine{136 }
\DoxyCodeLine{137     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}}}
\DoxyCodeLine{138     alterGeodeticCRS(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&newGeodCRS) \textcolor{keyword}{const};}
\DoxyCodeLine{139 }
\DoxyCodeLine{140     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}}}
\DoxyCodeLine{141     alterCSLinearUnit(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1UnitOfMeasure}{common::UnitOfMeasure}} \&unit) \textcolor{keyword}{const};}
\DoxyCodeLine{142 }
\DoxyCodeLine{143     PROJ\_INTERNAL \textcolor{keywordtype}{bool} mustAxisOrderBeSwitchedForVisualization() \textcolor{keyword}{const};}
\DoxyCodeLine{144 }
\DoxyCodeLine{145     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} applyAxisOrderReversal(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *nameSuffix) \textcolor{keyword}{const};}
\DoxyCodeLine{146 }
\DoxyCodeLine{147     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} normalizeForVisualization() \textcolor{keyword}{const};}
\DoxyCodeLine{148 }
\DoxyCodeLine{149     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} allowNonConformantWKT1Export() \textcolor{keyword}{const};}
\DoxyCodeLine{150 }
\DoxyCodeLine{151     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}}}
\DoxyCodeLine{152     attachOriginalCompoundCRS(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a5a4f97e589c9601364645cb31b90447e}{CompoundCRSNNPtr}} \&compoundCRS) \textcolor{keyword}{const};}
\DoxyCodeLine{153 }
\DoxyCodeLine{154     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} promoteTo3D(}
\DoxyCodeLine{155         \textcolor{keyword}{const} std::string \&newName, \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext,}
\DoxyCodeLine{156         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a4396703d26406bc3776aa97e4684347c}{cs::CoordinateSystemAxisNNPtr}} \&verticalAxisIfNotAlreadyPresent)}
\DoxyCodeLine{157         \textcolor{keyword}{const};}
\DoxyCodeLine{158 }
\DoxyCodeLine{159     PROJ\_INTERNAL \textcolor{keywordtype}{bool} hasImplicitCS() \textcolor{keyword}{const};}
\DoxyCodeLine{160 }
\DoxyCodeLine{161     PROJ\_INTERNAL \textcolor{keywordtype}{bool} hasOver() \textcolor{keyword}{const};}
\DoxyCodeLine{162 }
\DoxyCodeLine{163     PROJ\_INTERNAL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}}}
\DoxyCodeLine{164     getResolvedCRS(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&crs,}
\DoxyCodeLine{165                    \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authFactory,}
\DoxyCodeLine{166                    \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_a0d6b619c883f52d0e1f2b112c6f4dc96}{metadata::ExtentPtr}} \&extentOut);}
\DoxyCodeLine{168 }
\DoxyCodeLine{169   \textcolor{keyword}{protected}:}
\DoxyCodeLine{170     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}();}
\DoxyCodeLine{171     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} \&other);}
\DoxyCodeLine{172     \textcolor{keyword}{friend} \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}};}
\DoxyCodeLine{173     PROJ\_INTERNAL \textcolor{keywordtype}{void} setCanonicalBoundCRS(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af13406ba91fd5d419ced05cbd3c5c918}{BoundCRSNNPtr}} \&boundCRS);}
\DoxyCodeLine{174 }
\DoxyCodeLine{175     PROJ\_INTERNAL \textcolor{keyword}{virtual} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const} = 0;}
\DoxyCodeLine{176 }
\DoxyCodeLine{177     PROJ\_INTERNAL \textcolor{keyword}{virtual} std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{178     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const};}
\DoxyCodeLine{179 }
\DoxyCodeLine{180     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{181     setProperties(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}}}
\DoxyCodeLine{182                       \&properties); \textcolor{comment}{// throw(InvalidValueTypeException)}}
\DoxyCodeLine{183 }
\DoxyCodeLine{184   \textcolor{keyword}{private}:}
\DoxyCodeLine{185     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{186 \};}
\DoxyCodeLine{187 }
\DoxyCodeLine{188 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{189 }
\DoxyCodeLine{196 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} \{}
\DoxyCodeLine{197   \textcolor{keyword}{public}:}
\DoxyCodeLine{199     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{\string~SingleCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{201 }
\DoxyCodeLine{202     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_adf54658cbf9b523ac59e3851b197bdda}{datum::DatumPtr}} \&datum() PROJ\_PURE\_DECL;}
\DoxyCodeLine{203     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsemble() PROJ\_PURE\_DECL;}
\DoxyCodeLine{204     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aad7f9f4fbc0234c98f447c74037c50b4}{cs::CoordinateSystemNNPtr}} \&coordinateSystem() PROJ\_PURE\_DECL;}
\DoxyCodeLine{205 }
\DoxyCodeLine{206     PROJ\_PRIVATE :}
\DoxyCodeLine{208         PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{209         exportDatumOrDatumEnsembleToWkt(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{210             \textcolor{keyword}{const}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{211 }
\DoxyCodeLine{212     PROJ\_INTERNAL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af9a3371a86865700c9d617743f7f1932}{datum::DatumNNPtr}}}
\DoxyCodeLine{213     datumNonNull(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{215 }
\DoxyCodeLine{216   \textcolor{keyword}{protected}:}
\DoxyCodeLine{217     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_adf54658cbf9b523ac59e3851b197bdda}{datum::DatumPtr}} \&datumIn,}
\DoxyCodeLine{218                             \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsembleIn,}
\DoxyCodeLine{219                             \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aad7f9f4fbc0234c98f447c74037c50b4}{cs::CoordinateSystemNNPtr}} \&csIn);}
\DoxyCodeLine{220     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} \&other);}
\DoxyCodeLine{221 }
\DoxyCodeLine{222     PROJ\_INTERNAL \textcolor{keywordtype}{bool}}
\DoxyCodeLine{223     baseIsEquivalentTo(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{224                        \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{225                            util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{226                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const};}
\DoxyCodeLine{227 }
\DoxyCodeLine{228   \textcolor{keyword}{private}:}
\DoxyCodeLine{229     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{230     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{231 \};}
\DoxyCodeLine{232 }
\DoxyCodeLine{234 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a3e39f24aa72878af3386c2b0b312a14d}{SingleCRSPtr}} = std::shared\_ptr<SingleCRS>;}
\DoxyCodeLine{236 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_accef32df73f4e9617ba70a59e3e24991}{SingleCRSNNPtr}} = util::nn<SingleCRSPtr>;}
\DoxyCodeLine{237 }
\DoxyCodeLine{238 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{239 }
\DoxyCodeLine{240 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}};}
\DoxyCodeLine{242 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aa9e4993f471ac0472848bdd65299da80}{GeodeticCRSPtr}} = std::shared\_ptr<GeodeticCRS>;}
\DoxyCodeLine{244 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} = util::nn<GeodeticCRSPtr>;}
\DoxyCodeLine{245 }
\DoxyCodeLine{255 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}} : \textcolor{keyword}{virtual} \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}},}
\DoxyCodeLine{256                                  \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{io::IPROJStringExportable}} \{}
\DoxyCodeLine{257   \textcolor{keyword}{public}:}
\DoxyCodeLine{259     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{\string~GeodeticCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{261 }
\DoxyCodeLine{262     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{datum::GeodeticReferenceFramePtr}} \&datum() PROJ\_PURE\_DECL;}
\DoxyCodeLine{263 }
\DoxyCodeLine{264     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{datum::PrimeMeridianNNPtr}} \&primeMeridian() PROJ\_PURE\_DECL;}
\DoxyCodeLine{265     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{datum::EllipsoidNNPtr}} \&ellipsoid() PROJ\_PURE\_DECL;}
\DoxyCodeLine{266 }
\DoxyCodeLine{267     \textcolor{comment}{// coordinateSystem() returns either a EllipsoidalCS, SphericalCS or}}
\DoxyCodeLine{268     \textcolor{comment}{// CartesianCS}}
\DoxyCodeLine{269 }
\DoxyCodeLine{270     PROJ\_DLL \textcolor{keyword}{const} std::vector<operation::PointMotionOperationNNPtr> \&}
\DoxyCodeLine{271     velocityModel() PROJ\_PURE\_DECL;}
\DoxyCodeLine{272 }
\DoxyCodeLine{273     \textcolor{comment}{// Non-\/standard}}
\DoxyCodeLine{274 }
\DoxyCodeLine{275     PROJ\_DLL \textcolor{keywordtype}{bool} isGeocentric() PROJ\_PURE\_DECL;}
\DoxyCodeLine{276 }
\DoxyCodeLine{277     PROJ\_DLL \textcolor{keywordtype}{bool} isSphericalPlanetocentric() PROJ\_PURE\_DECL;}
\DoxyCodeLine{278 }
\DoxyCodeLine{279     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}}}
\DoxyCodeLine{280     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{281            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{datum::GeodeticReferenceFrameNNPtr}} \&datum,}
\DoxyCodeLine{282            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a906ab1ea1154a2754ff01ac210a7d4ca}{cs::SphericalCSNNPtr}} \&cs);}
\DoxyCodeLine{283 }
\DoxyCodeLine{284     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}}}
\DoxyCodeLine{285     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{286            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{datum::GeodeticReferenceFrameNNPtr}} \&datum,}
\DoxyCodeLine{287            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&cs);}
\DoxyCodeLine{288 }
\DoxyCodeLine{289     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}}}
\DoxyCodeLine{290     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{291            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{datum::GeodeticReferenceFramePtr}} \&datum,}
\DoxyCodeLine{292            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsemble,}
\DoxyCodeLine{293            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a906ab1ea1154a2754ff01ac210a7d4ca}{cs::SphericalCSNNPtr}} \&cs);}
\DoxyCodeLine{294 }
\DoxyCodeLine{295     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}}}
\DoxyCodeLine{296     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{297            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{datum::GeodeticReferenceFramePtr}} \&datum,}
\DoxyCodeLine{298            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsemble,}
\DoxyCodeLine{299            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&cs);}
\DoxyCodeLine{300 }
\DoxyCodeLine{301     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS_a5c97e83c2af39d2fea49c9f45d370ab4}{EPSG\_4978}}; \textcolor{comment}{// WGS 84 Geocentric}}
\DoxyCodeLine{302 }
\DoxyCodeLine{303     PROJ\_DLL std::list<std::pair<GeodeticCRSNNPtr, int>>}
\DoxyCodeLine{304     identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const};}
\DoxyCodeLine{305 }
\DoxyCodeLine{306     PROJ\_PRIVATE :}
\DoxyCodeLine{308         PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{309         addDatumInfoToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter) \textcolor{keyword}{const};}
\DoxyCodeLine{310 }
\DoxyCodeLine{311     PROJ\_INTERNAL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{datum::GeodeticReferenceFrameNNPtr}}}
\DoxyCodeLine{312     datumNonNull(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{313 }
\DoxyCodeLine{314     PROJ\_INTERNAL \textcolor{keywordtype}{void} addGeocentricUnitConversionIntoPROJString(}
\DoxyCodeLine{315         \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter) \textcolor{keyword}{const};}
\DoxyCodeLine{316 }
\DoxyCodeLine{317     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{318     addAngularUnitConvertAndAxisSwap(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter) \textcolor{keyword}{const};}
\DoxyCodeLine{319 }
\DoxyCodeLine{320     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{321         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{322 }
\DoxyCodeLine{323     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{324         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{325 }
\DoxyCodeLine{326     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{327         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{328 }
\DoxyCodeLine{329     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{330         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{331         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{332             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{333         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{334 }
\DoxyCodeLine{336 }
\DoxyCodeLine{337   \textcolor{keyword}{protected}:}
\DoxyCodeLine{338     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{datum::GeodeticReferenceFramePtr}} \&datumIn,}
\DoxyCodeLine{339                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsembleIn,}
\DoxyCodeLine{340                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_ad9c68dff3a80ae63cc059ce6f314efad}{cs::EllipsoidalCSNNPtr}} \&csIn);}
\DoxyCodeLine{341     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{datum::GeodeticReferenceFramePtr}} \&datumIn,}
\DoxyCodeLine{342                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsembleIn,}
\DoxyCodeLine{343                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a906ab1ea1154a2754ff01ac210a7d4ca}{cs::SphericalCSNNPtr}} \&csIn);}
\DoxyCodeLine{344     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{datum::GeodeticReferenceFramePtr}} \&datumIn,}
\DoxyCodeLine{345                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsembleIn,}
\DoxyCodeLine{346                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&csIn);}
\DoxyCodeLine{347     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}} \&other);}
\DoxyCodeLine{348 }
\DoxyCodeLine{349     PROJ\_INTERNAL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} createEPSG\_4978();}
\DoxyCodeLine{350 }
\DoxyCodeLine{351     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{352 }
\DoxyCodeLine{353     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSONInternal(}
\DoxyCodeLine{354         \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter,}
\DoxyCodeLine{355         \textcolor{keyword}{const} \textcolor{keywordtype}{char} *objectName) \textcolor{keyword}{const}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{356 }
\DoxyCodeLine{357     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{358     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{359 }
\DoxyCodeLine{360     PROJ\_INTERNAL \textcolor{keywordtype}{bool}}
\DoxyCodeLine{361     \_isEquivalentToNoTypeCheck(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{362                                \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion,}
\DoxyCodeLine{363                                \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{364 }
\DoxyCodeLine{365     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{366 }
\DoxyCodeLine{367   \textcolor{keyword}{private}:}
\DoxyCodeLine{368     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{369 }
\DoxyCodeLine{370     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{371 \};}
\DoxyCodeLine{372 }
\DoxyCodeLine{373 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{374 }
\DoxyCodeLine{384 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{GeographicCRS}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}} \{}
\DoxyCodeLine{385   \textcolor{keyword}{public}:}
\DoxyCodeLine{387     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{\string~GeographicCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{389 }
\DoxyCodeLine{390     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_ad9c68dff3a80ae63cc059ce6f314efad}{cs::EllipsoidalCSNNPtr}} \&coordinateSystem() PROJ\_PURE\_DECL;}
\DoxyCodeLine{391 }
\DoxyCodeLine{392     \textcolor{comment}{// Non-\/standard}}
\DoxyCodeLine{393     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}}}
\DoxyCodeLine{394     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{395            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{datum::GeodeticReferenceFrameNNPtr}} \&datum,}
\DoxyCodeLine{396            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_ad9c68dff3a80ae63cc059ce6f314efad}{cs::EllipsoidalCSNNPtr}} \&cs);}
\DoxyCodeLine{397     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}}}
\DoxyCodeLine{398     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{399            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{datum::GeodeticReferenceFramePtr}} \&datum,}
\DoxyCodeLine{400            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsemble,}
\DoxyCodeLine{401            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_ad9c68dff3a80ae63cc059ce6f314efad}{cs::EllipsoidalCSNNPtr}} \&cs);}
\DoxyCodeLine{402 }
\DoxyCodeLine{403     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}}}
\DoxyCodeLine{404     demoteTo2D(\textcolor{keyword}{const} std::string \&newName,}
\DoxyCodeLine{405                \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{406 }
\DoxyCodeLine{407     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS_a049966d734629a8bd4e776cb93408312}{EPSG\_4267}}; \textcolor{comment}{// NAD27}}
\DoxyCodeLine{408     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS_a13302344e6a8a8472e039959cf972288}{EPSG\_4269}}; \textcolor{comment}{// NAD83}}
\DoxyCodeLine{409     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS_abff4b412d50bd19a767eb44d04aac37a}{EPSG\_4326}}; \textcolor{comment}{// WGS 84 2D}}
\DoxyCodeLine{410     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS_ae7cc7b004c24ef3946e76d9c9a5d1748}{OGC\_CRS84}}; \textcolor{comment}{// CRS84 (Long, Lat)}}
\DoxyCodeLine{411     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS_a6a2e0c2f5c1bdc09f228456fe227d283}{EPSG\_4807}}; \textcolor{comment}{// NTF Paris}}
\DoxyCodeLine{412     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS_a8ee1d479de2533e0fb989c93c2322830}{EPSG\_4979}}; \textcolor{comment}{// WGS 84 3D}}
\DoxyCodeLine{413 }
\DoxyCodeLine{414     PROJ\_PRIVATE :}
\DoxyCodeLine{416 }
\DoxyCodeLine{417         PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{418         \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{419             \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{420 }
\DoxyCodeLine{421     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{422         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{423 }
\DoxyCodeLine{424     PROJ\_DLL \textcolor{keywordtype}{bool} is2DPartOf3D(}
\DoxyCodeLine{425         util::nn<const GeographicCRS *> other,}
\DoxyCodeLine{426         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) PROJ\_PURE\_DECL;}
\DoxyCodeLine{427 }
\DoxyCodeLine{428     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{429         const util::IComparable *other,}
\DoxyCodeLine{430         util::IComparable::\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{Criterion}} criterion =}
\DoxyCodeLine{431             util::IComparable::\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{Criterion}}::STRICT,}
\DoxyCodeLine{432         const io::DatabaseContextPtr \&dbContext = \textcolor{keywordtype}{nullptr}) const override;}
\DoxyCodeLine{433 }
\DoxyCodeLine{435 }
\DoxyCodeLine{436   protected:}
\DoxyCodeLine{437     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{GeographicCRS}}(const datum::GeodeticReferenceFramePtr \&datumIn,}
\DoxyCodeLine{438                                 const datum::DatumEnsemblePtr \&datumEnsembleIn,}
\DoxyCodeLine{439                                 const cs::EllipsoidalCSNNPtr \&csIn);}
\DoxyCodeLine{440     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{GeographicCRS}}(const \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{GeographicCRS}} \&other);}
\DoxyCodeLine{441 }
\DoxyCodeLine{442     PROJ\_INTERNAL static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} createEPSG\_4267();}
\DoxyCodeLine{443     PROJ\_INTERNAL static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} createEPSG\_4269();}
\DoxyCodeLine{444     PROJ\_INTERNAL static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} createEPSG\_4326();}
\DoxyCodeLine{445     PROJ\_INTERNAL static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} createOGC\_CRS84();}
\DoxyCodeLine{446     PROJ\_INTERNAL static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} createEPSG\_4807();}
\DoxyCodeLine{447     PROJ\_INTERNAL static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a95429910f6055b29fa53181cac2557ab}{GeographicCRSNNPtr}} createEPSG\_4979();}
\DoxyCodeLine{448 }
\DoxyCodeLine{449     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() const override;}
\DoxyCodeLine{450 }
\DoxyCodeLine{451     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{452 }
\DoxyCodeLine{453   private:}
\DoxyCodeLine{454     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{455 }
\DoxyCodeLine{456     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{GeographicCRS}} \&operator=(const \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{GeographicCRS}} \&other) = delete;}
\DoxyCodeLine{457 \};}
\DoxyCodeLine{458 }
\DoxyCodeLine{459 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{460 }
\DoxyCodeLine{477 class PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}} : virtual public \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}},}
\DoxyCodeLine{478                                  public io::IPROJStringExportable \{}
\DoxyCodeLine{479   \textcolor{keyword}{public}:}
\DoxyCodeLine{481     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{\string~VerticalCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{483 }
\DoxyCodeLine{484     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{datum::VerticalReferenceFramePtr}} datum() \textcolor{keyword}{const};}
\DoxyCodeLine{485     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs::VerticalCSNNPtr}} coordinateSystem() \textcolor{keyword}{const};}
\DoxyCodeLine{486     PROJ\_DLL \textcolor{keyword}{const} std::vector<operation::TransformationNNPtr> \&}
\DoxyCodeLine{487     geoidModel() PROJ\_PURE\_DECL;}
\DoxyCodeLine{488     PROJ\_DLL \textcolor{keyword}{const} std::vector<operation::PointMotionOperationNNPtr> \&}
\DoxyCodeLine{489     velocityModel() PROJ\_PURE\_DECL;}
\DoxyCodeLine{490 }
\DoxyCodeLine{491     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{VerticalCRSNNPtr}}}
\DoxyCodeLine{492     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{493            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af502d3b268b44aa5325b489a26e8f6a7}{datum::VerticalReferenceFrameNNPtr}} \&datumIn,}
\DoxyCodeLine{494            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs::VerticalCSNNPtr}} \&csIn);}
\DoxyCodeLine{495 }
\DoxyCodeLine{496     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{VerticalCRSNNPtr}}}
\DoxyCodeLine{497     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{498            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{datum::VerticalReferenceFramePtr}} \&datumIn,}
\DoxyCodeLine{499            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsembleIn,}
\DoxyCodeLine{500            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs::VerticalCSNNPtr}} \&csIn);}
\DoxyCodeLine{501 }
\DoxyCodeLine{502     PROJ\_DLL std::list<std::pair<VerticalCRSNNPtr, int>>}
\DoxyCodeLine{503     identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const};}
\DoxyCodeLine{504 }
\DoxyCodeLine{505     PROJ\_PRIVATE :}
\DoxyCodeLine{507         PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{508         addLinearUnitConvert(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter) \textcolor{keyword}{const};}
\DoxyCodeLine{509 }
\DoxyCodeLine{510     PROJ\_INTERNAL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af502d3b268b44aa5325b489a26e8f6a7}{datum::VerticalReferenceFrameNNPtr}}}
\DoxyCodeLine{511     datumNonNull(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{512 }
\DoxyCodeLine{513     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{514         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{515 }
\DoxyCodeLine{516     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{517         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{518 }
\DoxyCodeLine{519     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{520         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{521 }
\DoxyCodeLine{522     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{523         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{524         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{525             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{526         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{527 }
\DoxyCodeLine{529 }
\DoxyCodeLine{530   \textcolor{keyword}{protected}:}
\DoxyCodeLine{531     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{datum::VerticalReferenceFramePtr}} \&datumIn,}
\DoxyCodeLine{532                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum::DatumEnsemblePtr}} \&datumEnsembleIn,}
\DoxyCodeLine{533                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs::VerticalCSNNPtr}} \&csIn);}
\DoxyCodeLine{534     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}} \&other);}
\DoxyCodeLine{535 }
\DoxyCodeLine{536     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{537     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{538 }
\DoxyCodeLine{539     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{540 }
\DoxyCodeLine{541     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{542 }
\DoxyCodeLine{543   \textcolor{keyword}{private}:}
\DoxyCodeLine{544     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{545     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{546 \};}
\DoxyCodeLine{547 }
\DoxyCodeLine{548 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{549 }
\DoxyCodeLine{562 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} : \textcolor{keyword}{virtual} \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} \{}
\DoxyCodeLine{563   \textcolor{keyword}{public}:}
\DoxyCodeLine{565     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{\string~DerivedCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{567 }
\DoxyCodeLine{568     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_accef32df73f4e9617ba70a59e3e24991}{SingleCRSNNPtr}} \&baseCRS() PROJ\_PURE\_DECL;}
\DoxyCodeLine{569     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} derivingConversion() \textcolor{keyword}{const};}
\DoxyCodeLine{570 }
\DoxyCodeLine{571     PROJ\_PRIVATE :}
\DoxyCodeLine{573 }
\DoxyCodeLine{574         \textcolor{comment}{// Use this method with extreme care ! It should never be used}}
\DoxyCodeLine{575         \textcolor{comment}{// to recreate a new Derived/ProjectedCRS !}}
\DoxyCodeLine{576         PROJ\_INTERNAL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&}
\DoxyCodeLine{577         derivingConversionRef() PROJ\_PURE\_DECL;}
\DoxyCodeLine{578 }
\DoxyCodeLine{579     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{580         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{581 }
\DoxyCodeLine{583 }
\DoxyCodeLine{584   \textcolor{keyword}{protected}:}
\DoxyCodeLine{585     PROJ\_INTERNAL}
\DoxyCodeLine{586     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_accef32df73f4e9617ba70a59e3e24991}{SingleCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{587                \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{588                \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aad7f9f4fbc0234c98f447c74037c50b4}{cs::CoordinateSystemNNPtr}} \&cs);}
\DoxyCodeLine{589     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \&other);}
\DoxyCodeLine{590 }
\DoxyCodeLine{591     PROJ\_INTERNAL \textcolor{keywordtype}{void} setDerivingConversionCRS();}
\DoxyCodeLine{592 }
\DoxyCodeLine{593     PROJ\_INTERNAL \textcolor{keywordtype}{void} baseExportToWKT(}
\DoxyCodeLine{594         \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter, \textcolor{keyword}{const} std::string \&keyword,}
\DoxyCodeLine{595         \textcolor{keyword}{const} std::string \&baseKeyword) \textcolor{keyword}{const}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{596 }
\DoxyCodeLine{597     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{598         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{599         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{600             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{601         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{602 }
\DoxyCodeLine{603     PROJ\_INTERNAL \textcolor{keyword}{virtual} \textcolor{keyword}{const} \textcolor{keywordtype}{char} *className() \textcolor{keyword}{const} = 0;}
\DoxyCodeLine{604 }
\DoxyCodeLine{605   \textcolor{keyword}{private}:}
\DoxyCodeLine{606     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{607     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{608 \};}
\DoxyCodeLine{609 }
\DoxyCodeLine{611 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a31ae56739b23bc5f4183a4829c9d3a1e}{DerivedCRSPtr}} = std::shared\_ptr<DerivedCRS>;}
\DoxyCodeLine{613 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a9f7c9ac3b1dc77fe31390c85285dac0d}{DerivedCRSNNPtr}} = util::nn<DerivedCRSPtr>;}
\DoxyCodeLine{614 }
\DoxyCodeLine{615 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{616 }
\DoxyCodeLine{617 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{ProjectedCRS}};}
\DoxyCodeLine{619 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_acb3554f00d9ba20a034f88b2e4c2edf8}{ProjectedCRSPtr}} = std::shared\_ptr<ProjectedCRS>;}
\DoxyCodeLine{621 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{ProjectedCRSNNPtr}} = util::nn<ProjectedCRSPtr>;}
\DoxyCodeLine{622 }
\DoxyCodeLine{635 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{ProjectedCRS}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}},}
\DoxyCodeLine{636                                         \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{io::IPROJStringExportable}} \{}
\DoxyCodeLine{637   \textcolor{keyword}{public}:}
\DoxyCodeLine{639     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{\string~ProjectedCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{641 }
\DoxyCodeLine{642     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRS() PROJ\_PURE\_DECL;}
\DoxyCodeLine{643     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&coordinateSystem() PROJ\_PURE\_DECL;}
\DoxyCodeLine{644 }
\DoxyCodeLine{645     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{ProjectedCRSNNPtr}}}
\DoxyCodeLine{646     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{647            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{648            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{649            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&csIn);}
\DoxyCodeLine{650 }
\DoxyCodeLine{651     PROJ\_DLL std::list<std::pair<ProjectedCRSNNPtr, int>>}
\DoxyCodeLine{652     identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const};}
\DoxyCodeLine{653 }
\DoxyCodeLine{654     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{ProjectedCRSNNPtr}}}
\DoxyCodeLine{655     demoteTo2D(\textcolor{keyword}{const} std::string \&newName,}
\DoxyCodeLine{656                \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{657 }
\DoxyCodeLine{658     PROJ\_PRIVATE :}
\DoxyCodeLine{660         PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{661         addUnitConvertAndAxisSwap(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter,}
\DoxyCodeLine{662                                   \textcolor{keywordtype}{bool} axisSpecFound) \textcolor{keyword}{const};}
\DoxyCodeLine{663 }
\DoxyCodeLine{664     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keywordtype}{void} addUnitConvertAndAxisSwap(}
\DoxyCodeLine{665         \textcolor{keyword}{const} std::vector<cs::CoordinateSystemAxisNNPtr> \&axisListIn,}
\DoxyCodeLine{666         \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter, \textcolor{keywordtype}{bool} axisSpecFound);}
\DoxyCodeLine{667 }
\DoxyCodeLine{668     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{669         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{670 }
\DoxyCodeLine{671     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{672         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{673 }
\DoxyCodeLine{674     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{ProjectedCRSNNPtr}} alterParametersLinearUnit(}
\DoxyCodeLine{675         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1UnitOfMeasure}{common::UnitOfMeasure}} \&unit, \textcolor{keywordtype}{bool} convertToNewUnit) \textcolor{keyword}{const};}
\DoxyCodeLine{676 }
\DoxyCodeLine{678 }
\DoxyCodeLine{679   \textcolor{keyword}{protected}:}
\DoxyCodeLine{680     PROJ\_INTERNAL}
\DoxyCodeLine{681     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{ProjectedCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{682                  \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{683                  \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&csIn);}
\DoxyCodeLine{684     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{ProjectedCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{ProjectedCRS}} \&other);}
\DoxyCodeLine{685 }
\DoxyCodeLine{686     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{687         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{688 }
\DoxyCodeLine{689     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{690         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{691         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{692             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{693         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{694 }
\DoxyCodeLine{695     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{696     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{697 }
\DoxyCodeLine{698     PROJ\_INTERNAL \textcolor{keyword}{const} \textcolor{keywordtype}{char} *className()\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{699         \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}ProjectedCRS"{}};}
\DoxyCodeLine{700     \}}
\DoxyCodeLine{701 }
\DoxyCodeLine{702     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{703 }
\DoxyCodeLine{704     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{705 }
\DoxyCodeLine{706   \textcolor{keyword}{private}:}
\DoxyCodeLine{707     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{708     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{ProjectedCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{ProjectedCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{709 \};}
\DoxyCodeLine{710 }
\DoxyCodeLine{711 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{712 }
\DoxyCodeLine{713 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}};}
\DoxyCodeLine{715 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ac8c372359682effb049992f56231ef7c}{TemporalCRSPtr}} = std::shared\_ptr<TemporalCRS>;}
\DoxyCodeLine{717 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ae6f845d46027eb2defb3544d61e3e0dc}{TemporalCRSNNPtr}} = util::nn<TemporalCRSPtr>;}
\DoxyCodeLine{718 }
\DoxyCodeLine{724 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}} : \textcolor{keyword}{virtual} \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} \{}
\DoxyCodeLine{725   \textcolor{keyword}{public}:}
\DoxyCodeLine{727     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{\string~TemporalCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{729 }
\DoxyCodeLine{730     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af8406d7a7054c19c49946d855c0385d9}{datum::TemporalDatumNNPtr}} datum() \textcolor{keyword}{const};}
\DoxyCodeLine{731 }
\DoxyCodeLine{732     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a221516735e888b500861627071551e70}{cs::TemporalCSNNPtr}} coordinateSystem() \textcolor{keyword}{const};}
\DoxyCodeLine{733 }
\DoxyCodeLine{734     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ae6f845d46027eb2defb3544d61e3e0dc}{TemporalCRSNNPtr}}}
\DoxyCodeLine{735     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{736            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af8406d7a7054c19c49946d855c0385d9}{datum::TemporalDatumNNPtr}} \&datumIn,}
\DoxyCodeLine{737            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a221516735e888b500861627071551e70}{cs::TemporalCSNNPtr}} \&csIn);}
\DoxyCodeLine{738 }
\DoxyCodeLine{740     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{741         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{742 }
\DoxyCodeLine{743     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{744         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{745 }
\DoxyCodeLine{747 }
\DoxyCodeLine{748   \textcolor{keyword}{protected}:}
\DoxyCodeLine{749     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af8406d7a7054c19c49946d855c0385d9}{datum::TemporalDatumNNPtr}} \&datumIn,}
\DoxyCodeLine{750                               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a221516735e888b500861627071551e70}{cs::TemporalCSNNPtr}} \&csIn);}
\DoxyCodeLine{751     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}} \&other);}
\DoxyCodeLine{752 }
\DoxyCodeLine{753     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{754 }
\DoxyCodeLine{755     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{756 }
\DoxyCodeLine{757     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{758         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{759         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{760             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{761         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{762 }
\DoxyCodeLine{763   \textcolor{keyword}{private}:}
\DoxyCodeLine{764     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{765     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{766 \};}
\DoxyCodeLine{767 }
\DoxyCodeLine{768 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{769 }
\DoxyCodeLine{770 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{EngineeringCRS}};}
\DoxyCodeLine{772 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aa18bab992737854749575a5f0c279450}{EngineeringCRSPtr}} = std::shared\_ptr<EngineeringCRS>;}
\DoxyCodeLine{774 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a5778eb79d0c80af7b6c5a431061f4ffa}{EngineeringCRSNNPtr}} = util::nn<EngineeringCRSPtr>;}
\DoxyCodeLine{775 }
\DoxyCodeLine{788 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{EngineeringCRS}} : \textcolor{keyword}{virtual} \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} \{}
\DoxyCodeLine{789   \textcolor{keyword}{public}:}
\DoxyCodeLine{791     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{\string~EngineeringCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{793 }
\DoxyCodeLine{794     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a4f152f92f701e000e1c0c151229df903}{datum::EngineeringDatumNNPtr}} datum() \textcolor{keyword}{const};}
\DoxyCodeLine{795 }
\DoxyCodeLine{796     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a5778eb79d0c80af7b6c5a431061f4ffa}{EngineeringCRSNNPtr}}}
\DoxyCodeLine{797     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{798            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a4f152f92f701e000e1c0c151229df903}{datum::EngineeringDatumNNPtr}} \&datumIn,}
\DoxyCodeLine{799            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aad7f9f4fbc0234c98f447c74037c50b4}{cs::CoordinateSystemNNPtr}} \&csIn);}
\DoxyCodeLine{800 }
\DoxyCodeLine{802     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{803         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{804 }
\DoxyCodeLine{805     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{806         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{807 }
\DoxyCodeLine{809 }
\DoxyCodeLine{810   \textcolor{keyword}{protected}:}
\DoxyCodeLine{811     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{EngineeringCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a4f152f92f701e000e1c0c151229df903}{datum::EngineeringDatumNNPtr}} \&datumIn,}
\DoxyCodeLine{812                                  \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aad7f9f4fbc0234c98f447c74037c50b4}{cs::CoordinateSystemNNPtr}} \&csIn);}
\DoxyCodeLine{813     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{EngineeringCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{EngineeringCRS}} \&other);}
\DoxyCodeLine{814 }
\DoxyCodeLine{815     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{816 }
\DoxyCodeLine{817     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{818         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{819         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{820             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{821         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{822 }
\DoxyCodeLine{823     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{824 }
\DoxyCodeLine{825   \textcolor{keyword}{private}:}
\DoxyCodeLine{826     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{827     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{EngineeringCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1EngineeringCRS}{EngineeringCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{828 \};}
\DoxyCodeLine{829 }
\DoxyCodeLine{830 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{831 }
\DoxyCodeLine{832 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}};}
\DoxyCodeLine{834 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a4de4ab9a4e5ece19284410182de6fefd}{ParametricCRSPtr}} = std::shared\_ptr<ParametricCRS>;}
\DoxyCodeLine{836 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aa6c85bae7c38d078b7dece27bac8cdd7}{ParametricCRSNNPtr}} = util::nn<ParametricCRSPtr>;}
\DoxyCodeLine{837 }
\DoxyCodeLine{847 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}} : \textcolor{keyword}{virtual} \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1SingleCRS}{SingleCRS}} \{}
\DoxyCodeLine{848   \textcolor{keyword}{public}:}
\DoxyCodeLine{850     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{\string~ParametricCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{852 }
\DoxyCodeLine{853     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a81d4a3eb84c3eb645fc50c1c2426293b}{datum::ParametricDatumNNPtr}} datum() \textcolor{keyword}{const};}
\DoxyCodeLine{854 }
\DoxyCodeLine{855     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aa0091ad8e65e2d066f62bc1908bcbd0a}{cs::ParametricCSNNPtr}} coordinateSystem() \textcolor{keyword}{const};}
\DoxyCodeLine{856 }
\DoxyCodeLine{857     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aa6c85bae7c38d078b7dece27bac8cdd7}{ParametricCRSNNPtr}}}
\DoxyCodeLine{858     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{859            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a81d4a3eb84c3eb645fc50c1c2426293b}{datum::ParametricDatumNNPtr}} \&datumIn,}
\DoxyCodeLine{860            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aa0091ad8e65e2d066f62bc1908bcbd0a}{cs::ParametricCSNNPtr}} \&csIn);}
\DoxyCodeLine{861 }
\DoxyCodeLine{863     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{864         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{865 }
\DoxyCodeLine{866     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{867         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{868 }
\DoxyCodeLine{870 }
\DoxyCodeLine{871   \textcolor{keyword}{protected}:}
\DoxyCodeLine{872     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a81d4a3eb84c3eb645fc50c1c2426293b}{datum::ParametricDatumNNPtr}} \&datumIn,}
\DoxyCodeLine{873                                 \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aa0091ad8e65e2d066f62bc1908bcbd0a}{cs::ParametricCSNNPtr}} \&csIn);}
\DoxyCodeLine{874     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}} \&other);}
\DoxyCodeLine{875 }
\DoxyCodeLine{876     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{877 }
\DoxyCodeLine{878     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{879         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{880         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{881             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{882         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{883 }
\DoxyCodeLine{884     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{885 }
\DoxyCodeLine{886   \textcolor{keyword}{private}:}
\DoxyCodeLine{887     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{888     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{889 \};}
\DoxyCodeLine{890 }
\DoxyCodeLine{891 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{892 }
\DoxyCodeLine{895 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1InvalidCompoundCRSException}{InvalidCompoundCRSException}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1Exception}{util::Exception}} \{}
\DoxyCodeLine{896   \textcolor{keyword}{public}:}
\DoxyCodeLine{898     PROJ\_INTERNAL \textcolor{keyword}{explicit} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1InvalidCompoundCRSException}{InvalidCompoundCRSException}}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *message);}
\DoxyCodeLine{899     PROJ\_INTERNAL \textcolor{keyword}{explicit} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1InvalidCompoundCRSException}{InvalidCompoundCRSException}}(}
\DoxyCodeLine{900         \textcolor{keyword}{const} std::string \&message);}
\DoxyCodeLine{901     PROJ\_DLL}
\DoxyCodeLine{902     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1InvalidCompoundCRSException}{InvalidCompoundCRSException}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1InvalidCompoundCRSException}{InvalidCompoundCRSException}} \&other);}
\DoxyCodeLine{903     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1InvalidCompoundCRSException}{\string~InvalidCompoundCRSException}}() \textcolor{keyword}{override};}
\DoxyCodeLine{905 \};}
\DoxyCodeLine{906 }
\DoxyCodeLine{907 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{908 }
\DoxyCodeLine{922 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{CompoundCRS}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}},}
\DoxyCodeLine{923                                        \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{io::IPROJStringExportable}} \{}
\DoxyCodeLine{924   \textcolor{keyword}{public}:}
\DoxyCodeLine{926     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{\string~CompoundCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{928 }
\DoxyCodeLine{929     PROJ\_DLL \textcolor{keyword}{const} std::vector<CRSNNPtr> \&}
\DoxyCodeLine{930     componentReferenceSystems() PROJ\_PURE\_DECL;}
\DoxyCodeLine{931 }
\DoxyCodeLine{932     PROJ\_DLL std::list<std::pair<CompoundCRSNNPtr, int>>}
\DoxyCodeLine{933     identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const};}
\DoxyCodeLine{934 }
\DoxyCodeLine{936     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{937         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{939 \textcolor{comment}{}}
\DoxyCodeLine{940     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a5a4f97e589c9601364645cb31b90447e}{CompoundCRSNNPtr}}}
\DoxyCodeLine{941     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{942            \textcolor{keyword}{const} std::vector<CRSNNPtr>}
\DoxyCodeLine{943                \&components); \textcolor{comment}{// throw InvalidCompoundCRSException}}
\DoxyCodeLine{944 }
\DoxyCodeLine{946     PROJ\_INTERNAL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}}}
\DoxyCodeLine{947     createLax(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{948               \textcolor{keyword}{const} std::vector<CRSNNPtr> \&components,}
\DoxyCodeLine{949               \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}}}
\DoxyCodeLine{950                   \&dbContext); \textcolor{comment}{// throw InvalidCompoundCRSException}}
\DoxyCodeLine{952 \textcolor{comment}{}}
\DoxyCodeLine{953   \textcolor{keyword}{protected}:}
\DoxyCodeLine{954     \textcolor{comment}{// relaxed: standard say SingleCRSNNPtr}}
\DoxyCodeLine{955     PROJ\_INTERNAL \textcolor{keyword}{explicit} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{CompoundCRS}}(\textcolor{keyword}{const} std::vector<CRSNNPtr> \&components);}
\DoxyCodeLine{956     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{CompoundCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{CompoundCRS}} \&other);}
\DoxyCodeLine{957 }
\DoxyCodeLine{958     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{959         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{960 }
\DoxyCodeLine{961     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{962         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{963 }
\DoxyCodeLine{964     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{965 }
\DoxyCodeLine{966     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{967         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{968         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{969             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{970         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{971 }
\DoxyCodeLine{972     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{973     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{974 }
\DoxyCodeLine{975     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{976 }
\DoxyCodeLine{977   \textcolor{keyword}{private}:}
\DoxyCodeLine{978     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{979     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{CompoundCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CompoundCRS}{CompoundCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{980 \};}
\DoxyCodeLine{981 }
\DoxyCodeLine{982 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{983 }
\DoxyCodeLine{1009 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}},}
\DoxyCodeLine{1010                                     \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{io::IPROJStringExportable}} \{}
\DoxyCodeLine{1011   \textcolor{keyword}{public}:}
\DoxyCodeLine{1013     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{\string~BoundCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{1015 }
\DoxyCodeLine{1016     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&baseCRS() PROJ\_PURE\_DECL;}
\DoxyCodeLine{1017     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} baseCRSWithCanonicalBoundCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{1018 }
\DoxyCodeLine{1019     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&hubCRS() PROJ\_PURE\_DECL;}
\DoxyCodeLine{1020     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{operation::TransformationNNPtr}} \&}
\DoxyCodeLine{1021     transformation() PROJ\_PURE\_DECL;}
\DoxyCodeLine{1022 }
\DoxyCodeLine{1024     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{1025         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{1027 \textcolor{comment}{}}
\DoxyCodeLine{1028     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af13406ba91fd5d419ced05cbd3c5c918}{BoundCRSNNPtr}}}
\DoxyCodeLine{1029     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties, \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1030            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&hubCRSIn,}
\DoxyCodeLine{1031            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{operation::TransformationNNPtr}} \&transformationIn);}
\DoxyCodeLine{1032 }
\DoxyCodeLine{1033     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af13406ba91fd5d419ced05cbd3c5c918}{BoundCRSNNPtr}}}
\DoxyCodeLine{1034     create(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&baseCRSIn, \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&hubCRSIn,}
\DoxyCodeLine{1035            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{operation::TransformationNNPtr}} \&transformationIn);}
\DoxyCodeLine{1036 }
\DoxyCodeLine{1037     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af13406ba91fd5d419ced05cbd3c5c918}{BoundCRSNNPtr}}}
\DoxyCodeLine{1038     createFromTOWGS84(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1039                       \textcolor{keyword}{const} std::vector<double> \&TOWGS84Parameters);}
\DoxyCodeLine{1040 }
\DoxyCodeLine{1041     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af13406ba91fd5d419ced05cbd3c5c918}{BoundCRSNNPtr}}}
\DoxyCodeLine{1042     createFromNadgrids(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&baseCRSIn, \textcolor{keyword}{const} std::string \&filename);}
\DoxyCodeLine{1043 }
\DoxyCodeLine{1044   \textcolor{keyword}{protected}:}
\DoxyCodeLine{1045     PROJ\_INTERNAL}
\DoxyCodeLine{1046     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&baseCRSIn, \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \&hubCRSIn,}
\DoxyCodeLine{1047              \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{operation::TransformationNNPtr}} \&transformationIn);}
\DoxyCodeLine{1048     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}} \&other);}
\DoxyCodeLine{1049 }
\DoxyCodeLine{1050     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{1051 }
\DoxyCodeLine{1052     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{1053         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{1054 }
\DoxyCodeLine{1055     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{1056         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{1057 }
\DoxyCodeLine{1058     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{1059         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{1060         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{1061             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{1062         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{1063 }
\DoxyCodeLine{1064     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af13406ba91fd5d419ced05cbd3c5c918}{BoundCRSNNPtr}} shallowCloneAsBoundCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{1065     PROJ\_INTERNAL \textcolor{keywordtype}{bool} isTOWGS84Compatible() \textcolor{keyword}{const};}
\DoxyCodeLine{1066     PROJ\_INTERNAL std::string getHDatumPROJ4GRIDS() \textcolor{keyword}{const};}
\DoxyCodeLine{1067     PROJ\_INTERNAL std::string}
\DoxyCodeLine{1068     getVDatumPROJ4GRIDS(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{crs::GeographicCRS}} *geogCRSOfCompoundCRS,}
\DoxyCodeLine{1069                         \textcolor{keyword}{const} \textcolor{keywordtype}{char} **outGeoidCRSValue) \textcolor{keyword}{const};}
\DoxyCodeLine{1070 }
\DoxyCodeLine{1071     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{1072     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{1073 }
\DoxyCodeLine{1074     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{1075 }
\DoxyCodeLine{1076   \textcolor{keyword}{private}:}
\DoxyCodeLine{1077     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{1078     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1BoundCRS}{BoundCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{1079 \};}
\DoxyCodeLine{1080 }
\DoxyCodeLine{1081 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1082 }
\DoxyCodeLine{1083 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}};}
\DoxyCodeLine{1085 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ad22eb5093688a6da7d1478b0deb12a95}{DerivedGeodeticCRSPtr}} = std::shared\_ptr<DerivedGeodeticCRS>;}
\DoxyCodeLine{1087 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a44b5ecf6530601434959b3676231ec84}{DerivedGeodeticCRSNNPtr}} = util::nn<DerivedGeodeticCRSPtr>;}
\DoxyCodeLine{1088 }
\DoxyCodeLine{1096 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{GeodeticCRS}},}
\DoxyCodeLine{1097                                               \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \{}
\DoxyCodeLine{1098   \textcolor{keyword}{public}:}
\DoxyCodeLine{1100     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{\string~DerivedGeodeticCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{1102 }
\DoxyCodeLine{1103     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} baseCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{1104 }
\DoxyCodeLine{1105     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a44b5ecf6530601434959b3676231ec84}{DerivedGeodeticCRSNNPtr}}}
\DoxyCodeLine{1106     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{1107            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1108            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1109            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&csIn);}
\DoxyCodeLine{1110 }
\DoxyCodeLine{1111     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a44b5ecf6530601434959b3676231ec84}{DerivedGeodeticCRSNNPtr}}}
\DoxyCodeLine{1112     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{1113            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1114            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1115            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a906ab1ea1154a2754ff01ac210a7d4ca}{cs::SphericalCSNNPtr}} \&csIn);}
\DoxyCodeLine{1116 }
\DoxyCodeLine{1118     \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{1119         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{1120 }
\DoxyCodeLine{1121     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{1122     \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1123         \textcolor{keywordflow}{return} DerivedCRS::\_exportToJSON(formatter);}
\DoxyCodeLine{1124     \}}
\DoxyCodeLine{1125 }
\DoxyCodeLine{1127 }
\DoxyCodeLine{1128   \textcolor{keyword}{protected}:}
\DoxyCodeLine{1129     PROJ\_INTERNAL}
\DoxyCodeLine{1130     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1131                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1132                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs::CartesianCSNNPtr}} \&csIn);}
\DoxyCodeLine{1133     PROJ\_INTERNAL}
\DoxyCodeLine{1134     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1135                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1136                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a906ab1ea1154a2754ff01ac210a7d4ca}{cs::SphericalCSNNPtr}} \&csIn);}
\DoxyCodeLine{1137     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}} \&other);}
\DoxyCodeLine{1138 }
\DoxyCodeLine{1139     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{1140 }
\DoxyCodeLine{1141     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{1142         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{1143         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{1144             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{1145         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{1146 }
\DoxyCodeLine{1147     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{1148     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{1149 }
\DoxyCodeLine{1150     \textcolor{comment}{// cppcheck-\/suppress functionStatic}}
\DoxyCodeLine{1151     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{1152         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{1153 }
\DoxyCodeLine{1154     PROJ\_INTERNAL \textcolor{keyword}{const} \textcolor{keywordtype}{char} *className()\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1155         \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}DerivedGeodeticCRS"{}};}
\DoxyCodeLine{1156     \}}
\DoxyCodeLine{1157 }
\DoxyCodeLine{1158     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{1159 }
\DoxyCodeLine{1160   \textcolor{keyword}{private}:}
\DoxyCodeLine{1161     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{1162     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeodeticCRS}{DerivedGeodeticCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{1163 \};}
\DoxyCodeLine{1164 }
\DoxyCodeLine{1165 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1166 }
\DoxyCodeLine{1167 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{DerivedGeographicCRS}};}
\DoxyCodeLine{1169 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af1b055b81c536b1c4f8e9a43c4645b62}{DerivedGeographicCRSPtr}} = std::shared\_ptr<DerivedGeographicCRS>;}
\DoxyCodeLine{1171 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aebed789aeb5f42379edbfdc40c1a70fb}{DerivedGeographicCRSNNPtr}} = util::nn<DerivedGeographicCRSPtr>;}
\DoxyCodeLine{1172 }
\DoxyCodeLine{1182 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{DerivedGeographicCRS}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{GeographicCRS}},}
\DoxyCodeLine{1183                                                 \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \{}
\DoxyCodeLine{1184   \textcolor{keyword}{public}:}
\DoxyCodeLine{1186     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{\string~DerivedGeographicCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{1188 }
\DoxyCodeLine{1189     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} baseCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{1190 }
\DoxyCodeLine{1191     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aebed789aeb5f42379edbfdc40c1a70fb}{DerivedGeographicCRSNNPtr}}}
\DoxyCodeLine{1192     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{1193            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1194            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1195            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_ad9c68dff3a80ae63cc059ce6f314efad}{cs::EllipsoidalCSNNPtr}} \&csIn);}
\DoxyCodeLine{1196 }
\DoxyCodeLine{1197     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aebed789aeb5f42379edbfdc40c1a70fb}{DerivedGeographicCRSNNPtr}}}
\DoxyCodeLine{1198     demoteTo2D(\textcolor{keyword}{const} std::string \&newName,}
\DoxyCodeLine{1199                \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{1200 }
\DoxyCodeLine{1202     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{1203         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{1204 }
\DoxyCodeLine{1205     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{1206     \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1207         \textcolor{keywordflow}{return} DerivedCRS::\_exportToJSON(formatter);}
\DoxyCodeLine{1208     \}}
\DoxyCodeLine{1209 }
\DoxyCodeLine{1211 }
\DoxyCodeLine{1212   \textcolor{keyword}{protected}:}
\DoxyCodeLine{1213     PROJ\_INTERNAL}
\DoxyCodeLine{1214     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{DerivedGeographicCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{GeodeticCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1215                          \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1216                          \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_ad9c68dff3a80ae63cc059ce6f314efad}{cs::EllipsoidalCSNNPtr}} \&csIn);}
\DoxyCodeLine{1217     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{DerivedGeographicCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{DerivedGeographicCRS}} \&other);}
\DoxyCodeLine{1218 }
\DoxyCodeLine{1219     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{1220 }
\DoxyCodeLine{1221     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{1222         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{1223         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{1224             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{1225         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{1226 }
\DoxyCodeLine{1227     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{1228     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{1229 }
\DoxyCodeLine{1230     PROJ\_INTERNAL \textcolor{keyword}{const} \textcolor{keywordtype}{char} *className()\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1231         \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}DerivedGeographicCRS"{}};}
\DoxyCodeLine{1232     \}}
\DoxyCodeLine{1233 }
\DoxyCodeLine{1234     \textcolor{comment}{// cppcheck-\/suppress functionStatic}}
\DoxyCodeLine{1235     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{1236         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{1237 }
\DoxyCodeLine{1238     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{1239 }
\DoxyCodeLine{1240   \textcolor{keyword}{private}:}
\DoxyCodeLine{1241     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{1242     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{DerivedGeographicCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedGeographicCRS}{DerivedGeographicCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{1243 \};}
\DoxyCodeLine{1244 }
\DoxyCodeLine{1245 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1246 }
\DoxyCodeLine{1247 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{DerivedProjectedCRS}};}
\DoxyCodeLine{1249 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a46e90a264b3295b9e9dbf9d53f43b726}{DerivedProjectedCRSPtr}} = std::shared\_ptr<DerivedProjectedCRS>;}
\DoxyCodeLine{1251 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aaf145c625abfb3e72834a777b0c64e0b}{DerivedProjectedCRSNNPtr}} = util::nn<DerivedProjectedCRSPtr>;}
\DoxyCodeLine{1252 }
\DoxyCodeLine{1262 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{DerivedProjectedCRS}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \{}
\DoxyCodeLine{1263   \textcolor{keyword}{public}:}
\DoxyCodeLine{1265     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{\string~DerivedProjectedCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{1267 }
\DoxyCodeLine{1268     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{ProjectedCRSNNPtr}} baseCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{1269 }
\DoxyCodeLine{1270     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aaf145c625abfb3e72834a777b0c64e0b}{DerivedProjectedCRSNNPtr}}}
\DoxyCodeLine{1271     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{1272            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{ProjectedCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1273            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1274            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aad7f9f4fbc0234c98f447c74037c50b4}{cs::CoordinateSystemNNPtr}} \&csIn);}
\DoxyCodeLine{1275 }
\DoxyCodeLine{1277     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{1278         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{1279 }
\DoxyCodeLine{1280     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{1281     addUnitConvertAndAxisSwap(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter) \textcolor{keyword}{const};}
\DoxyCodeLine{1283 }
\DoxyCodeLine{1284   \textcolor{keyword}{protected}:}
\DoxyCodeLine{1285     PROJ\_INTERNAL}
\DoxyCodeLine{1286     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{DerivedProjectedCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{ProjectedCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1287                         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1288                         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_aad7f9f4fbc0234c98f447c74037c50b4}{cs::CoordinateSystemNNPtr}} \&csIn);}
\DoxyCodeLine{1289     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{DerivedProjectedCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{DerivedProjectedCRS}} \&other);}
\DoxyCodeLine{1290 }
\DoxyCodeLine{1291     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{1292 }
\DoxyCodeLine{1293     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{1294         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{1295         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{1296             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{1297         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{1298 }
\DoxyCodeLine{1299     PROJ\_INTERNAL \textcolor{keyword}{const} \textcolor{keywordtype}{char} *className()\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1300         \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}DerivedProjectedCRS"{}};}
\DoxyCodeLine{1301     \}}
\DoxyCodeLine{1302 }
\DoxyCodeLine{1303     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{1304 }
\DoxyCodeLine{1305   \textcolor{keyword}{private}:}
\DoxyCodeLine{1306     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{1307     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{DerivedProjectedCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedProjectedCRS}{DerivedProjectedCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{1308 \};}
\DoxyCodeLine{1309 }
\DoxyCodeLine{1310 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1311 }
\DoxyCodeLine{1312 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{DerivedVerticalCRS}};}
\DoxyCodeLine{1314 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_aa089e53e74f25dd80d424df9d676b1c2}{DerivedVerticalCRSPtr}} = std::shared\_ptr<DerivedVerticalCRS>;}
\DoxyCodeLine{1316 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a1f24d92954dbf63541bc36e663c164f4}{DerivedVerticalCRSNNPtr}} = util::nn<DerivedVerticalCRSPtr>;}
\DoxyCodeLine{1317 }
\DoxyCodeLine{1324 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{DerivedVerticalCRS}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{VerticalCRS}},}
\DoxyCodeLine{1325                                               \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \{}
\DoxyCodeLine{1326   \textcolor{keyword}{public}:}
\DoxyCodeLine{1328     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{\string~DerivedVerticalCRS}}() \textcolor{keyword}{override};}
\DoxyCodeLine{1330 }
\DoxyCodeLine{1331     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{VerticalCRSNNPtr}} baseCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{1332 }
\DoxyCodeLine{1333     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a1f24d92954dbf63541bc36e663c164f4}{DerivedVerticalCRSNNPtr}}}
\DoxyCodeLine{1334     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{1335            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{VerticalCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1336            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1337            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs::VerticalCSNNPtr}} \&csIn);}
\DoxyCodeLine{1338 }
\DoxyCodeLine{1340     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{1341         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{1342 }
\DoxyCodeLine{1343     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{1344     \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1345         \textcolor{keywordflow}{return} DerivedCRS::\_exportToJSON(formatter);}
\DoxyCodeLine{1346     \}}
\DoxyCodeLine{1347 }
\DoxyCodeLine{1349 }
\DoxyCodeLine{1350   \textcolor{keyword}{protected}:}
\DoxyCodeLine{1351     PROJ\_INTERNAL}
\DoxyCodeLine{1352     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{DerivedVerticalCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{VerticalCRSNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1353                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1354                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs::VerticalCSNNPtr}} \&csIn);}
\DoxyCodeLine{1355     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{DerivedVerticalCRS}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{DerivedVerticalCRS}} \&other);}
\DoxyCodeLine{1356 }
\DoxyCodeLine{1357     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{1358 }
\DoxyCodeLine{1359     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{1360         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{1361         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{1362             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{1363         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{1364 }
\DoxyCodeLine{1365     PROJ\_INTERNAL std::list<std::pair<CRSNNPtr, int>>}
\DoxyCodeLine{1366     \_identify(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io::AuthorityFactoryPtr}} \&authorityFactory) \textcolor{keyword}{const override};}
\DoxyCodeLine{1367 }
\DoxyCodeLine{1368     PROJ\_INTERNAL \textcolor{keyword}{const} \textcolor{keywordtype}{char} *className()\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1369         \textcolor{keywordflow}{return} \textcolor{stringliteral}{"{}DerivedVerticalCRS"{}};}
\DoxyCodeLine{1370     \}}
\DoxyCodeLine{1371 }
\DoxyCodeLine{1372     \textcolor{comment}{// cppcheck-\/suppress functionStatic}}
\DoxyCodeLine{1373     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{1374         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{1375 }
\DoxyCodeLine{1376     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{1377 }
\DoxyCodeLine{1378   \textcolor{keyword}{private}:}
\DoxyCodeLine{1379     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{1380     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{DerivedVerticalCRS}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedVerticalCRS}{DerivedVerticalCRS}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{1381 \};}
\DoxyCodeLine{1382 }
\DoxyCodeLine{1383 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1384 }
\DoxyCodeLine{1387 \textcolor{keyword}{template} <\textcolor{keyword}{class} DerivedCRSTraits>}
\DoxyCodeLine{1388 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate}} final : \textcolor{keyword}{public} DerivedCRSTraits::BaseType,}
\DoxyCodeLine{1389                                               \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRS}{DerivedCRS}} \{}
\DoxyCodeLine{1390   \textcolor{keyword}{protected}:}
\DoxyCodeLine{1392     \textcolor{keyword}{typedef} \textcolor{keyword}{typename} DerivedCRSTraits::BaseType BaseType;}
\DoxyCodeLine{1394     \textcolor{keyword}{typedef} \textcolor{keyword}{typename} DerivedCRSTraits::CSType CSType;}
\DoxyCodeLine{1395 }
\DoxyCodeLine{1396   \textcolor{keyword}{public}:}
\DoxyCodeLine{1398     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{\string~DerivedCRSTemplate}}() \textcolor{keyword}{override};}
\DoxyCodeLine{1400 }
\DoxyCodeLine{1402     \textcolor{keyword}{typedef} \textcolor{keyword}{typename} util::nn<std::shared\_ptr<DerivedCRSTemplate>> \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a576b1d1dca627069de323af310e75272}{NNPtr}};}
\DoxyCodeLine{1404     \textcolor{keyword}{typedef} util::nn<std::shared\_ptr<BaseType>> \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a5570c67032a8c1977fb4f85b7a635e10}{BaseNNPtr}};}
\DoxyCodeLine{1406     \textcolor{keyword}{typedef} util::nn<std::shared\_ptr<CSType>> \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a18e80ecab1ce93dc5aef12e96e2bd54e}{CSNNPtr}};}
\DoxyCodeLine{1407 }
\DoxyCodeLine{1412     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a5570c67032a8c1977fb4f85b7a635e10}{BaseNNPtr}} baseCRS() \textcolor{keyword}{const};}
\DoxyCodeLine{1413 }
\DoxyCodeLine{1426     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a576b1d1dca627069de323af310e75272}{NNPtr}}}
\DoxyCodeLine{1427     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a7093b980b4bb16b5b0e862a43a022c3e}{create}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties, \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a5570c67032a8c1977fb4f85b7a635e10}{BaseNNPtr}} \&baseCRSIn,}
\DoxyCodeLine{1428            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1429            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate_a18e80ecab1ce93dc5aef12e96e2bd54e}{CSNNPtr}} \&csIn);}
\DoxyCodeLine{1430 }
\DoxyCodeLine{1432     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{1433         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{1434 }
\DoxyCodeLine{1435     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{1436     \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)\textcolor{keyword}{ const override }\{}
\DoxyCodeLine{1437         \textcolor{keywordflow}{return} DerivedCRS::\_exportToJSON(formatter);}
\DoxyCodeLine{1438     \}}
\DoxyCodeLine{1440 }
\DoxyCodeLine{1441   \textcolor{keyword}{protected}:}
\DoxyCodeLine{1442     PROJ\_INTERNAL}
\DoxyCodeLine{1443     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate}}(\textcolor{keyword}{const} BaseNNPtr \&baseCRSIn,}
\DoxyCodeLine{1444                        \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation::ConversionNNPtr}} \&derivingConversionIn,}
\DoxyCodeLine{1445                        \textcolor{keyword}{const} CSNNPtr \&csIn);}
\DoxyCodeLine{1446     \textcolor{comment}{// cppcheck-\/suppress noExplicitConstructor}}
\DoxyCodeLine{1447     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate}} \&other);}
\DoxyCodeLine{1448 }
\DoxyCodeLine{1449     PROJ\_INTERNAL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{CRSNNPtr}} \_shallowClone() \textcolor{keyword}{const override};}
\DoxyCodeLine{1450 }
\DoxyCodeLine{1451     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{1452         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{1453         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{1454             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{1455         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{1456 }
\DoxyCodeLine{1457     PROJ\_INTERNAL \textcolor{keyword}{const} \textcolor{keywordtype}{char} *className() \textcolor{keyword}{const override};}
\DoxyCodeLine{1458 }
\DoxyCodeLine{1459     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{1460 }
\DoxyCodeLine{1461   \textcolor{keyword}{private}:}
\DoxyCodeLine{1462     \textcolor{keyword}{struct }PROJ\_INTERNAL Private;}
\DoxyCodeLine{1463     std::unique\_ptr<Private> d;}
\DoxyCodeLine{1464 }
\DoxyCodeLine{1465     \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{1466 \};}
\DoxyCodeLine{1467 }
\DoxyCodeLine{1468 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1469 }
\DoxyCodeLine{1471 \textcolor{keyword}{struct }PROJ\_GCC\_DLL DerivedEngineeringCRSTraits \{}
\DoxyCodeLine{1472     \textcolor{keyword}{typedef} EngineeringCRS BaseType;}
\DoxyCodeLine{1473     \textcolor{keyword}{typedef} \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1CoordinateSystem}{cs::CoordinateSystem}} CSType;}
\DoxyCodeLine{1474     \textcolor{comment}{// old x86\_64-\/w64-\/mingw32-\/g++ has issues with static variables. use method}}
\DoxyCodeLine{1475     \textcolor{comment}{// instead}}
\DoxyCodeLine{1476     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&CRSName();}
\DoxyCodeLine{1477     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&WKTKeyword();}
\DoxyCodeLine{1478     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&WKTBaseKeyword();}
\DoxyCodeLine{1479     \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{bool} wkt2\_2019\_only = \textcolor{keyword}{true};}
\DoxyCodeLine{1480 \};}
\DoxyCodeLine{1482 }
\DoxyCodeLine{1490 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{1491 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedEngineeringCRS}{DerivedEngineeringCRS}}}
\DoxyCodeLine{1492     : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate}}<DerivedEngineeringCRSTraits> \{\};}
\DoxyCodeLine{1493 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{1494 \textcolor{keyword}{using} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedEngineeringCRS}{DerivedEngineeringCRS}} = \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedEngineeringCRSTraits>}};}
\DoxyCodeLine{1495 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{1496 }
\DoxyCodeLine{1497 \textcolor{preprocessor}{\#ifndef DO\_NOT\_DEFINE\_EXTERN\_DERIVED\_CRS\_TEMPLATE}}
\DoxyCodeLine{1498 \textcolor{keyword}{extern} \textcolor{keyword}{template} \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedEngineeringCRSTraits>}};}
\DoxyCodeLine{1499 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{1500 }
\DoxyCodeLine{1502 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a5cfae66ef5c73979475f966a06e48f94}{DerivedEngineeringCRSPtr}} = std::shared\_ptr<DerivedEngineeringCRS>;}
\DoxyCodeLine{1504 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a3aa6e41bda92cf9604c29afc3c2a4807}{DerivedEngineeringCRSNNPtr}} = util::nn<DerivedEngineeringCRSPtr>;}
\DoxyCodeLine{1505 }
\DoxyCodeLine{1506 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1507 }
\DoxyCodeLine{1509 \textcolor{keyword}{struct }PROJ\_GCC\_DLL DerivedParametricCRSTraits \{}
\DoxyCodeLine{1510     \textcolor{keyword}{typedef} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ParametricCRS}{ParametricCRS}} BaseType;}
\DoxyCodeLine{1511     \textcolor{keyword}{typedef} \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1ParametricCS}{cs::ParametricCS}} CSType;}
\DoxyCodeLine{1512     \textcolor{comment}{// old x86\_64-\/w64-\/mingw32-\/g++ has issues with static variables. use method}}
\DoxyCodeLine{1513     \textcolor{comment}{// instead}}
\DoxyCodeLine{1514     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&CRSName();}
\DoxyCodeLine{1515     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&WKTKeyword();}
\DoxyCodeLine{1516     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&WKTBaseKeyword();}
\DoxyCodeLine{1517     \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{bool} wkt2\_2019\_only = \textcolor{keyword}{false};}
\DoxyCodeLine{1518 \};}
\DoxyCodeLine{1520 }
\DoxyCodeLine{1527 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{1528 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedParametricCRS}{DerivedParametricCRS}}}
\DoxyCodeLine{1529     : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedParametricCRSTraits>}} \{\};}
\DoxyCodeLine{1530 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{1531 \textcolor{keyword}{using} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedParametricCRS}{DerivedParametricCRS}} = \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedParametricCRSTraits>}};}
\DoxyCodeLine{1532 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{1533 }
\DoxyCodeLine{1534 \textcolor{preprocessor}{\#ifndef DO\_NOT\_DEFINE\_EXTERN\_DERIVED\_CRS\_TEMPLATE}}
\DoxyCodeLine{1535 \textcolor{keyword}{extern} \textcolor{keyword}{template} \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedParametricCRSTraits>}};}
\DoxyCodeLine{1536 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{1537 }
\DoxyCodeLine{1539 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_afd24752f660a9f0446d3a6a2c151db0c}{DerivedParametricCRSPtr}} = std::shared\_ptr<DerivedParametricCRS>;}
\DoxyCodeLine{1541 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a7391c9e72220eb89c2b5f0e0fef0ed9e}{DerivedParametricCRSNNPtr}} = util::nn<DerivedParametricCRSPtr>;}
\DoxyCodeLine{1542 }
\DoxyCodeLine{1543 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1544 }
\DoxyCodeLine{1546 \textcolor{keyword}{struct }PROJ\_GCC\_DLL DerivedTemporalCRSTraits \{}
\DoxyCodeLine{1547     \textcolor{keyword}{typedef} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1TemporalCRS}{TemporalCRS}} BaseType;}
\DoxyCodeLine{1548     \textcolor{keyword}{typedef} \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1TemporalCS}{cs::TemporalCS}} CSType;}
\DoxyCodeLine{1549     \textcolor{comment}{// old x86\_64-\/w64-\/mingw32-\/g++ has issues with static variables. use method}}
\DoxyCodeLine{1550     \textcolor{comment}{// instead}}
\DoxyCodeLine{1551     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&CRSName();}
\DoxyCodeLine{1552     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&WKTKeyword();}
\DoxyCodeLine{1553     \textcolor{keyword}{inline} \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \&WKTBaseKeyword();}
\DoxyCodeLine{1554     \textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{bool} wkt2\_2019\_only = \textcolor{keyword}{false};}
\DoxyCodeLine{1555 \};}
\DoxyCodeLine{1557 }
\DoxyCodeLine{1564 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{1565 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedTemporalCRS}{DerivedTemporalCRS}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedTemporalCRSTraits>}} \{}
\DoxyCodeLine{1566 \};}
\DoxyCodeLine{1567 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{1568 \textcolor{keyword}{using} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedTemporalCRS}{DerivedTemporalCRS}} = \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedTemporalCRSTraits>}};}
\DoxyCodeLine{1569 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{1570 }
\DoxyCodeLine{1571 \textcolor{preprocessor}{\#ifndef DO\_NOT\_DEFINE\_EXTERN\_DERIVED\_CRS\_TEMPLATE}}
\DoxyCodeLine{1572 \textcolor{keyword}{extern} \textcolor{keyword}{template} \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1DerivedCRSTemplate}{DerivedCRSTemplate<DerivedTemporalCRSTraits>}};}
\DoxyCodeLine{1573 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{1574 }
\DoxyCodeLine{1576 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ac1c09fceb62d48f074c3ab5e58f4c797}{DerivedTemporalCRSPtr}} = std::shared\_ptr<DerivedTemporalCRS>;}
\DoxyCodeLine{1578 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_af163ffb6d2b329540b0820545afa1c16}{DerivedTemporalCRSNNPtr}} = util::nn<DerivedTemporalCRSPtr>;}
\DoxyCodeLine{1579 }
\DoxyCodeLine{1580 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{1581 }
\DoxyCodeLine{1582 \} \textcolor{comment}{// namespace crs}}
\DoxyCodeLine{1583 }
\DoxyCodeLine{1584 NS\_PROJ\_END}
\DoxyCodeLine{1585 }
\DoxyCodeLine{1586 \textcolor{preprocessor}{\#endif }\textcolor{comment}{//  CRS\_HH\_INCLUDED}}

\end{DoxyCode}
