\hypertarget{classosgeo_1_1proj_1_1util_1_1optional}{}\doxysection{osgeo\+::proj\+::util\+::optional\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference}
\label{classosgeo_1_1proj_1_1util_1_1optional}\index{osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}}


Loose transposition of \mbox{[}std\+::optional\mbox{]} (\href{https://en.cppreference.com/w/cpp/utility/optional}{\texttt{ https\+://en.\+cppreference.\+com/w/cpp/utility/optional}}) available from C++17.  




{\ttfamily \#include $<$util.\+hpp$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const T $\ast$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional_a997e2ff81333231256a4ab557758e302}{operator-\/$>$}} () const
\item 
const T \& \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional_a2a2b6413a520f0b0a2acc38e2e2f3129}{operator$\ast$}} () const
\item 
\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional_a746d372936aab2eca20ff5e060b6eff3}{operator bool}} () const noexcept
\item 
bool \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional_ac3efdc7fdbcb8265d0e22502208d5707}{has\+\_\+value}} () const noexcept
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class T$>$\newline
class osgeo\+::proj\+::util\+::optional$<$ T $>$}
Loose transposition of \mbox{[}std\+::optional\mbox{]} (\href{https://en.cppreference.com/w/cpp/utility/optional}{\texttt{ https\+://en.\+cppreference.\+com/w/cpp/utility/optional}}) available from C++17. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1util_1_1optional_ac3efdc7fdbcb8265d0e22502208d5707}\label{classosgeo_1_1proj_1_1util_1_1optional_ac3efdc7fdbcb8265d0e22502208d5707}} 
\index{osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}!has\_value@{has\_value}}
\index{has\_value@{has\_value}!osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{has\_value()}{has\_value()}}
{\footnotesize\ttfamily template$<$class T $>$ \\
bool \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{osgeo\+::proj\+::util\+::optional}}$<$ T $>$\+::has\+\_\+value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}

Return whether the optional has a value \mbox{\Hypertarget{classosgeo_1_1proj_1_1util_1_1optional_a746d372936aab2eca20ff5e060b6eff3}\label{classosgeo_1_1proj_1_1util_1_1optional_a746d372936aab2eca20ff5e060b6eff3}} 
\index{osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}!operator bool@{operator bool}}
\index{operator bool@{operator bool}!osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator bool()}{operator bool()}}
{\footnotesize\ttfamily template$<$class T $>$ \\
\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{osgeo\+::proj\+::util\+::optional}}$<$ T $>$\+::operator bool (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}}

Return whether the optional has a value \mbox{\Hypertarget{classosgeo_1_1proj_1_1util_1_1optional_a2a2b6413a520f0b0a2acc38e2e2f3129}\label{classosgeo_1_1proj_1_1util_1_1optional_a2a2b6413a520f0b0a2acc38e2e2f3129}} 
\index{osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}}
{\footnotesize\ttfamily template$<$class T $>$ \\
const T \& \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{osgeo\+::proj\+::util\+::optional}}$<$ T $>$\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Returns a reference to the contained value. \mbox{\Hypertarget{classosgeo_1_1proj_1_1util_1_1optional_a997e2ff81333231256a4ab557758e302}\label{classosgeo_1_1proj_1_1util_1_1optional_a997e2ff81333231256a4ab557758e302}} 
\index{osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!osgeo::proj::util::optional$<$ T $>$@{osgeo::proj::util::optional$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}}
{\footnotesize\ttfamily template$<$class T $>$ \\
const T $\ast$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{osgeo\+::proj\+::util\+::optional}}$<$ T $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Returns a pointer to the contained value. 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/proj/util.\+hpp\end{DoxyCompactItemize}
