\hypertarget{namespaceosgeo_1_1proj_1_1util}{}\doxysection{osgeo\+::proj\+::util Namespace Reference}
\label{namespaceosgeo_1_1proj_1_1util}\index{osgeo::proj::util@{osgeo::proj::util}}


A set of base types from ISO 19103, \mbox{\hyperlink{general_doc_GeoAPI}{Geo\+API}} and other PROJ specific classes.  


\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1ArrayOfBaseObject}{Array\+Of\+Base\+Object}}
\begin{DoxyCompactList}\small\item\em Array of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BaseObject}{Base\+Object}}. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BaseObject}{Base\+Object}}
\begin{DoxyCompactList}\small\item\em Class that can be derived from, to emulate Java\textquotesingle{}s Object behavior. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structosgeo_1_1proj_1_1util_1_1BaseObjectNNPtr}{Base\+Object\+NNPtr}}
\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BoxedValue}{Boxed\+Value}}
\begin{DoxyCompactList}\small\item\em Encapsulate standard datatypes in an object. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1CodeList}{Code\+List}}
\begin{DoxyCompactList}\small\item\em Abstract class to define an enumeration of values. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1Exception}{Exception}}
\begin{DoxyCompactList}\small\item\em Root exception class. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1GenericName}{Generic\+Name}}
\begin{DoxyCompactList}\small\item\em A sequence of identifiers rooted within the context of a namespace. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable}{IComparable}}
\begin{DoxyCompactList}\small\item\em Interface for an object that can be compared to another. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1InvalidValueTypeException}{Invalid\+Value\+Type\+Exception}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1Exception}{Exception}} thrown when an invalid value type is set as the value of a key of a \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{Property\+Map}}. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1LocalName}{Local\+Name}}
\begin{DoxyCompactList}\small\item\em Identifier within a \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1NameSpace}{Name\+Space}} for a local object. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1NameFactory}{Name\+Factory}}
\begin{DoxyCompactList}\small\item\em Factory for generic names. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1NameSpace}{Name\+Space}}
\begin{DoxyCompactList}\small\item\em A domain in which names given by strings are defined. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{optional}}
\begin{DoxyCompactList}\small\item\em 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. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{Property\+Map}}
\begin{DoxyCompactList}\small\item\em Wrapper of a std\+::map$<$std\+::string, Base\+Object\+NNPtr$>$ \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1UnsupportedOperationException}{Unsupported\+Operation\+Exception}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1Exception}{Exception}} Thrown to indicate that the requested operation is not supported. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a4ec69d7c5d1f74e15c67b41fa295bd81}{Base\+Object\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BaseObject}{Base\+Object}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_ae7c16c9a1acb387eda56240ec8c4d9f9}{Boxed\+Value\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BoxedValue}{Boxed\+Value}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a17a09a921e2152e38f0740d05dc577d3}{Boxed\+Value\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_ae7c16c9a1acb387eda56240ec8c4d9f9}{Boxed\+Value\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a46059151bb89c607e3177e5b8bb23615}{Array\+Of\+Base\+Object\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1ArrayOfBaseObject}{Array\+Of\+Base\+Object}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a7fc091170790d0923879c9367fc5cc6d}{Array\+Of\+Base\+Object\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a46059151bb89c607e3177e5b8bb23615}{Array\+Of\+Base\+Object\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a692ff069e17298e43f0766b84f1b8298}{Local\+Name\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1LocalName}{Local\+Name}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a81c580f5c3f508de9c1b83340b33dc82}{Local\+Name\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a692ff069e17298e43f0766b84f1b8298}{Local\+Name\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a4d31fdb4b25f73b6ebf6641a1a513c43}{Name\+Space\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1NameSpace}{Name\+Space}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a6a0a58afce07d6d01a88f580ded5d005}{Name\+Space\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a4d31fdb4b25f73b6ebf6641a1a513c43}{Name\+Space\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a5f457242619432534168a9c780d448a5}{Generic\+Name\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1GenericName}{Generic\+Name}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_acb99046eaf266f8cdf30304a5c43f696}{Generic\+Name\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a5f457242619432534168a9c780d448a5}{Generic\+Name\+Ptr}} $>$
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A set of base types from ISO 19103, \mbox{\hyperlink{general_doc_GeoAPI}{Geo\+API}} and other PROJ specific classes. 

\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util}{osgeo.\+proj.\+util}} namespace. 

\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a7fc091170790d0923879c9367fc5cc6d}\label{namespaceosgeo_1_1proj_1_1util_a7fc091170790d0923879c9367fc5cc6d}} 
\index{osgeo::proj::util@{osgeo::proj::util}!ArrayOfBaseObjectNNPtr@{ArrayOfBaseObjectNNPtr}}
\index{ArrayOfBaseObjectNNPtr@{ArrayOfBaseObjectNNPtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{ArrayOfBaseObjectNNPtr}{ArrayOfBaseObjectNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a7fc091170790d0923879c9367fc5cc6d}{osgeo\+::proj\+::util\+::\+Array\+Of\+Base\+Object\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a46059151bb89c607e3177e5b8bb23615}{Array\+Of\+Base\+Object\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1ArrayOfBaseObject}{Array\+Of\+Base\+Object}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a46059151bb89c607e3177e5b8bb23615}\label{namespaceosgeo_1_1proj_1_1util_a46059151bb89c607e3177e5b8bb23615}} 
\index{osgeo::proj::util@{osgeo::proj::util}!ArrayOfBaseObjectPtr@{ArrayOfBaseObjectPtr}}
\index{ArrayOfBaseObjectPtr@{ArrayOfBaseObjectPtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{ArrayOfBaseObjectPtr}{ArrayOfBaseObjectPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a46059151bb89c607e3177e5b8bb23615}{osgeo\+::proj\+::util\+::\+Array\+Of\+Base\+Object\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1ArrayOfBaseObject}{Array\+Of\+Base\+Object}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1ArrayOfBaseObject}{Array\+Of\+Base\+Object}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a4ec69d7c5d1f74e15c67b41fa295bd81}\label{namespaceosgeo_1_1proj_1_1util_a4ec69d7c5d1f74e15c67b41fa295bd81}} 
\index{osgeo::proj::util@{osgeo::proj::util}!BaseObjectPtr@{BaseObjectPtr}}
\index{BaseObjectPtr@{BaseObjectPtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{BaseObjectPtr}{BaseObjectPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a4ec69d7c5d1f74e15c67b41fa295bd81}{osgeo\+::proj\+::util\+::\+Base\+Object\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BaseObject}{Base\+Object}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BaseObject}{Base\+Object}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a17a09a921e2152e38f0740d05dc577d3}\label{namespaceosgeo_1_1proj_1_1util_a17a09a921e2152e38f0740d05dc577d3}} 
\index{osgeo::proj::util@{osgeo::proj::util}!BoxedValueNNPtr@{BoxedValueNNPtr}}
\index{BoxedValueNNPtr@{BoxedValueNNPtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{BoxedValueNNPtr}{BoxedValueNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a17a09a921e2152e38f0740d05dc577d3}{osgeo\+::proj\+::util\+::\+Boxed\+Value\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_ae7c16c9a1acb387eda56240ec8c4d9f9}{Boxed\+Value\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BoxedValue}{Boxed\+Value}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_ae7c16c9a1acb387eda56240ec8c4d9f9}\label{namespaceosgeo_1_1proj_1_1util_ae7c16c9a1acb387eda56240ec8c4d9f9}} 
\index{osgeo::proj::util@{osgeo::proj::util}!BoxedValuePtr@{BoxedValuePtr}}
\index{BoxedValuePtr@{BoxedValuePtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{BoxedValuePtr}{BoxedValuePtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_ae7c16c9a1acb387eda56240ec8c4d9f9}{osgeo\+::proj\+::util\+::\+Boxed\+Value\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BoxedValue}{Boxed\+Value}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BoxedValue}{Boxed\+Value}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_acb99046eaf266f8cdf30304a5c43f696}\label{namespaceosgeo_1_1proj_1_1util_acb99046eaf266f8cdf30304a5c43f696}} 
\index{osgeo::proj::util@{osgeo::proj::util}!GenericNameNNPtr@{GenericNameNNPtr}}
\index{GenericNameNNPtr@{GenericNameNNPtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{GenericNameNNPtr}{GenericNameNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_acb99046eaf266f8cdf30304a5c43f696}{osgeo\+::proj\+::util\+::\+Generic\+Name\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a5f457242619432534168a9c780d448a5}{Generic\+Name\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1GenericName}{Generic\+Name}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a5f457242619432534168a9c780d448a5}\label{namespaceosgeo_1_1proj_1_1util_a5f457242619432534168a9c780d448a5}} 
\index{osgeo::proj::util@{osgeo::proj::util}!GenericNamePtr@{GenericNamePtr}}
\index{GenericNamePtr@{GenericNamePtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{GenericNamePtr}{GenericNamePtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a5f457242619432534168a9c780d448a5}{osgeo\+::proj\+::util\+::\+Generic\+Name\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1GenericName}{Generic\+Name}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1GenericName}{Generic\+Name}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a81c580f5c3f508de9c1b83340b33dc82}\label{namespaceosgeo_1_1proj_1_1util_a81c580f5c3f508de9c1b83340b33dc82}} 
\index{osgeo::proj::util@{osgeo::proj::util}!LocalNameNNPtr@{LocalNameNNPtr}}
\index{LocalNameNNPtr@{LocalNameNNPtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{LocalNameNNPtr}{LocalNameNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a81c580f5c3f508de9c1b83340b33dc82}{osgeo\+::proj\+::util\+::\+Local\+Name\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a692ff069e17298e43f0766b84f1b8298}{Local\+Name\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1LocalName}{Local\+Name}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a692ff069e17298e43f0766b84f1b8298}\label{namespaceosgeo_1_1proj_1_1util_a692ff069e17298e43f0766b84f1b8298}} 
\index{osgeo::proj::util@{osgeo::proj::util}!LocalNamePtr@{LocalNamePtr}}
\index{LocalNamePtr@{LocalNamePtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{LocalNamePtr}{LocalNamePtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a692ff069e17298e43f0766b84f1b8298}{osgeo\+::proj\+::util\+::\+Local\+Name\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1LocalName}{Local\+Name}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1LocalName}{Local\+Name}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a6a0a58afce07d6d01a88f580ded5d005}\label{namespaceosgeo_1_1proj_1_1util_a6a0a58afce07d6d01a88f580ded5d005}} 
\index{osgeo::proj::util@{osgeo::proj::util}!NameSpaceNNPtr@{NameSpaceNNPtr}}
\index{NameSpaceNNPtr@{NameSpaceNNPtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{NameSpaceNNPtr}{NameSpaceNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a6a0a58afce07d6d01a88f580ded5d005}{osgeo\+::proj\+::util\+::\+Name\+Space\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a4d31fdb4b25f73b6ebf6641a1a513c43}{Name\+Space\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1NameSpace}{Name\+Space}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1util_a4d31fdb4b25f73b6ebf6641a1a513c43}\label{namespaceosgeo_1_1proj_1_1util_a4d31fdb4b25f73b6ebf6641a1a513c43}} 
\index{osgeo::proj::util@{osgeo::proj::util}!NameSpacePtr@{NameSpacePtr}}
\index{NameSpacePtr@{NameSpacePtr}!osgeo::proj::util@{osgeo::proj::util}}
\doxysubsubsection{\texorpdfstring{NameSpacePtr}{NameSpacePtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1util_a4d31fdb4b25f73b6ebf6641a1a513c43}{osgeo\+::proj\+::util\+::\+Name\+Space\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1NameSpace}{Name\+Space}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1NameSpace}{Name\+Space}}. 