\hypertarget{nntrainer__error_8h}{}\doxysection{nntrainer\+\_\+error.\+h File Reference}
\label{nntrainer__error_8h}\index{nntrainer\_error.h@{nntrainer\_error.h}}


N\+N\+Trainer Error Codes.  


{\ttfamily \#include $<$cerrno$>$}\newline
{\ttfamily \#include $<$functional$>$}\newline
{\ttfamily \#include $<$sstream$>$}\newline
{\ttfamily \#include $<$stdexcept$>$}\newline
Include dependency graph for nntrainer\+\_\+error.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{nntrainer__error_8h__incl}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classnntrainer_1_1exception_1_1ErrorNotification}{nntrainer\+::exception\+::\+Error\+Notification$<$ Err, $>$}}
\begin{DoxyCompactList}\small\item\em Error Notification class, error is thrown when the class is destroyed. DO N\+OT use this outside as this contains throwing destructor. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structnntrainer_1_1exception_1_1not__supported}{nntrainer\+::exception\+::not\+\_\+supported}}
\begin{DoxyCompactList}\small\item\em derived class of invalid argument to represent specific functionality not supported \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structnntrainer_1_1exception_1_1permission__denied}{nntrainer\+::exception\+::permission\+\_\+denied}}
\begin{DoxyCompactList}\small\item\em derived class of invalid argument to represent permission is denied \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespacenntrainer}{nntrainer}}
\item 
 \mbox{\hyperlink{namespacenntrainer_1_1exception}{nntrainer\+::exception}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{nntrainer__error_8h_a0f8681163737931d48b017a29ea52af7}\label{nntrainer__error_8h_a0f8681163737931d48b017a29ea52af7}} 
\#define {\bfseries M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+B\+A\+D\+\_\+\+A\+D\+D\+R\+E\+SS}~(-\/E\+F\+A\+U\+LT)
\item 
\mbox{\Hypertarget{nntrainer__error_8h_a88bb5735939074f88689487864d101f7}\label{nntrainer__error_8h_a88bb5735939074f88689487864d101f7}} 
\#define {\bfseries M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+R\+E\+S\+U\+L\+T\+\_\+\+O\+U\+T\+\_\+\+O\+F\+\_\+\+R\+A\+N\+GE}~(-\/E\+R\+A\+N\+GE)
\item 
\#define {\bfseries N\+N\+T\+R\+\_\+\+T\+H\+R\+O\+W\+\_\+\+IF}(pred,  err)
\item 
\#define {\bfseries N\+N\+T\+R\+\_\+\+T\+H\+R\+O\+W\+\_\+\+I\+F\+\_\+\+C\+L\+E\+A\+N\+UP}(pred,  err,  cleanup\+\_\+func)
\item 
\#define \mbox{\hyperlink{nntrainer__error_8h_a07773d22c3eb7a4d4ea0696ee5f49841}{E\+S\+T\+R\+P\+I\+PE}}~E\+P\+I\+PE
\item 
\mbox{\Hypertarget{nntrainer__error_8h_a92c782166a27108700847ec7895f656e}\label{nntrainer__error_8h_a92c782166a27108700847ec7895f656e}} 
\#define {\bfseries \+\_\+\+E\+R\+R\+O\+R\+\_\+\+U\+N\+K\+N\+O\+WN}~(-\/1073741824LL)
\item 
\mbox{\Hypertarget{nntrainer__error_8h_a850baf8539d06ddcd1c54471e9c05a3a}\label{nntrainer__error_8h_a850baf8539d06ddcd1c54471e9c05a3a}} 
\#define {\bfseries T\+I\+Z\+E\+N\+\_\+\+E\+R\+R\+O\+R\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}~(T\+I\+Z\+E\+N\+\_\+\+E\+R\+R\+O\+R\+\_\+\+U\+N\+K\+N\+O\+WN + 1)
\item 
\mbox{\Hypertarget{nntrainer__error_8h_aa1217a08b45c9c7192dac290ee6ccf5c}\label{nntrainer__error_8h_aa1217a08b45c9c7192dac290ee6ccf5c}} 
\#define {\bfseries T\+I\+Z\+E\+N\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+T\+\_\+\+S\+U\+P\+P\+O\+R\+T\+ED}~(T\+I\+Z\+E\+N\+\_\+\+E\+R\+R\+O\+R\+\_\+\+U\+N\+K\+N\+O\+WN + 2)
\item 
\mbox{\Hypertarget{nntrainer__error_8h_a2e7b92e127df16ea0763e0c166514619}\label{nntrainer__error_8h_a2e7b92e127df16ea0763e0c166514619}} 
\#define {\bfseries T\+I\+Z\+E\+N\+\_\+\+E\+R\+R\+O\+R\+\_\+\+P\+E\+R\+M\+I\+S\+S\+I\+O\+N\+\_\+\+D\+E\+N\+I\+ED}~(-\/E\+A\+C\+C\+ES)
\item 
\mbox{\Hypertarget{nntrainer__error_8h_a89501dfa50415892b33482dae19a1935}\label{nntrainer__error_8h_a89501dfa50415892b33482dae19a1935}} 
\#define {\bfseries T\+I\+Z\+E\+N\+\_\+\+E\+R\+R\+O\+R\+\_\+\+O\+U\+T\+\_\+\+O\+F\+\_\+\+M\+E\+M\+O\+RY}~(-\/E\+N\+O\+M\+EM)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93}{ml\+\_\+error\+\_\+e}} \{ \newline
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a1d5fc7f826e7a67851245a3f27b7d0a7}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+NE}} = 0, 
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a8081833f5d75604414cd5cb831c538ab}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+P\+A\+R\+A\+M\+E\+T\+ER}} = -\/E\+I\+N\+V\+AL, 
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a2adea125666ad878589a5a962184e674}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+T\+R\+Y\+\_\+\+A\+G\+A\+IN}}, 
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93ad3a138e7463976b973e91421ac53bc21}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+U\+N\+K\+N\+O\+WN}} = \+\_\+\+E\+R\+R\+O\+R\+\_\+\+U\+N\+K\+N\+O\+WN, 
\newline
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93aaf6fc53860088c1be29d98cf24240015}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}} = (\+\_\+\+E\+R\+R\+O\+R\+\_\+\+U\+N\+K\+N\+O\+WN + 1), 
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93aabfd19c4f0472a012e00204cf076ed66}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+T\+\_\+\+S\+U\+P\+P\+O\+R\+T\+ED}}, 
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a39df68b9a816c7c276768edacf3a9b8e}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+P\+E\+R\+M\+I\+S\+S\+I\+O\+N\+\_\+\+D\+E\+N\+I\+ED}} = -\/E\+A\+C\+C\+ES, 
\mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a55c58e89564526c50f44d1bf46cb2c54}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+O\+U\+T\+\_\+\+O\+F\+\_\+\+M\+E\+M\+O\+RY}} = -\/E\+N\+O\+M\+EM
 \}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
N\+N\+Trainer Error Codes. 

Copyright (C) 2020 Jijoong Moon \href{mailto:jijoong.moon@samsung.com}{\texttt{ jijoong.\+moon@samsung.\+com}}

\begin{DoxyDate}{Date}
03 April 2020 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nntrainer}{\texttt{ https\+://github.\+com/nnstreamer/nntrainer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Jijoong Moon \href{mailto:jijoong.moon@samsung.com}{\texttt{ jijoong.\+moon@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000173}{Bug}}]No known bugs except for N\+YI items \end{DoxyRefDesc}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{nntrainer__error_8h_a07773d22c3eb7a4d4ea0696ee5f49841}\label{nntrainer__error_8h_a07773d22c3eb7a4d4ea0696ee5f49841}} 
\index{nntrainer\_error.h@{nntrainer\_error.h}!ESTRPIPE@{ESTRPIPE}}
\index{ESTRPIPE@{ESTRPIPE}!nntrainer\_error.h@{nntrainer\_error.h}}
\doxysubsubsection{\texorpdfstring{ESTRPIPE}{ESTRPIPE}}
{\footnotesize\ttfamily \#define E\+S\+T\+R\+P\+I\+PE~E\+P\+I\+PE}

\href{https://gitlab.freedesktop.org/dude/gst-plugins-base/commit/89095e7f91cfbfe625ec2522da49053f1f98baf8}{\texttt{ https\+://gitlab.\+freedesktop.\+org/dude/gst-\/plugins-\/base/commit/89095e7f91cfbfe625ec2522da49053f1f98baf8}} 

Definition at line 46 of file nntrainer\+\_\+error.\+h.

\mbox{\Hypertarget{nntrainer__error_8h_ac5eeba60da145cfdcda88b4fc1181aa6}\label{nntrainer__error_8h_ac5eeba60da145cfdcda88b4fc1181aa6}} 
\index{nntrainer\_error.h@{nntrainer\_error.h}!NNTR\_THROW\_IF@{NNTR\_THROW\_IF}}
\index{NNTR\_THROW\_IF@{NNTR\_THROW\_IF}!nntrainer\_error.h@{nntrainer\_error.h}}
\doxysubsubsection{\texorpdfstring{NNTR\_THROW\_IF}{NNTR\_THROW\_IF}}
{\footnotesize\ttfamily \#define N\+N\+T\+R\+\_\+\+T\+H\+R\+O\+W\+\_\+\+IF(\begin{DoxyParamCaption}\item[{}]{pred,  }\item[{}]{err }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  \textcolor{keywordflow}{if} ((pred))                    \(\backslash\)}
\DoxyCodeLine{    nntrainer::exception::ErrorNotification<err> \{\}}

\end{DoxyCode}


Definition at line 30 of file nntrainer\+\_\+error.\+h.

\mbox{\Hypertarget{nntrainer__error_8h_a92643982c0c316d27b557ae6ab4cdfac}\label{nntrainer__error_8h_a92643982c0c316d27b557ae6ab4cdfac}} 
\index{nntrainer\_error.h@{nntrainer\_error.h}!NNTR\_THROW\_IF\_CLEANUP@{NNTR\_THROW\_IF\_CLEANUP}}
\index{NNTR\_THROW\_IF\_CLEANUP@{NNTR\_THROW\_IF\_CLEANUP}!nntrainer\_error.h@{nntrainer\_error.h}}
\doxysubsubsection{\texorpdfstring{NNTR\_THROW\_IF\_CLEANUP}{NNTR\_THROW\_IF\_CLEANUP}}
{\footnotesize\ttfamily \#define N\+N\+T\+R\+\_\+\+T\+H\+R\+O\+W\+\_\+\+I\+F\+\_\+\+C\+L\+E\+A\+N\+UP(\begin{DoxyParamCaption}\item[{}]{pred,  }\item[{}]{err,  }\item[{}]{cleanup\+\_\+func }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  \textcolor{keywordflow}{if} ((pred))                                          \(\backslash\)}
\DoxyCodeLine{    nntrainer::exception::ErrorNotification<err> \{ cleanup\_func \}}

\end{DoxyCode}


Definition at line 34 of file nntrainer\+\_\+error.\+h.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93}} 
\index{nntrainer\_error.h@{nntrainer\_error.h}!ml\_error\_e@{ml\_error\_e}}
\index{ml\_error\_e@{ml\_error\_e}!nntrainer\_error.h@{nntrainer\_error.h}}
\doxysubsubsection{\texorpdfstring{ml\_error\_e}{ml\_error\_e}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93}{ml\+\_\+error\+\_\+e}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_NONE@{ML\_ERROR\_NONE}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_NONE@{ML\_ERROR\_NONE}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a1d5fc7f826e7a67851245a3f27b7d0a7}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a1d5fc7f826e7a67851245a3f27b7d0a7}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+NE&Success! \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_INVALID\_PARAMETER@{ML\_ERROR\_INVALID\_PARAMETER}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_INVALID\_PARAMETER@{ML\_ERROR\_INVALID\_PARAMETER}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a8081833f5d75604414cd5cb831c538ab}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a8081833f5d75604414cd5cb831c538ab}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+P\+A\+R\+A\+M\+E\+T\+ER&Invalid parameter \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_TRY\_AGAIN@{ML\_ERROR\_TRY\_AGAIN}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_TRY\_AGAIN@{ML\_ERROR\_TRY\_AGAIN}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a2adea125666ad878589a5a962184e674}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a2adea125666ad878589a5a962184e674}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+T\+R\+Y\+\_\+\+A\+G\+A\+IN&The pipeline is not ready, yet (not negotiated, yet) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_UNKNOWN@{ML\_ERROR\_UNKNOWN}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_UNKNOWN@{ML\_ERROR\_UNKNOWN}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93ad3a138e7463976b973e91421ac53bc21}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93ad3a138e7463976b973e91421ac53bc21}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+U\+N\+K\+N\+O\+WN&Unknown error \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_TIMED\_OUT@{ML\_ERROR\_TIMED\_OUT}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_TIMED\_OUT@{ML\_ERROR\_TIMED\_OUT}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93aaf6fc53860088c1be29d98cf24240015}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93aaf6fc53860088c1be29d98cf24240015}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT&Time out \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_NOT\_SUPPORTED@{ML\_ERROR\_NOT\_SUPPORTED}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_NOT\_SUPPORTED@{ML\_ERROR\_NOT\_SUPPORTED}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93aabfd19c4f0472a012e00204cf076ed66}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93aabfd19c4f0472a012e00204cf076ed66}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+T\+\_\+\+S\+U\+P\+P\+O\+R\+T\+ED&The feature is not supported \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_PERMISSION\_DENIED@{ML\_ERROR\_PERMISSION\_DENIED}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_PERMISSION\_DENIED@{ML\_ERROR\_PERMISSION\_DENIED}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a39df68b9a816c7c276768edacf3a9b8e}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a39df68b9a816c7c276768edacf3a9b8e}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+P\+E\+R\+M\+I\+S\+S\+I\+O\+N\+\_\+\+D\+E\+N\+I\+ED&Permission denied \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ML\_ERROR\_OUT\_OF\_MEMORY@{ML\_ERROR\_OUT\_OF\_MEMORY}!nntrainer\_error.h@{nntrainer\_error.h}}\index{nntrainer\_error.h@{nntrainer\_error.h}!ML\_ERROR\_OUT\_OF\_MEMORY@{ML\_ERROR\_OUT\_OF\_MEMORY}}}\mbox{\Hypertarget{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a55c58e89564526c50f44d1bf46cb2c54}\label{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a55c58e89564526c50f44d1bf46cb2c54}} 
M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+O\+U\+T\+\_\+\+O\+F\+\_\+\+M\+E\+M\+O\+RY&Out of memory (Since 6.\+0) \\
\hline

\end{DoxyEnumFields}


Definition at line 54 of file nntrainer\+\_\+error.\+h.

