\hypertarget{a01181}{\section{Open\+Mesh\+:\+:Singleton\+T$<$ T $>$ Class Template Reference}
\label{a01181}\index{Open\+Mesh\+::\+Singleton\+T$<$ T $>$@{Open\+Mesh\+::\+Singleton\+T$<$ T $>$}}
}


{\ttfamily \#include $<$libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Utils/\+Singleton\+T.\+hh$>$}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static T \& \hyperlink{a01181_a1cfb84dcdf0ebf3374fddaaec0655b9a}{Instance} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01181_aa130c2149be3a62371724c7d3117fe30}{{\bfseries Singleton\+T} (const \hyperlink{a01181}{Singleton\+T} \&)}\label{a01181_aa130c2149be3a62371724c7d3117fe30}

\item 
\hypertarget{a01181_abd3ad61b5668f28a597df3f251681d7b}{\hyperlink{a01181}{Singleton\+T} \& {\bfseries operator=} (const \hyperlink{a01181}{Singleton\+T} \&)}\label{a01181_abd3ad61b5668f28a597df3f251681d7b}

\end{DoxyCompactItemize}
\subsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01181_a0e0e31ce21a28a13a748abf50822d0ac}{static void {\bfseries Create} ()}\label{a01181_a0e0e31ce21a28a13a748abf50822d0ac}

\item 
\hypertarget{a01181_a9e68cf55f01d281eff997f209dfae8b0}{static void {\bfseries On\+Dead\+Reference} ()}\label{a01181_a9e68cf55f01d281eff997f209dfae8b0}

\end{DoxyCompactItemize}
\subsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01181_aa2538328f891be30ac8620435b26f6e3}{static T $\ast$ {\bfseries p\+Instance\+\_\+\+\_\+} = 0}\label{a01181_aa2538328f891be30ac8620435b26f6e3}

\item 
\hypertarget{a01181_a7984ed7c242b0bdc9ed733d9a1c45605}{static bool {\bfseries destroyed\+\_\+\+\_\+} = false}\label{a01181_a7984ed7c242b0bdc9ed733d9a1c45605}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T$>$class Open\+Mesh\+::\+Singleton\+T$<$ T $>$}

A simple singleton template. Encapsulates an arbitrary class and enforces its uniqueness. 

Definition at line 84 of file Singleton\+T.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a01181_a1cfb84dcdf0ebf3374fddaaec0655b9a}{\index{Open\+Mesh\+::\+Singleton\+T@{Open\+Mesh\+::\+Singleton\+T}!Instance@{Instance}}
\index{Instance@{Instance}!Open\+Mesh\+::\+Singleton\+T@{Open\+Mesh\+::\+Singleton\+T}}
\subsubsection[{Instance}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ static T\& {\bf Open\+Mesh\+::\+Singleton\+T}$<$ T $>$\+::Instance (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{a01181_a1cfb84dcdf0ebf3374fddaaec0655b9a}
Singleton access function. Use this function to obtain a reference to the instance of the encapsulated class. Note that this instance is unique and created on the first call to \hyperlink{a01181_a1cfb84dcdf0ebf3374fddaaec0655b9a}{Instance()}. 

Definition at line 94 of file Singleton\+T.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Utils/Singleton\+T.\+hh\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Utils/Singleton\+T.\+cc\end{DoxyCompactItemize}
