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


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

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static T \& \hyperlink{classOpenMesh_1_1SingletonT_a1cfb84dcdf0ebf3374fddaaec0655b9a}{Instance} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1SingletonT_aa130c2149be3a62371724c7d3117fe30}\label{classOpenMesh_1_1SingletonT_aa130c2149be3a62371724c7d3117fe30}} 
{\bfseries SingletonT} (const \hyperlink{classOpenMesh_1_1SingletonT}{SingletonT} \&)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1SingletonT_abd3ad61b5668f28a597df3f251681d7b}\label{classOpenMesh_1_1SingletonT_abd3ad61b5668f28a597df3f251681d7b}} 
\hyperlink{classOpenMesh_1_1SingletonT}{SingletonT} \& {\bfseries operator=} (const \hyperlink{classOpenMesh_1_1SingletonT}{SingletonT} \&)
\end{DoxyCompactItemize}
\subsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1SingletonT_a0e0e31ce21a28a13a748abf50822d0ac}\label{classOpenMesh_1_1SingletonT_a0e0e31ce21a28a13a748abf50822d0ac}} 
static void {\bfseries Create} ()
\item 
\mbox{\Hypertarget{classOpenMesh_1_1SingletonT_a9e68cf55f01d281eff997f209dfae8b0}\label{classOpenMesh_1_1SingletonT_a9e68cf55f01d281eff997f209dfae8b0}} 
static void {\bfseries On\+Dead\+Reference} ()
\end{DoxyCompactItemize}
\subsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1SingletonT_aa2538328f891be30ac8620435b26f6e3}\label{classOpenMesh_1_1SingletonT_aa2538328f891be30ac8620435b26f6e3}} 
static T $\ast$ {\bfseries p\+Instance\+\_\+\+\_\+} = 0
\item 
\mbox{\Hypertarget{classOpenMesh_1_1SingletonT_a7984ed7c242b0bdc9ed733d9a1c45605}\label{classOpenMesh_1_1SingletonT_a7984ed7c242b0bdc9ed733d9a1c45605}} 
static bool {\bfseries destroyed\+\_\+\+\_\+} = false
\end{DoxyCompactItemize}


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

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

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenMesh_1_1SingletonT_a1cfb84dcdf0ebf3374fddaaec0655b9a}\label{classOpenMesh_1_1SingletonT_a1cfb84dcdf0ebf3374fddaaec0655b9a}} 
\index{Open\+Mesh\+::\+SingletonT@{Open\+Mesh\+::\+SingletonT}!Instance@{Instance}}
\index{Instance@{Instance}!Open\+Mesh\+::\+SingletonT@{Open\+Mesh\+::\+SingletonT}}
\subsubsection{\texorpdfstring{Instance()}{Instance()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T\& \hyperlink{classOpenMesh_1_1SingletonT}{Open\+Mesh\+::\+SingletonT}$<$ T $>$\+::Instance (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

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{classOpenMesh_1_1SingletonT_a1cfb84dcdf0ebf3374fddaaec0655b9a}{Instance()}. 

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



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