\hypertarget{coordinateoperation__private_8hpp_source}{}\doxysection{coordinateoperation\+\_\+private.\+hpp}
\label{coordinateoperation__private_8hpp_source}\index{src/iso19111/operation/coordinateoperation\_private.hpp@{src/iso19111/operation/coordinateoperation\_private.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 COORDINATEROPERATION\_PRIVATE\_HPP}}
\DoxyCodeLine{30 \textcolor{preprocessor}{\#define COORDINATEROPERATION\_PRIVATE\_HPP}}
\DoxyCodeLine{31 }
\DoxyCodeLine{32 \textcolor{preprocessor}{\#include "{}proj/coordinateoperation.hpp"{}}}
\DoxyCodeLine{33 \textcolor{preprocessor}{\#include "{}proj/util.hpp"{}}}
\DoxyCodeLine{34 }
\DoxyCodeLine{35 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{36 }
\DoxyCodeLine{37 NS\_PROJ\_START}
\DoxyCodeLine{38 \textcolor{keyword}{namespace }operation \{}
\DoxyCodeLine{39 }
\DoxyCodeLine{40 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{41 }
\DoxyCodeLine{43 \textcolor{keyword}{struct }CoordinateOperation::Private \{}
\DoxyCodeLine{44     util::optional<std::string> operationVersion\_\{\};}
\DoxyCodeLine{45     std::vector<metadata::PositionalAccuracyNNPtr>}
\DoxyCodeLine{46         coordinateOperationAccuracies\_\{\};}
\DoxyCodeLine{47     std::weak\_ptr<crs::CRS> sourceCRSWeak\_\{\};}
\DoxyCodeLine{48     std::weak\_ptr<crs::CRS> targetCRSWeak\_\{\};}
\DoxyCodeLine{49     crs::CRSPtr interpolationCRS\_\{\};}
\DoxyCodeLine{50     util::optional<common::DataEpoch> sourceCoordinateEpoch\_\{\};}
\DoxyCodeLine{51     util::optional<common::DataEpoch> targetCoordinateEpoch\_\{\};}
\DoxyCodeLine{52     \textcolor{keywordtype}{bool} hasBallparkTransformation\_ = \textcolor{keyword}{false};}
\DoxyCodeLine{53 }
\DoxyCodeLine{54     \textcolor{comment}{// do not set this for a ProjectedCRS.definingConversion}}
\DoxyCodeLine{55     \textcolor{keyword}{struct }CRSStrongRef \{}
\DoxyCodeLine{56         crs::CRSNNPtr sourceCRS\_;}
\DoxyCodeLine{57         crs::CRSNNPtr targetCRS\_;}
\DoxyCodeLine{58         CRSStrongRef(\textcolor{keyword}{const} crs::CRSNNPtr \&sourceCRSIn,}
\DoxyCodeLine{59                      \textcolor{keyword}{const} crs::CRSNNPtr \&targetCRSIn)}
\DoxyCodeLine{60             : sourceCRS\_(sourceCRSIn), targetCRS\_(targetCRSIn) \{\}}
\DoxyCodeLine{61     \};}
\DoxyCodeLine{62     std::unique\_ptr<CRSStrongRef> strongRef\_\{\};}
\DoxyCodeLine{63 }
\DoxyCodeLine{64     Private() = \textcolor{keywordflow}{default};}
\DoxyCodeLine{65     Private(\textcolor{keyword}{const} Private \&other)}
\DoxyCodeLine{66         : operationVersion\_(other.operationVersion\_),}
\DoxyCodeLine{67           coordinateOperationAccuracies\_(other.coordinateOperationAccuracies\_),}
\DoxyCodeLine{68           sourceCRSWeak\_(other.sourceCRSWeak\_),}
\DoxyCodeLine{69           targetCRSWeak\_(other.targetCRSWeak\_),}
\DoxyCodeLine{70           interpolationCRS\_(other.interpolationCRS\_),}
\DoxyCodeLine{71           sourceCoordinateEpoch\_(other.sourceCoordinateEpoch\_),}
\DoxyCodeLine{72           targetCoordinateEpoch\_(other.targetCoordinateEpoch\_),}
\DoxyCodeLine{73           hasBallparkTransformation\_(other.hasBallparkTransformation\_),}
\DoxyCodeLine{74           strongRef\_(other.strongRef\_ ? internal::make\_unique<CRSStrongRef>(}
\DoxyCodeLine{75                                             *(other.strongRef\_))}
\DoxyCodeLine{76                                       : nullptr) \{\}}
\DoxyCodeLine{77 }
\DoxyCodeLine{78     Private \&operator=(\textcolor{keyword}{const} Private \&) = \textcolor{keyword}{delete};}
\DoxyCodeLine{79 \};}
\DoxyCodeLine{81 }
\DoxyCodeLine{82 \textcolor{comment}{// -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{83 }
\DoxyCodeLine{84 \} \textcolor{comment}{// namespace operation}}
\DoxyCodeLine{85 NS\_PROJ\_END}
\DoxyCodeLine{86 }
\DoxyCodeLine{87 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// COORDINATEROPERATION\_PRIVATE\_HPP}}

\end{DoxyCode}
