\hypertarget{classnntrainer_1_1Exporter}{}\doxysection{nntrainer\+::Exporter Class Reference}
\label{classnntrainer_1_1Exporter}\index{nntrainer::Exporter@{nntrainer::Exporter}}


\mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} class helps to exports the node information in a predefined way. because each method will require complete different methods, this class exploits visitor pattern to make a custom defined saving method.  




{\ttfamily \#include $<$node\+\_\+exporter.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classnntrainer_1_1Exporter_afff7e27495a4487dca137f0f9162db90}{Exporter}} ()
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1Exporter_a75be574f922960b4e32e149e7c7a8d94}{$\sim$\+Exporter}} ()
\begin{DoxyCompactList}\small\item\em Destroy the \mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} object. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename... Ts, typename Node\+Type  = void$>$ }\\void \mbox{\hyperlink{classnntrainer_1_1Exporter_ae992de07e44fa01b00cd9f80b6bc1577}{save\+Result}} (const std\+::tuple$<$ Ts... $>$ \&props, ml\+::train\+::\+Export\+Methods method, const Node\+Type $\ast$self=nullptr)
\begin{DoxyCompactList}\small\item\em this function iterates over the property and process the property in a designated way. \end{DoxyCompactList}\item 
{\footnotesize template$<$ml\+::train\+::\+Export\+Methods methods, typename T  = typename return\+\_\+type$<$methods$>$\+::type$>$ }\\std\+::unique\+\_\+ptr$<$ T $>$ \mbox{\hyperlink{classnntrainer_1_1Exporter_a536670442e6976398029d6463d943a6f}{get\+Result}} ()
\begin{DoxyCompactList}\small\item\em Get the result object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} class helps to exports the node information in a predefined way. because each method will require complete different methods, this class exploits visitor pattern to make a custom defined saving method. 



Definition at line 89 of file node\+\_\+exporter.\+h.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classnntrainer_1_1Exporter_afff7e27495a4487dca137f0f9162db90}\label{classnntrainer_1_1Exporter_afff7e27495a4487dca137f0f9162db90}} 
\index{nntrainer::Exporter@{nntrainer::Exporter}!Exporter@{Exporter}}
\index{Exporter@{Exporter}!nntrainer::Exporter@{nntrainer::Exporter}}
\doxysubsubsection{\texorpdfstring{Exporter()}{Exporter()}}
{\footnotesize\ttfamily nntrainer\+::\+Exporter\+::\+Exporter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Construct a new \mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} object. 



Definition at line 46 of file node\+\_\+exporter.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1Exporter_a75be574f922960b4e32e149e7c7a8d94}\label{classnntrainer_1_1Exporter_a75be574f922960b4e32e149e7c7a8d94}} 
\index{nntrainer::Exporter@{nntrainer::Exporter}!````~Exporter@{$\sim$Exporter}}
\index{````~Exporter@{$\sim$Exporter}!nntrainer::Exporter@{nntrainer::Exporter}}
\doxysubsubsection{\texorpdfstring{$\sim$Exporter()}{~Exporter()}}
{\footnotesize\ttfamily nntrainer\+::\+Exporter\+::$\sim$\+Exporter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}



Destroy the \mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} object. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classnntrainer_1_1Exporter_a536670442e6976398029d6463d943a6f}\label{classnntrainer_1_1Exporter_a536670442e6976398029d6463d943a6f}} 
\index{nntrainer::Exporter@{nntrainer::Exporter}!getResult@{getResult}}
\index{getResult@{getResult}!nntrainer::Exporter@{nntrainer::Exporter}}
\doxysubsubsection{\texorpdfstring{getResult()}{getResult()}}
{\footnotesize\ttfamily template$<$ml\+::train\+::\+Export\+Methods methods, typename T  = typename return\+\_\+type$<$methods$>$\+::type$>$ \\
std\+::unique\+\_\+ptr$<$T$>$ nntrainer\+::\+Exporter\+::get\+Result (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Get the result object. 

\begin{DoxyNote}{Note}
{\itshape unique\+\_\+ptr} here will be a member of {\itshape this}. The ownership is passed to the caller, thus after get\+Result, the target member is cleared. This is intended design choice to mimic single function call, between {\itshape save\+Result} and {\itshape get\+Result} 
\end{DoxyNote}

\begin{DoxyTemplParams}{Template Parameters}
{\em methods} & method to get \\
\hline
{\em T} & appropriate return type regarding the export method \\
\hline
\end{DoxyTemplParams}
\begin{DoxyReturn}{Returns}
std\+::unique\+\_\+ptr$<$\+T$>$ predefined return type according to the method. 
\end{DoxyReturn}

\begin{DoxyRetVals}{Return values}
{\em nullptr} & not exported \\
\hline
\end{DoxyRetVals}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1Exporter_a536670442e6976398029d6463d943a6f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1Exporter_ae992de07e44fa01b00cd9f80b6bc1577}\label{classnntrainer_1_1Exporter_ae992de07e44fa01b00cd9f80b6bc1577}} 
\index{nntrainer::Exporter@{nntrainer::Exporter}!saveResult@{saveResult}}
\index{saveResult@{saveResult}!nntrainer::Exporter@{nntrainer::Exporter}}
\doxysubsubsection{\texorpdfstring{saveResult()}{saveResult()}}
{\footnotesize\ttfamily template$<$typename... Ts, typename Node\+Type  = void$>$ \\
void nntrainer\+::\+Exporter\+::save\+Result (\begin{DoxyParamCaption}\item[{const std\+::tuple$<$ Ts... $>$ \&}]{props,  }\item[{ml\+::train\+::\+Export\+Methods}]{method,  }\item[{const Node\+Type $\ast$}]{self = {\ttfamily nullptr} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



this function iterates over the property and process the property in a designated way. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Ts} & type of elements \\
\hline
{\em Node\+Type} & Node\+Type element \\
\hline
\end{DoxyTemplParams}

\begin{DoxyParams}{Parameters}
{\em props} & tuple that contains properties \\
\hline
{\em method} & method to export \\
\hline
{\em self} & this pointer to the layer which is being exported \\
\hline
\end{DoxyParams}
function to pass to the iterate\+\_\+prop, this saves the property to stored\+\_\+result


\begin{DoxyParams}{Parameters}
{\em prop} & property property to pass \\
\hline
{\em index} & index of the current property\\
\hline
\end{DoxyParams}
fall through intended

Definition at line 124 of file node\+\_\+exporter.\+h.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1Exporter_ae992de07e44fa01b00cd9f80b6bc1577_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1Exporter_ae992de07e44fa01b00cd9f80b6bc1577_icgraph}
\end{center}
\end{figure}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
utils/\mbox{\hyperlink{node__exporter_8h}{node\+\_\+exporter.\+h}}\item 
utils/\mbox{\hyperlink{node__exporter_8cpp}{node\+\_\+exporter.\+cpp}}\end{DoxyCompactItemize}
