\hypertarget{datum_8hpp_source}{}\doxysection{datum.\+hpp}
\label{datum_8hpp_source}\index{include/proj/datum.hpp@{include/proj/datum.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 DATUM\_HH\_INCLUDED}}
\DoxyCodeLine{30 \textcolor{preprocessor}{\#define DATUM\_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 "{}io.hpp"{}}}
\DoxyCodeLine{38 \textcolor{preprocessor}{\#include "{}util.hpp"{}}}
\DoxyCodeLine{39 }
\DoxyCodeLine{40 NS\_PROJ\_START}
\DoxyCodeLine{41 }
\DoxyCodeLine{46 \textcolor{keyword}{namespace }datum \{}
\DoxyCodeLine{47 }
\DoxyCodeLine{48 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{49 }
\DoxyCodeLine{64 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1ObjectUsage}{common::ObjectUsage}},}
\DoxyCodeLine{65                            \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IJSONExportable}{io::IJSONExportable}} \{}
\DoxyCodeLine{66   \textcolor{keyword}{public}:}
\DoxyCodeLine{68     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{\string~Datum}}() \textcolor{keyword}{override};}
\DoxyCodeLine{70 }
\DoxyCodeLine{71     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchorDefinition() \textcolor{keyword}{const};}
\DoxyCodeLine{72     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<common::DateTime>}} \&publicationDate() \textcolor{keyword}{const};}
\DoxyCodeLine{73     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1common_accd81b8802949ca7ecd25579c55cfae2}{common::IdentifiedObjectPtr}} \&conventionalRS() \textcolor{keyword}{const};}
\DoxyCodeLine{74 }
\DoxyCodeLine{76     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{77         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{78         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{79             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{80         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{82 }
\DoxyCodeLine{83   \textcolor{keyword}{protected}:}
\DoxyCodeLine{84     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}}();}
\DoxyCodeLine{85 }
\DoxyCodeLine{86 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{87     std::string *anchorDefinition\_;}
\DoxyCodeLine{88     Date *publicationDate\_;}
\DoxyCodeLine{89     \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1IdentifiedObject}{common::IdentifiedObject}} *conventionalRS\_;}
\DoxyCodeLine{90 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{91 }
\DoxyCodeLine{92   \textcolor{keyword}{protected}:}
\DoxyCodeLine{93     PROJ\_INTERNAL \textcolor{keywordtype}{void} setAnchor(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchor);}
\DoxyCodeLine{94 }
\DoxyCodeLine{95     PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{96     setProperties(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}}}
\DoxyCodeLine{97                       \&properties); \textcolor{comment}{// throw(InvalidValueTypeException)}}
\DoxyCodeLine{98 }
\DoxyCodeLine{99   \textcolor{keyword}{private}:}
\DoxyCodeLine{100     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{101     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{102     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{103 \};}
\DoxyCodeLine{104 }
\DoxyCodeLine{106 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_adf54658cbf9b523ac59e3851b197bdda}{DatumPtr}} = std::shared\_ptr<Datum>;}
\DoxyCodeLine{108 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af9a3371a86865700c9d617743f7f1932}{DatumNNPtr}} = util::nn<DatumPtr>;}
\DoxyCodeLine{109 }
\DoxyCodeLine{110 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{111 }
\DoxyCodeLine{112 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{DatumEnsemble}};}
\DoxyCodeLine{114 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{DatumEnsemblePtr}} = std::shared\_ptr<DatumEnsemble>;}
\DoxyCodeLine{116 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a7c3a13cb1c510aae0c4ca57985a84067}{DatumEnsembleNNPtr}} = util::nn<DatumEnsemblePtr>;}
\DoxyCodeLine{117 }
\DoxyCodeLine{128 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{DatumEnsemble}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1ObjectUsage}{common::ObjectUsage}},}
\DoxyCodeLine{129                                          \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IJSONExportable}{io::IJSONExportable}} \{}
\DoxyCodeLine{130   \textcolor{keyword}{public}:}
\DoxyCodeLine{132     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{\string~DatumEnsemble}}() \textcolor{keyword}{override};}
\DoxyCodeLine{134 }
\DoxyCodeLine{135     PROJ\_DLL \textcolor{keyword}{const} std::vector<DatumNNPtr> \&datums() \textcolor{keyword}{const};}
\DoxyCodeLine{136     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata::PositionalAccuracyNNPtr}} \&}
\DoxyCodeLine{137     positionalAccuracy() \textcolor{keyword}{const};}
\DoxyCodeLine{138 }
\DoxyCodeLine{139     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a7c3a13cb1c510aae0c4ca57985a84067}{DatumEnsembleNNPtr}} create(}
\DoxyCodeLine{140         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{141         \textcolor{keyword}{const} std::vector<DatumNNPtr> \&datumsIn,}
\DoxyCodeLine{142         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata::PositionalAccuracyNNPtr}} \&accuracy); \textcolor{comment}{// throw(Exception)}}
\DoxyCodeLine{143 }
\DoxyCodeLine{145     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{146         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{147 }
\DoxyCodeLine{148     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{149         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{150 }
\DoxyCodeLine{151     PROJ\_FOR\_TEST \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af9a3371a86865700c9d617743f7f1932}{DatumNNPtr}}}
\DoxyCodeLine{152     asDatum(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{154 }
\DoxyCodeLine{155   \textcolor{keyword}{protected}:}
\DoxyCodeLine{156 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{157     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} datums\_[];}
\DoxyCodeLine{158     PositionalAccuracy positionalAccuracy\_;}
\DoxyCodeLine{159 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{160 }
\DoxyCodeLine{161     PROJ\_INTERNAL}
\DoxyCodeLine{162     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{DatumEnsemble}}(\textcolor{keyword}{const} std::vector<DatumNNPtr> \&datumsIn,}
\DoxyCodeLine{163                   \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata::PositionalAccuracyNNPtr}} \&accuracy);}
\DoxyCodeLine{164     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{165 }
\DoxyCodeLine{166   \textcolor{keyword}{private}:}
\DoxyCodeLine{167     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{168 }
\DoxyCodeLine{169     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{DatumEnsemble}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{DatumEnsemble}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{170     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{DatumEnsemble}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{DatumEnsemble}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{171 \};}
\DoxyCodeLine{172 }
\DoxyCodeLine{173 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{174 }
\DoxyCodeLine{175 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}};}
\DoxyCodeLine{177 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a84609db7143a7a3a924bbba917a449df}{PrimeMeridianPtr}} = std::shared\_ptr<PrimeMeridian>;}
\DoxyCodeLine{179 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} = util::nn<PrimeMeridianPtr>;}
\DoxyCodeLine{180 }
\DoxyCodeLine{188 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1IdentifiedObject}{common::IdentifiedObject}},}
\DoxyCodeLine{189                                          \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{io::IPROJStringExportable}},}
\DoxyCodeLine{190                                          \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IJSONExportable}{io::IJSONExportable}} \{}
\DoxyCodeLine{191   \textcolor{keyword}{public}:}
\DoxyCodeLine{193     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{\string~PrimeMeridian}}() \textcolor{keyword}{override};}
\DoxyCodeLine{195 }
\DoxyCodeLine{196     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common::Angle}} \&longitude() PROJ\_PURE\_DECL;}
\DoxyCodeLine{197 }
\DoxyCodeLine{198     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{199     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}}}
\DoxyCodeLine{200     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{201            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common::Angle}} \&longitudeIn);}
\DoxyCodeLine{202 }
\DoxyCodeLine{203     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian_aebca62091243464bb2ded6e3baded347}{GREENWICH}};}
\DoxyCodeLine{204     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian_abc40efde633c72cd16c6f82dec3b87aa}{REFERENCE\_MERIDIAN}};}
\DoxyCodeLine{205     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian_a7a1219a812619b48f97766bdf5539d0b}{PARIS}};}
\DoxyCodeLine{206 }
\DoxyCodeLine{207     PROJ\_PRIVATE :}
\DoxyCodeLine{208 }
\DoxyCodeLine{210         PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{211         \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{212             \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{213 }
\DoxyCodeLine{214     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{215         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{216 }
\DoxyCodeLine{217     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{218         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{219 }
\DoxyCodeLine{220     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{221         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{222         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{223             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{224         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{225 }
\DoxyCodeLine{226     PROJ\_INTERNAL \textcolor{keyword}{static} std::string}
\DoxyCodeLine{227     getPROJStringWellKnownName(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common::Angle}} \&angle);}
\DoxyCodeLine{229 }
\DoxyCodeLine{230   \textcolor{keyword}{protected}:}
\DoxyCodeLine{231 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{232     Angle greenwichLongitude\_;}
\DoxyCodeLine{233 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{234 }
\DoxyCodeLine{235     PROJ\_INTERNAL \textcolor{keyword}{explicit} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}}(}
\DoxyCodeLine{236         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common::Angle}} \&angle = \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common::Angle}}());}
\DoxyCodeLine{237     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{238 }
\DoxyCodeLine{239   \textcolor{keyword}{private}:}
\DoxyCodeLine{240     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{241     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{242     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{243 }
\DoxyCodeLine{244     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} createGREENWICH();}
\DoxyCodeLine{245     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} createREFERENCE\_MERIDIAN();}
\DoxyCodeLine{246     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} createPARIS();}
\DoxyCodeLine{247 \};}
\DoxyCodeLine{248 }
\DoxyCodeLine{249 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{250 }
\DoxyCodeLine{251 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}};}
\DoxyCodeLine{253 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_abf4e5a33b4a88c35ab6e2a8523f54f62}{EllipsoidPtr}} = std::shared\_ptr<Ellipsoid>;}
\DoxyCodeLine{255 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} = util::nn<EllipsoidPtr>;}
\DoxyCodeLine{256 }
\DoxyCodeLine{265 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1IdentifiedObject}{common::IdentifiedObject}},}
\DoxyCodeLine{266                                      \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{io::IPROJStringExportable}},}
\DoxyCodeLine{267                                      \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IJSONExportable}{io::IJSONExportable}} \{}
\DoxyCodeLine{268   \textcolor{keyword}{public}:}
\DoxyCodeLine{270     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{\string~Ellipsoid}}() \textcolor{keyword}{override};}
\DoxyCodeLine{272 }
\DoxyCodeLine{273     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&semiMajorAxis() PROJ\_PURE\_DECL;}
\DoxyCodeLine{274 }
\DoxyCodeLine{275     \textcolor{comment}{// Inlined from SecondDefiningParameter union}}
\DoxyCodeLine{276     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<common::Scale>}} \&}
\DoxyCodeLine{277     inverseFlattening() PROJ\_PURE\_DECL;}
\DoxyCodeLine{278     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<common::Length>}} \&}
\DoxyCodeLine{279     semiMinorAxis() PROJ\_PURE\_DECL;}
\DoxyCodeLine{280     PROJ\_DLL \textcolor{keywordtype}{bool} isSphere() PROJ\_PURE\_DECL;}
\DoxyCodeLine{281 }
\DoxyCodeLine{282     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<common::Length>}} \&}
\DoxyCodeLine{283     semiMedianAxis() PROJ\_PURE\_DECL;}
\DoxyCodeLine{284 }
\DoxyCodeLine{285     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{286 }
\DoxyCodeLine{287     PROJ\_DLL \textcolor{keywordtype}{double} computedInverseFlattening() PROJ\_PURE\_DECL;}
\DoxyCodeLine{288     PROJ\_DLL \textcolor{keywordtype}{double} squaredEccentricity() PROJ\_PURE\_DECL;}
\DoxyCodeLine{289     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} computeSemiMinorAxis() \textcolor{keyword}{const};}
\DoxyCodeLine{290 }
\DoxyCodeLine{291     PROJ\_DLL \textcolor{keyword}{const} std::string \&celestialBody() PROJ\_PURE\_DECL;}
\DoxyCodeLine{292 }
\DoxyCodeLine{293     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid_a6bbee2b0b1cec2669e9c9484d17be65d}{EARTH}};}
\DoxyCodeLine{294 }
\DoxyCodeLine{295     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}}}
\DoxyCodeLine{296     createSphere(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{297                  \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&radius,}
\DoxyCodeLine{298                  \textcolor{keyword}{const} std::string \&celestialBody = EARTH);}
\DoxyCodeLine{299 }
\DoxyCodeLine{300     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}}}
\DoxyCodeLine{301     createFlattenedSphere(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{302                           \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&semiMajorAxisIn,}
\DoxyCodeLine{303                           \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Scale}{common::Scale}} \&invFlattening,}
\DoxyCodeLine{304                           \textcolor{keyword}{const} std::string \&celestialBody = EARTH);}
\DoxyCodeLine{305 }
\DoxyCodeLine{306     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}}}
\DoxyCodeLine{307     createTwoAxis(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{308                   \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&semiMajorAxisIn,}
\DoxyCodeLine{309                   \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&semiMinorAxisIn,}
\DoxyCodeLine{310                   \textcolor{keyword}{const} std::string \&celestialBody = EARTH);}
\DoxyCodeLine{311 }
\DoxyCodeLine{312     PROJ\_DLL \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} identify() \textcolor{keyword}{const};}
\DoxyCodeLine{313 }
\DoxyCodeLine{314     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid_accc7792ea4a17022cdbd13e35b3689ab}{CLARKE\_1866}};}
\DoxyCodeLine{315     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid_af9bd0060fb7bd233ed6442b59c03ec45}{WGS84}};}
\DoxyCodeLine{316     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid_a605f3e4cb6a3773b9016c3dd546c4d72}{GRS1980}};}
\DoxyCodeLine{317 }
\DoxyCodeLine{318     PROJ\_PRIVATE :}
\DoxyCodeLine{320         PROJ\_INTERNAL \textcolor{keywordtype}{void}}
\DoxyCodeLine{321         \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{322             \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{323 }
\DoxyCodeLine{324     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{325         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{326 }
\DoxyCodeLine{327     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{328         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{329         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{330             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{331         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{332 }
\DoxyCodeLine{333     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToPROJString(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{io::PROJStringFormatter}} *formatter)}
\DoxyCodeLine{334         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{336 \textcolor{comment}{}}
\DoxyCodeLine{337     PROJ\_INTERNAL \textcolor{keyword}{static} std::string}
\DoxyCodeLine{338     guessBodyName(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext, \textcolor{keywordtype}{double} a);}
\DoxyCodeLine{339 }
\DoxyCodeLine{340     PROJ\_INTERNAL \textcolor{keywordtype}{bool} lookForProjWellKnownEllps(std::string \&projEllpsName,}
\DoxyCodeLine{341                                                  std::string \&ellpsName) \textcolor{keyword}{const};}
\DoxyCodeLine{342 }
\DoxyCodeLine{343   \textcolor{keyword}{protected}:}
\DoxyCodeLine{344 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{345     \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} semiMajorAxis\_;}
\DoxyCodeLine{346     \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Scale}{common::Scale}} *inverseFlattening\_;}
\DoxyCodeLine{347     \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} *semiMinorAxis\_;}
\DoxyCodeLine{348     \textcolor{keywordtype}{bool} isSphere\_;}
\DoxyCodeLine{349     \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} *semiMedianAxis\_;}
\DoxyCodeLine{350 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{351 }
\DoxyCodeLine{352     PROJ\_INTERNAL \textcolor{keyword}{explicit} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&radius,}
\DoxyCodeLine{353                                      \textcolor{keyword}{const} std::string \&celestialBody);}
\DoxyCodeLine{354 }
\DoxyCodeLine{355     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&semiMajorAxisIn,}
\DoxyCodeLine{356                             \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Scale}{common::Scale}} \&invFlattening,}
\DoxyCodeLine{357                             \textcolor{keyword}{const} std::string \&celestialBody);}
\DoxyCodeLine{358 }
\DoxyCodeLine{359     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&semiMajorAxisIn,}
\DoxyCodeLine{360                             \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common::Length}} \&semiMinorAxisIn,}
\DoxyCodeLine{361                             \textcolor{keyword}{const} std::string \&celestialBody);}
\DoxyCodeLine{362 }
\DoxyCodeLine{363     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}} \&other);}
\DoxyCodeLine{364 }
\DoxyCodeLine{365     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{366 }
\DoxyCodeLine{367     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} createCLARKE\_1866();}
\DoxyCodeLine{368     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} createWGS84();}
\DoxyCodeLine{369     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} createGRS1980();}
\DoxyCodeLine{370 }
\DoxyCodeLine{371   \textcolor{keyword}{private}:}
\DoxyCodeLine{372     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{373     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{374 \};}
\DoxyCodeLine{375 }
\DoxyCodeLine{376 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{377 }
\DoxyCodeLine{378 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}};}
\DoxyCodeLine{380 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a48a7dace5dc8b03afd29080f4fc783c2}{GeodeticReferenceFramePtr}} = std::shared\_ptr<GeodeticReferenceFrame>;}
\DoxyCodeLine{382 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}} = util::nn<GeodeticReferenceFramePtr>;}
\DoxyCodeLine{383 }
\DoxyCodeLine{399 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \{}
\DoxyCodeLine{400   \textcolor{keyword}{public}:}
\DoxyCodeLine{402     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{\string~GeodeticReferenceFrame}}() \textcolor{keyword}{override};}
\DoxyCodeLine{404 }
\DoxyCodeLine{405     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \&primeMeridian() PROJ\_PURE\_DECL;}
\DoxyCodeLine{406 }
\DoxyCodeLine{407     \textcolor{comment}{// We constraint more than the standard into which the ellipsoid might}}
\DoxyCodeLine{408     \textcolor{comment}{// be omitted for a CRS with a non-\/ellipsoidal CS}}
\DoxyCodeLine{409     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \&ellipsoid() PROJ\_PURE\_DECL;}
\DoxyCodeLine{410 }
\DoxyCodeLine{411     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{412     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}}}
\DoxyCodeLine{413     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_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \&ellipsoid,}
\DoxyCodeLine{414            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchor,}
\DoxyCodeLine{415            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \&primeMeridian);}
\DoxyCodeLine{416 }
\DoxyCodeLine{417     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}}}
\DoxyCodeLine{418         \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame_add01d384cf70f836328310d1eea12e79}{EPSG\_6267}}; \textcolor{comment}{// North American Datum 1927}}
\DoxyCodeLine{419     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}}}
\DoxyCodeLine{420         \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame_aa81c0dc5394197e4d10cd9228da99b29}{EPSG\_6269}}; \textcolor{comment}{// North American Datum 1983}}
\DoxyCodeLine{421     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame_a1fe300913cd10d8c90ae3f825bb412c6}{EPSG\_6326}}; \textcolor{comment}{// WGS 84}}
\DoxyCodeLine{422 }
\DoxyCodeLine{424     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{425         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{426 }
\DoxyCodeLine{427     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{428         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{429 }
\DoxyCodeLine{430     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{431         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{432         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{433             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{434         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{435 }
\DoxyCodeLine{436     PROJ\_INTERNAL \textcolor{keywordtype}{bool} isEquivalentToNoExactTypeCheck(}
\DoxyCodeLine{437         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other, \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion,}
\DoxyCodeLine{438         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{440 }
\DoxyCodeLine{441   \textcolor{keyword}{protected}:}
\DoxyCodeLine{442 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{443     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1PrimeMeridian}{PrimeMeridian}} primeMeridian\_;}
\DoxyCodeLine{444     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Ellipsoid}{Ellipsoid}} *ellipsoid\_;}
\DoxyCodeLine{445 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{446 }
\DoxyCodeLine{447     PROJ\_INTERNAL}
\DoxyCodeLine{448     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}}(\textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \&ellipsoidIn,}
\DoxyCodeLine{449                            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \&primeMeridianIn);}
\DoxyCodeLine{450     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{451 }
\DoxyCodeLine{452     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}} createEPSG\_6267();}
\DoxyCodeLine{453     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}} createEPSG\_6269();}
\DoxyCodeLine{454     PROJ\_INTERNAL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a20e65946290b56257dc34c204287107f}{GeodeticReferenceFrameNNPtr}} createEPSG\_6326();}
\DoxyCodeLine{455 }
\DoxyCodeLine{456     \textcolor{keywordtype}{bool} hasEquivalentNameToUsingAlias(}
\DoxyCodeLine{457         \textcolor{keyword}{const} IdentifiedObject *other,}
\DoxyCodeLine{458         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const override};}
\DoxyCodeLine{459 }
\DoxyCodeLine{460   \textcolor{keyword}{private}:}
\DoxyCodeLine{461     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{462     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{463     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}} \&}
\DoxyCodeLine{464     operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{465 \};}
\DoxyCodeLine{466 }
\DoxyCodeLine{467 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{468 }
\DoxyCodeLine{469 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{DynamicGeodeticReferenceFrame}};}
\DoxyCodeLine{471 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_aac8f371e407adf7cc9dcf924cbd31934}{DynamicGeodeticReferenceFramePtr}} =}
\DoxyCodeLine{472     std::shared\_ptr<DynamicGeodeticReferenceFrame>;}
\DoxyCodeLine{474 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a8ecefc39c9fb5507cfd183d73559cf73}{DynamicGeodeticReferenceFrameNNPtr}} =}
\DoxyCodeLine{475     util::nn<DynamicGeodeticReferenceFramePtr>;}
\DoxyCodeLine{476 }
\DoxyCodeLine{485 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{DynamicGeodeticReferenceFrame}} final}
\DoxyCodeLine{486     : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1GeodeticReferenceFrame}{GeodeticReferenceFrame}} \{}
\DoxyCodeLine{487   \textcolor{keyword}{public}:}
\DoxyCodeLine{489     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{\string~DynamicGeodeticReferenceFrame}}() \textcolor{keyword}{override};}
\DoxyCodeLine{491 }
\DoxyCodeLine{492     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Measure}{common::Measure}} \&frameReferenceEpoch() \textcolor{keyword}{const};}
\DoxyCodeLine{493     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&deformationModelName() \textcolor{keyword}{const};}
\DoxyCodeLine{494 }
\DoxyCodeLine{495     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{496     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a8ecefc39c9fb5507cfd183d73559cf73}{DynamicGeodeticReferenceFrameNNPtr}}}
\DoxyCodeLine{497     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_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \&ellipsoid,}
\DoxyCodeLine{498            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchor,}
\DoxyCodeLine{499            \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \&primeMeridian,}
\DoxyCodeLine{500            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Measure}{common::Measure}} \&frameReferenceEpochIn,}
\DoxyCodeLine{501            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&deformationModelNameIn);}
\DoxyCodeLine{502 }
\DoxyCodeLine{504     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{505         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{506         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{507             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{508         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{509 }
\DoxyCodeLine{510     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{511         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{513 \textcolor{comment}{}}
\DoxyCodeLine{514   \textcolor{keyword}{protected}:}
\DoxyCodeLine{515 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{516     Measure frameReferenceEpoch\_;}
\DoxyCodeLine{517 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{518 }
\DoxyCodeLine{519     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{DynamicGeodeticReferenceFrame}}(}
\DoxyCodeLine{520         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a04467b887cbd29d5e07a05c9479f653a}{EllipsoidNNPtr}} \&ellipsoidIn,}
\DoxyCodeLine{521         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a76bc5ddc1fa027bbab2da81f5ae8196a}{PrimeMeridianNNPtr}} \&primeMeridianIn,}
\DoxyCodeLine{522         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Measure}{common::Measure}} \&frameReferenceEpochIn,}
\DoxyCodeLine{523         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&deformationModelNameIn);}
\DoxyCodeLine{524     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{525 }
\DoxyCodeLine{526   \textcolor{keyword}{private}:}
\DoxyCodeLine{527     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{528     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{DynamicGeodeticReferenceFrame}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{DynamicGeodeticReferenceFrame}} \&other) =}
\DoxyCodeLine{529         \textcolor{keyword}{delete};}
\DoxyCodeLine{530     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{DynamicGeodeticReferenceFrame}} \&}
\DoxyCodeLine{531     operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicGeodeticReferenceFrame}{DynamicGeodeticReferenceFrame}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{532 \};}
\DoxyCodeLine{533 }
\DoxyCodeLine{534 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{535 }
\DoxyCodeLine{541 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1CodeList}{util::CodeList}} \{}
\DoxyCodeLine{542   \textcolor{keyword}{public}:}
\DoxyCodeLine{543     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod_ab09c13e3a44fff1df3f5b3e92c33828f}{LEVELLING}};}
\DoxyCodeLine{544     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod_afc639db8e2648c6ceccd53b8d969d70b}{GEOID}};}
\DoxyCodeLine{545     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod_ad3a632b413091e739528493db305835f}{TIDAL}};}
\DoxyCodeLine{546 }
\DoxyCodeLine{547   \textcolor{keyword}{private}:}
\DoxyCodeLine{548     PROJ\_FRIEND\_OPTIONAL(\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}});}
\DoxyCodeLine{549     PROJ\_DLL \textcolor{keyword}{explicit} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}}(}
\DoxyCodeLine{550         \textcolor{keyword}{const} std::string \&nameIn = std::string());}
\DoxyCodeLine{551     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} \&other) = \textcolor{keywordflow}{default};}
\DoxyCodeLine{552     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} \&operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} \&other);}
\DoxyCodeLine{553 \};}
\DoxyCodeLine{554 }
\DoxyCodeLine{555 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{556 }
\DoxyCodeLine{557 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{VerticalReferenceFrame}};}
\DoxyCodeLine{559 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{VerticalReferenceFramePtr}} = std::shared\_ptr<VerticalReferenceFrame>;}
\DoxyCodeLine{561 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af502d3b268b44aa5325b489a26e8f6a7}{VerticalReferenceFrameNNPtr}} = util::nn<VerticalReferenceFramePtr>;}
\DoxyCodeLine{562 }
\DoxyCodeLine{571 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{VerticalReferenceFrame}} : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \{}
\DoxyCodeLine{572   \textcolor{keyword}{public}:}
\DoxyCodeLine{574     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{\string~VerticalReferenceFrame}}() \textcolor{keyword}{override};}
\DoxyCodeLine{576 }
\DoxyCodeLine{577     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<RealizationMethod>}} \&realizationMethod() \textcolor{keyword}{const};}
\DoxyCodeLine{578 }
\DoxyCodeLine{579     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{580     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af502d3b268b44aa5325b489a26e8f6a7}{VerticalReferenceFrameNNPtr}}}
\DoxyCodeLine{581     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{582            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchor =}
\DoxyCodeLine{583                \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}}(),}
\DoxyCodeLine{584            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<RealizationMethod>}} \&realizationMethodIn =}
\DoxyCodeLine{585                \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<RealizationMethod>}}());}
\DoxyCodeLine{586 }
\DoxyCodeLine{588     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{589         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{590         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{591             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{592         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{593 }
\DoxyCodeLine{594     PROJ\_INTERNAL \textcolor{keywordtype}{bool} isEquivalentToNoExactTypeCheck(}
\DoxyCodeLine{595         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other, \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion,}
\DoxyCodeLine{596         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext) \textcolor{keyword}{const};}
\DoxyCodeLine{597 }
\DoxyCodeLine{598     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{599         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{600 }
\DoxyCodeLine{601     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{602         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{603 }
\DoxyCodeLine{604     PROJ\_INTERNAL \textcolor{keyword}{const} std::string \&getWKT1DatumType() \textcolor{keyword}{const};}
\DoxyCodeLine{605 }
\DoxyCodeLine{607 }
\DoxyCodeLine{608   \textcolor{keyword}{protected}:}
\DoxyCodeLine{609 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{610     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1RealizationMethod}{RealizationMethod}} realizationMethod\_;}
\DoxyCodeLine{611 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{612 }
\DoxyCodeLine{613     PROJ\_INTERNAL \textcolor{keyword}{explicit} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{VerticalReferenceFrame}}(}
\DoxyCodeLine{614         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<RealizationMethod>}} \&realizationMethodIn);}
\DoxyCodeLine{615     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{616 }
\DoxyCodeLine{617   \textcolor{keyword}{private}:}
\DoxyCodeLine{618     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{619 \};}
\DoxyCodeLine{620 }
\DoxyCodeLine{621 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{622 }
\DoxyCodeLine{623 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{DynamicVerticalReferenceFrame}};}
\DoxyCodeLine{625 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_ae6a1e860bef64c0321a484c616ee525e}{DynamicVerticalReferenceFramePtr}} =}
\DoxyCodeLine{626     std::shared\_ptr<DynamicVerticalReferenceFrame>;}
\DoxyCodeLine{628 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a846e6b5f785a5bf7b25955c467187d26}{DynamicVerticalReferenceFrameNNPtr}} =}
\DoxyCodeLine{629     util::nn<DynamicVerticalReferenceFramePtr>;}
\DoxyCodeLine{630 }
\DoxyCodeLine{639 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{DynamicVerticalReferenceFrame}} final}
\DoxyCodeLine{640     : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{VerticalReferenceFrame}} \{}
\DoxyCodeLine{641   \textcolor{keyword}{public}:}
\DoxyCodeLine{643     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{\string~DynamicVerticalReferenceFrame}}() \textcolor{keyword}{override};}
\DoxyCodeLine{645 }
\DoxyCodeLine{646     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Measure}{common::Measure}} \&frameReferenceEpoch() \textcolor{keyword}{const};}
\DoxyCodeLine{647     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&deformationModelName() \textcolor{keyword}{const};}
\DoxyCodeLine{648 }
\DoxyCodeLine{649     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{650     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a846e6b5f785a5bf7b25955c467187d26}{DynamicVerticalReferenceFrameNNPtr}}}
\DoxyCodeLine{651     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{652            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchor,}
\DoxyCodeLine{653            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<RealizationMethod>}} \&realizationMethodIn,}
\DoxyCodeLine{654            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Measure}{common::Measure}} \&frameReferenceEpochIn,}
\DoxyCodeLine{655            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&deformationModelNameIn);}
\DoxyCodeLine{656 }
\DoxyCodeLine{658     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{659         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{660         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{661             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{662         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{663 }
\DoxyCodeLine{664     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{665         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{667 \textcolor{comment}{}}
\DoxyCodeLine{668   \textcolor{keyword}{protected}:}
\DoxyCodeLine{669 \textcolor{preprocessor}{\#ifdef DOXYGEN\_ENABLED}}
\DoxyCodeLine{670     Measure frameReferenceEpoch\_;}
\DoxyCodeLine{671 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{672 }
\DoxyCodeLine{673     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{DynamicVerticalReferenceFrame}}(}
\DoxyCodeLine{674         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<RealizationMethod>}} \&realizationMethodIn,}
\DoxyCodeLine{675         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Measure}{common::Measure}} \&frameReferenceEpochIn,}
\DoxyCodeLine{676         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&deformationModelNameIn);}
\DoxyCodeLine{677     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{678 }
\DoxyCodeLine{679   \textcolor{keyword}{private}:}
\DoxyCodeLine{680     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{681     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{DynamicVerticalReferenceFrame}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{DynamicVerticalReferenceFrame}} \&other) =}
\DoxyCodeLine{682         \textcolor{keyword}{delete};}
\DoxyCodeLine{683     \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{DynamicVerticalReferenceFrame}} \&}
\DoxyCodeLine{684     operator=(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DynamicVerticalReferenceFrame}{DynamicVerticalReferenceFrame}} \&other) = \textcolor{keyword}{delete};}
\DoxyCodeLine{685 \};}
\DoxyCodeLine{686 }
\DoxyCodeLine{687 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{688 }
\DoxyCodeLine{689 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1TemporalDatum}{TemporalDatum}};}
\DoxyCodeLine{691 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a18ee9bee422776aa0044719f69cbbe8c}{TemporalDatumPtr}} = std::shared\_ptr<TemporalDatum>;}
\DoxyCodeLine{693 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af8406d7a7054c19c49946d855c0385d9}{TemporalDatumNNPtr}} = util::nn<TemporalDatumPtr>;}
\DoxyCodeLine{694 }
\DoxyCodeLine{700 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1TemporalDatum}{TemporalDatum}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \{}
\DoxyCodeLine{701   \textcolor{keyword}{public}:}
\DoxyCodeLine{703     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1TemporalDatum}{\string~TemporalDatum}}() \textcolor{keyword}{override};}
\DoxyCodeLine{705 }
\DoxyCodeLine{706     PROJ\_DLL \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1DateTime}{common::DateTime}} \&temporalOrigin() \textcolor{keyword}{const};}
\DoxyCodeLine{707     PROJ\_DLL \textcolor{keyword}{const} std::string \&calendar() \textcolor{keyword}{const};}
\DoxyCodeLine{708 }
\DoxyCodeLine{709     PROJ\_DLL \textcolor{keyword}{static} \textcolor{keyword}{const} std::string \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1TemporalDatum_a33c75ae36744f2e4f50d4357d1105f59}{CALENDAR\_PROLEPTIC\_GREGORIAN}};}
\DoxyCodeLine{710 }
\DoxyCodeLine{711     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{712     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af8406d7a7054c19c49946d855c0385d9}{TemporalDatumNNPtr}}}
\DoxyCodeLine{713     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{714            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1DateTime}{common::DateTime}} \&temporalOriginIn,}
\DoxyCodeLine{715            \textcolor{keyword}{const} std::string \&calendarIn);}
\DoxyCodeLine{716 }
\DoxyCodeLine{718     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{719         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{720 }
\DoxyCodeLine{721     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{722         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{723 }
\DoxyCodeLine{724     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{725         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{726         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{727             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{728         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{730 }
\DoxyCodeLine{731   \textcolor{keyword}{protected}:}
\DoxyCodeLine{732     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1TemporalDatum}{TemporalDatum}}(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1DateTime}{common::DateTime}} \&temporalOriginIn,}
\DoxyCodeLine{733                                 \textcolor{keyword}{const} std::string \&calendarIn);}
\DoxyCodeLine{734     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{735 }
\DoxyCodeLine{736   \textcolor{keyword}{private}:}
\DoxyCodeLine{737     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{738 \};}
\DoxyCodeLine{739 }
\DoxyCodeLine{740 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{741 }
\DoxyCodeLine{742 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1EngineeringDatum}{EngineeringDatum}};}
\DoxyCodeLine{744 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a0c8a13bd4e6fac498dd4defcc964c730}{EngineeringDatumPtr}} = std::shared\_ptr<EngineeringDatum>;}
\DoxyCodeLine{746 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a4f152f92f701e000e1c0c151229df903}{EngineeringDatumNNPtr}} = util::nn<EngineeringDatumPtr>;}
\DoxyCodeLine{747 }
\DoxyCodeLine{757 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1EngineeringDatum}{EngineeringDatum}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \{}
\DoxyCodeLine{758   \textcolor{keyword}{public}:}
\DoxyCodeLine{760     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1EngineeringDatum}{\string~EngineeringDatum}}() \textcolor{keyword}{override};}
\DoxyCodeLine{762 }
\DoxyCodeLine{763     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{764     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a4f152f92f701e000e1c0c151229df903}{EngineeringDatumNNPtr}}}
\DoxyCodeLine{765     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{766            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchor =}
\DoxyCodeLine{767                \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}}());}
\DoxyCodeLine{768 }
\DoxyCodeLine{770     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{771         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{772 }
\DoxyCodeLine{773     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{774         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{775 }
\DoxyCodeLine{776     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{777         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{778         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{779             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{780         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{782 }
\DoxyCodeLine{783   \textcolor{keyword}{protected}:}
\DoxyCodeLine{784     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1EngineeringDatum}{EngineeringDatum}}();}
\DoxyCodeLine{785     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{786 }
\DoxyCodeLine{787   \textcolor{keyword}{private}:}
\DoxyCodeLine{788     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{789 \};}
\DoxyCodeLine{790 }
\DoxyCodeLine{791 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{792 }
\DoxyCodeLine{793 \textcolor{keyword}{class }\mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1ParametricDatum}{ParametricDatum}};}
\DoxyCodeLine{795 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_adf5d23e0e510390a177c48454e26cde8}{ParametricDatumPtr}} = std::shared\_ptr<ParametricDatum>;}
\DoxyCodeLine{797 \textcolor{keyword}{using} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a81d4a3eb84c3eb645fc50c1c2426293b}{ParametricDatumNNPtr}} = util::nn<ParametricDatumPtr>;}
\DoxyCodeLine{798 }
\DoxyCodeLine{805 \textcolor{keyword}{class }PROJ\_GCC\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1ParametricDatum}{ParametricDatum}} final : \textcolor{keyword}{public} \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1Datum}{Datum}} \{}
\DoxyCodeLine{806   \textcolor{keyword}{public}:}
\DoxyCodeLine{808     PROJ\_DLL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1ParametricDatum}{\string~ParametricDatum}}() \textcolor{keyword}{override};}
\DoxyCodeLine{810 }
\DoxyCodeLine{811     \textcolor{comment}{// non-\/standard}}
\DoxyCodeLine{812     PROJ\_DLL \textcolor{keyword}{static} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a81d4a3eb84c3eb645fc50c1c2426293b}{ParametricDatumNNPtr}}}
\DoxyCodeLine{813     create(\textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util::PropertyMap}} \&properties,}
\DoxyCodeLine{814            \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}} \&anchor =}
\DoxyCodeLine{815                \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util::optional<std::string>}}());}
\DoxyCodeLine{816 }
\DoxyCodeLine{818     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToWKT(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{io::WKTFormatter}} *formatter)}
\DoxyCodeLine{819         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(io::FormattingException)}}
\DoxyCodeLine{820 }
\DoxyCodeLine{821     PROJ\_INTERNAL \textcolor{keywordtype}{void} \_exportToJSON(\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{io::JSONFormatter}} *formatter)}
\DoxyCodeLine{822         \textcolor{keyword}{const override}; \textcolor{comment}{// throw(FormattingException)}}
\DoxyCodeLine{823 }
\DoxyCodeLine{824     PROJ\_INTERNAL \textcolor{keywordtype}{bool} \_isEquivalentTo(}
\DoxyCodeLine{825         \textcolor{keyword}{const} \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{util::IComparable}} *other,}
\DoxyCodeLine{826         \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140}{util::IComparable::Criterion}} criterion =}
\DoxyCodeLine{827             util::IComparable::Criterion::STRICT,}
\DoxyCodeLine{828         \textcolor{keyword}{const} \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io::DatabaseContextPtr}} \&dbContext = \textcolor{keyword}{nullptr}) \textcolor{keyword}{const override};}
\DoxyCodeLine{830 }
\DoxyCodeLine{831   \textcolor{keyword}{protected}:}
\DoxyCodeLine{832     PROJ\_INTERNAL \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1ParametricDatum}{ParametricDatum}}();}
\DoxyCodeLine{833     INLINED\_MAKE\_SHARED}
\DoxyCodeLine{834 }
\DoxyCodeLine{835   \textcolor{keyword}{private}:}
\DoxyCodeLine{836     PROJ\_OPAQUE\_PRIVATE\_DATA}
\DoxyCodeLine{837 \};}
\DoxyCodeLine{838 }
\DoxyCodeLine{839 \} \textcolor{comment}{// namespace datum}}
\DoxyCodeLine{840 }
\DoxyCodeLine{841 NS\_PROJ\_END}
\DoxyCodeLine{842 }
\DoxyCodeLine{843 \textcolor{preprocessor}{\#endif }\textcolor{comment}{//  DATUM\_HH\_INCLUDED}}

\end{DoxyCode}
