\hypertarget{classGpgFrontend_1_1SingletonFunctionObject}{}\doxysection{Gpg\+Frontend\+::Singleton\+Function\+Object$<$ T $>$ Class Template Reference} \label{classGpgFrontend_1_1SingletonFunctionObject}\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} {\ttfamily \#include $<$Gpg\+Function\+Object.\+h$>$} Inheritance diagram for Gpg\+Frontend\+::Singleton\+Function\+Object$<$ T $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classGpgFrontend_1_1SingletonFunctionObject__inherit__graph} \end{center} \end{figure} Collaboration diagram for Gpg\+Frontend\+::Singleton\+Function\+Object$<$ T $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=252pt]{classGpgFrontend_1_1SingletonFunctionObject__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a194e49b07d46345bdad386505d743a61}\label{classGpgFrontend_1_1SingletonFunctionObject_a194e49b07d46345bdad386505d743a61}} \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a194e49b07d46345bdad386505d743a61}{Singleton\+Function\+Object}} (const \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}$<$ T $>$ \&)=delete \begin{DoxyCompactList}\small\item\em prohibit copy \end{DoxyCompactList}\item auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a99eb547639a63e7c2f467ebb611c95b7}{operator=}} (const \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}$<$ T $>$ \&) -\/$>$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} \&=delete \begin{DoxyCompactList}\small\item\em prohibit copy \end{DoxyCompactList}\item auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a94ee1e1251023610590e675ae3de8bd5}{Get\+Channel}} () const -\/$>$ int \begin{DoxyCompactList}\small\item\em Get the Channel object. \end{DoxyCompactList}\item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}\label{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}} \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}{Singleton\+Function\+Object}} (T \&\&)=delete \begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}\label{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}} \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}{Singleton\+Function\+Object}} (const T \&)=delete \begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a03ce3095a745ecbf5e6a032e7da4bc97}\label{classGpgFrontend_1_1SingletonFunctionObject_a03ce3095a745ecbf5e6a032e7da4bc97}} void {\bfseries operator=} (const T \&)=delete \end{DoxyCompactItemize} \doxysubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ac963fee992753970bfb5c81608d4070f}{Get\+Instance}} (int channel=Gpg\+Frontend\+::k\+Gpg\+Frontend\+Default\+Channel) -\/$>$ T \& \begin{DoxyCompactList}\small\item\em Get the Instance object. \end{DoxyCompactList}\item static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_adff3ff15fc67b7e9cdeeb2577541fbc4}{Create\+Instance}} (int channel, const std\+::function$<$ Channel\+Object\+Ptr(void)$>$ \&factory) -\/$>$ T \& \begin{DoxyCompactList}\small\item\em Create a Instance object. \end{DoxyCompactList}\item static void \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ab49b1d50252e1934691a9483a6df2106}{Release\+Channel}} (int channel) \item static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ad983153cbe3a0c32c123c506e04f31fc}{Get\+Default\+Channel}} () -\/$>$ int \begin{DoxyCompactList}\small\item\em Get the Default Channel object. \end{DoxyCompactList}\item static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aa7b5db19f3a130886f43607a345a0e1d}{Get\+All\+Channel\+Id}} () -\/$>$ std\+::vector$<$ int $>$ \begin{DoxyCompactList}\small\item\em Get all the channel ids. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Protected Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}\label{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}} \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}{Singleton\+Function\+Object}} ()=default \begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a4aa7f1eb1d3281bb1fccfcbb1b416251}{Singleton\+Function\+Object}} (int channel) \begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}\label{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}} virtual \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}{$\sim$\+Singleton\+Function\+Object}} ()=default \begin{DoxyCompactList}\small\item\em Destroy the Singleton Function Object object. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$typename T$>$\newline class Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ T $>$} \begin{DoxyTemplParams}{Template Parameters} {\em T} & \\ \hline \end{DoxyTemplParams} \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a4aa7f1eb1d3281bb1fccfcbb1b416251}\label{classGpgFrontend_1_1SingletonFunctionObject_a4aa7f1eb1d3281bb1fccfcbb1b416251}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!SingletonFunctionObject@{SingletonFunctionObject}} \index{SingletonFunctionObject@{SingletonFunctionObject}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{SingletonFunctionObject()}{SingletonFunctionObject()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} (\begin{DoxyParamCaption}\item[{int}]{channel }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [protected]}} Construct a new Singleton Function Object object. \begin{DoxyParams}{Parameters} {\em channel} & \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_adff3ff15fc67b7e9cdeeb2577541fbc4}\label{classGpgFrontend_1_1SingletonFunctionObject_adff3ff15fc67b7e9cdeeb2577541fbc4}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!CreateInstance@{CreateInstance}} \index{CreateInstance@{CreateInstance}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{CreateInstance()}{CreateInstance()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Create\+Instance (\begin{DoxyParamCaption}\item[{int}]{channel, }\item[{const std\+::function$<$ Channel\+Object\+Ptr(void)$>$ \&}]{factory }\end{DoxyParamCaption}) -\/$>$ T\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Create a Instance object. \begin{DoxyParams}{Parameters} {\em channel} & \\ \hline {\em factory} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} T\& \end{DoxyReturn} \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aa7b5db19f3a130886f43607a345a0e1d}\label{classGpgFrontend_1_1SingletonFunctionObject_aa7b5db19f3a130886f43607a345a0e1d}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetAllChannelId@{GetAllChannelId}} \index{GetAllChannelId@{GetAllChannelId}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{GetAllChannelId()}{GetAllChannelId()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+All\+Channel\+Id (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ std\+::vector$<$int$>$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Get all the channel ids. \begin{DoxyReturn}{Returns} std\+::vector$<$int$>$ \end{DoxyReturn} References Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Instance(). \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a94ee1e1251023610590e675ae3de8bd5}\label{classGpgFrontend_1_1SingletonFunctionObject_a94ee1e1251023610590e675ae3de8bd5}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetChannel@{GetChannel}} \index{GetChannel@{GetChannel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{GetChannel()}{GetChannel()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+Channel (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ int \hspace{0.3cm}{\ttfamily [inline]}} Get the Channel object. \begin{DoxyReturn}{Returns} int \end{DoxyReturn} References Gpg\+Frontend\+::\+Channel\+Object\+::\+Get\+Channel(). \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_ad983153cbe3a0c32c123c506e04f31fc}\label{classGpgFrontend_1_1SingletonFunctionObject_ad983153cbe3a0c32c123c506e04f31fc}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetDefaultChannel@{GetDefaultChannel}} \index{GetDefaultChannel@{GetDefaultChannel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{GetDefaultChannel()}{GetDefaultChannel()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+Default\+Channel (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ int \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Get the Default Channel object. \begin{DoxyReturn}{Returns} int \end{DoxyReturn} References Gpg\+Frontend\+::\+Channel\+Object\+::\+Get\+Default\+Channel(). \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_ac963fee992753970bfb5c81608d4070f}\label{classGpgFrontend_1_1SingletonFunctionObject_ac963fee992753970bfb5c81608d4070f}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetInstance@{GetInstance}} \index{GetInstance@{GetInstance}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{GetInstance()}{GetInstance()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ static auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+Instance (\begin{DoxyParamCaption}\item[{int}]{channel = {\ttfamily GpgFrontend\+:\+:kGpgFrontendDefaultChannel} }\end{DoxyParamCaption}) -\/$>$ T\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Get the Instance object. \begin{DoxyParams}{Parameters} {\em channel} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} T\& \end{DoxyReturn} References Gpg\+Frontend\+::\+Get\+Channel\+Object\+Instance(). \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a99eb547639a63e7c2f467ebb611c95b7}\label{classGpgFrontend_1_1SingletonFunctionObject_a99eb547639a63e7c2f467ebb611c95b7}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!operator=@{operator=}} \index{operator=@{operator=}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ auto \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}$<$ T $>$ \&}]{ }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} \&=delete\hspace{0.3cm}{\ttfamily [delete]}} prohibit copy \begin{DoxyReturn}{Returns} \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}\& \end{DoxyReturn} \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_ab49b1d50252e1934691a9483a6df2106}\label{classGpgFrontend_1_1SingletonFunctionObject_ab49b1d50252e1934691a9483a6df2106}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!ReleaseChannel@{ReleaseChannel}} \index{ReleaseChannel@{ReleaseChannel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{ReleaseChannel()}{ReleaseChannel()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ static void \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Release\+Channel (\begin{DoxyParamCaption}\item[{int}]{channel }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \begin{DoxyParams}{Parameters} {\em channel} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} T\& \end{DoxyReturn} References Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Instance(). The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item src/core/function/basic/Gpg\+Function\+Object.\+h\end{DoxyCompactItemize}