\hypertarget{classnntrainer_1_1GraphNodeIterator}{}\doxysection{nntrainer\+::Graph\+Node\+Iterator$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$ Class Template Reference}
\label{classnntrainer_1_1GraphNodeIterator}\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}


Iterator for \mbox{\hyperlink{classnntrainer_1_1GraphNode}{Graph\+Node}} which return const std\+::shared\+\_\+ptr$<$\+Layer\+Node\+Type$>$ object upon realize.  




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



Inheritance diagram for nntrainer\+::Graph\+Node\+Iterator$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=277pt]{classnntrainer_1_1GraphNodeIterator__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for nntrainer\+::Graph\+Node\+Iterator$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=277pt]{classnntrainer_1_1GraphNodeIterator__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a9ebf98bc597c93b856c40189a05fd462}\label{classnntrainer_1_1GraphNodeIterator_a9ebf98bc597c93b856c40189a05fd462}} 
typedef std\+::random\+\_\+access\+\_\+iterator\+\_\+tag {\bfseries iterator\+\_\+category}
\item 
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a9d4124ec0c60fa0930089ae36a422a5b}\label{classnntrainer_1_1GraphNodeIterator_a9d4124ec0c60fa0930089ae36a422a5b}} 
typedef std\+::ptrdiff\+\_\+t {\bfseries difference\+\_\+type}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_aee5055eefacad28adcb67fabd8feb665}{Graph\+Node\+Iterator}} (Graph\+Node\+Type $\ast$x)
\begin{DoxyCompactList}\small\item\em Construct a new Graph Node Iterator object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a9392ea56f4b9f98cf728a06569461782}{value\+\_\+type}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a40b67e61b99c9fbe540603b6b4611785}{operator$\ast$}} () const
\begin{DoxyCompactList}\small\item\em reference operator \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a9392ea56f4b9f98cf728a06569461782}{value\+\_\+type}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_ae1be082b80a6a0fdb456d9e9962de5e4}{operator-\/$>$}} () const
\begin{DoxyCompactList}\small\item\em pointer operator \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a228ff5ad3038d5991f47b16b5fbc646c}{operator++}} ()
\begin{DoxyCompactList}\small\item\em override for ++ operator \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a81046ef4d438b5213521f85bd0748727}{operator++}} (int)
\begin{DoxyCompactList}\small\item\em override for operator++ \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_adf8077ba5ab715ac19a165dd2730923f}{operator-\/-\/}} ()
\begin{DoxyCompactList}\small\item\em override for -- operator \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_aeeedc24495ba50f24d30de836a540cfe}{operator-\/-\/}} (int)
\begin{DoxyCompactList}\small\item\em override for operator-\/-\/ \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a9240c809acfc1fd0bf336bd03636aad9}{operator-\/}} (const difference\+\_\+type offset) const
\begin{DoxyCompactList}\small\item\em override for subtract operator \end{DoxyCompactList}\item 
difference\+\_\+type \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_ab46a5342719d1a0a4a96752aceff1dd7}{operator-\/}} (const \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \&other) const
\begin{DoxyCompactList}\small\item\em override for subtract operator \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a73d1e40e8df094d8363313c05f88987e}{operator-\/=}} (const difference\+\_\+type offset)
\begin{DoxyCompactList}\small\item\em override for subtract and return result operator \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a597f4563d378920d2acf705e768a4241}{operator+}} (const difference\+\_\+type offset) const
\begin{DoxyCompactList}\small\item\em override for add operator \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_ab4d5c39eb2f0c7cd74b1e59a537d9b2e}{operator+=}} (const difference\+\_\+type offset)
\begin{DoxyCompactList}\small\item\em override for add and return result operator \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
const typedef std\+::shared\+\_\+ptr$<$ Layer\+Node\+Type $>$ \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a9392ea56f4b9f98cf728a06569461782}{value\+\_\+type}}
\begin{DoxyCompactList}\small\item\em iterator\+\_\+traits types definition \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a8b23c103c29217c0e19c2ee58c367560}\label{classnntrainer_1_1GraphNodeIterator_a8b23c103c29217c0e19c2ee58c367560}} 
const typedef std\+::shared\+\_\+ptr$<$ Layer\+Node\+Type $>$ $\ast$ {\bfseries pointer}
\item 
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a6a49508d4bfee209c04d2160a3fe5d91}\label{classnntrainer_1_1GraphNodeIterator_a6a49508d4bfee209c04d2160a3fe5d91}} 
const typedef std\+::shared\+\_\+ptr$<$ Layer\+Node\+Type $>$ \& {\bfseries reference}
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
bool \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a6ea605e38fab916299994cab55f3d4a0}{operator==}} (\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} const \&lhs, \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} const \&rhs)
\begin{DoxyCompactList}\small\item\em == comparison operator override \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a0b19425095813c57978a127359d9304a}{operator!=}} (\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} const \&lhs, \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} const \&rhs)
\begin{DoxyCompactList}\small\item\em != comparison operator override \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename Layer\+Node\+Type, typename Graph\+Node\+Type$>$\newline
class nntrainer\+::\+Graph\+Node\+Iterator$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$}

Iterator for \mbox{\hyperlink{classnntrainer_1_1GraphNode}{Graph\+Node}} which return const std\+::shared\+\_\+ptr$<$\+Layer\+Node\+Type$>$ object upon realize. 

\begin{DoxyNote}{Note}
This does not include the complete list of required functions. Add them as per need.

Graph\+Node\+Type is to enable for both \mbox{\hyperlink{classnntrainer_1_1GraphNode}{Graph\+Node}} and const \mbox{\hyperlink{classnntrainer_1_1GraphNode}{Graph\+Node}} 
\end{DoxyNote}


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



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_aee5055eefacad28adcb67fabd8feb665}\label{classnntrainer_1_1GraphNodeIterator_aee5055eefacad28adcb67fabd8feb665}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!GraphNodeIterator@{GraphNodeIterator}}
\index{GraphNodeIterator@{GraphNodeIterator}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{GraphNodeIterator()}{GraphNodeIterator()}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} (\begin{DoxyParamCaption}\item[{Graph\+Node\+Type $\ast$}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Construct a new Graph Node Iterator object. 


\begin{DoxyParams}{Parameters}
{\em x} & underlying object of \mbox{\hyperlink{classnntrainer_1_1GraphNode}{Graph\+Node}} \\
\hline
\end{DoxyParams}


Definition at line 149 of file graph\+\_\+node.\+h.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a40b67e61b99c9fbe540603b6b4611785}\label{classnntrainer_1_1GraphNodeIterator_a40b67e61b99c9fbe540603b6b4611785}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a9392ea56f4b9f98cf728a06569461782}{value\+\_\+type}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



reference operator 

\begin{DoxyReturn}{Returns}
value\+\_\+type 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
this is different from standard iterator 
\end{DoxyNote}


Definition at line 157 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a597f4563d378920d2acf705e768a4241}\label{classnntrainer_1_1GraphNodeIterator_a597f4563d378920d2acf705e768a4241}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator+@{operator+}}
\index{operator+@{operator+}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator+ (\begin{DoxyParamCaption}\item[{const difference\+\_\+type}]{offset }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



override for add operator 


\begin{DoxyParams}{Parameters}
{\em offset} & offset to add \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} 
\end{DoxyReturn}


Definition at line 276 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a228ff5ad3038d5991f47b16b5fbc646c}\label{classnntrainer_1_1GraphNodeIterator_a228ff5ad3038d5991f47b16b5fbc646c}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator++@{operator++}}
\index{operator++@{operator++}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator++ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



override for ++ operator 

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& 
\end{DoxyReturn}


Definition at line 202 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a81046ef4d438b5213521f85bd0748727}\label{classnntrainer_1_1GraphNodeIterator_a81046ef4d438b5213521f85bd0748727}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator++@{operator++}}
\index{operator++@{operator++}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator++ (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



override for operator++ 

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} 
\end{DoxyReturn}


Definition at line 212 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_ab4d5c39eb2f0c7cd74b1e59a537d9b2e}\label{classnntrainer_1_1GraphNodeIterator_ab4d5c39eb2f0c7cd74b1e59a537d9b2e}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator+= (\begin{DoxyParamCaption}\item[{const difference\+\_\+type}]{offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



override for add and return result operator 


\begin{DoxyParams}{Parameters}
{\em offset} & offset to add \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& 
\end{DoxyReturn}


Definition at line 286 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a9240c809acfc1fd0bf336bd03636aad9}\label{classnntrainer_1_1GraphNodeIterator_a9240c809acfc1fd0bf336bd03636aad9}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator-\/ (\begin{DoxyParamCaption}\item[{const difference\+\_\+type}]{offset }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



override for subtract operator 


\begin{DoxyParams}{Parameters}
{\em offset} & offset to subtract \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} 
\end{DoxyReturn}


Definition at line 245 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_ab46a5342719d1a0a4a96752aceff1dd7}\label{classnntrainer_1_1GraphNodeIterator_ab46a5342719d1a0a4a96752aceff1dd7}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
difference\+\_\+type \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator-\/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$ \&}]{other }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



override for subtract operator 


\begin{DoxyParams}{Parameters}
{\em other} & iterator to subtract \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
difference\+\_\+type 
\end{DoxyReturn}


Definition at line 255 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_adf8077ba5ab715ac19a165dd2730923f}\label{classnntrainer_1_1GraphNodeIterator_adf8077ba5ab715ac19a165dd2730923f}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator-\/-\/@{operator-\/-\/}}
\index{operator-\/-\/@{operator-\/-\/}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator-\/-\/ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



override for -- operator 

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& 
\end{DoxyReturn}


Definition at line 223 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_aeeedc24495ba50f24d30de836a540cfe}\label{classnntrainer_1_1GraphNodeIterator_aeeedc24495ba50f24d30de836a540cfe}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator-\/-\/@{operator-\/-\/}}
\index{operator-\/-\/@{operator-\/-\/}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/-\/()}{operator--()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator-\/-\/ (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



override for operator-\/-\/ 

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}} 
\end{DoxyReturn}


Definition at line 233 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a73d1e40e8df094d8363313c05f88987e}\label{classnntrainer_1_1GraphNodeIterator_a73d1e40e8df094d8363313c05f88987e}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator-\/= (\begin{DoxyParamCaption}\item[{const difference\+\_\+type}]{offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



override for subtract and return result operator 


\begin{DoxyParams}{Parameters}
{\em offset} & offset to subtract \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}\& 
\end{DoxyReturn}


Definition at line 265 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_ae1be082b80a6a0fdb456d9e9962de5e4}\label{classnntrainer_1_1GraphNodeIterator_ae1be082b80a6a0fdb456d9e9962de5e4}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator_a9392ea56f4b9f98cf728a06569461782}{value\+\_\+type}} \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



pointer operator 

\begin{DoxyReturn}{Returns}
value\+\_\+type 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
this is different from standard iterator 
\end{DoxyNote}


Definition at line 167 of file graph\+\_\+node.\+h.



\doxysubsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a0b19425095813c57978a127359d9304a}\label{classnntrainer_1_1GraphNodeIterator_a0b19425095813c57978a127359d9304a}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator"!=}{operator!=}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
bool operator!= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$ const \&}]{lhs,  }\item[{\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$ const \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



!= comparison operator override 


\begin{DoxyParams}{Parameters}
{\em lhs} & iterator lhs \\
\hline
{\em rhs} & iterator rhs \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & if mismatch \\
\hline
{\em false} & if match \\
\hline
\end{DoxyRetVals}


Definition at line 192 of file graph\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a6ea605e38fab916299994cab55f3d4a0}\label{classnntrainer_1_1GraphNodeIterator_a6ea605e38fab916299994cab55f3d4a0}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!operator==@{operator==}}
\index{operator==@{operator==}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{operator==}{operator==}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
bool operator== (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$ const \&}]{lhs,  }\item[{\mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$ const \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



== comparison operator override 


\begin{DoxyParams}{Parameters}
{\em lhs} & iterator lhs \\
\hline
{\em rhs} & iterator rhs \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & if match \\
\hline
{\em false} & if mismatch \\
\hline
\end{DoxyRetVals}


Definition at line 179 of file graph\+\_\+node.\+h.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classnntrainer_1_1GraphNodeIterator_a9392ea56f4b9f98cf728a06569461782}\label{classnntrainer_1_1GraphNodeIterator_a9392ea56f4b9f98cf728a06569461782}} 
\index{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}!value\_type@{value\_type}}
\index{value\_type@{value\_type}!nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$@{nntrainer::GraphNodeIterator$<$ LayerNodeType, GraphNodeType $>$}}
\doxysubsubsection{\texorpdfstring{value\_type}{value\_type}}
{\footnotesize\ttfamily template$<$typename Layer\+Node\+Type , typename Graph\+Node\+Type $>$ \\
const typedef std\+::shared\+\_\+ptr$<$Layer\+Node\+Type$>$ \mbox{\hyperlink{classnntrainer_1_1GraphNodeIterator}{nntrainer\+::\+Graph\+Node\+Iterator}}$<$ Layer\+Node\+Type, Graph\+Node\+Type $>$\+::value\+\_\+type}



iterator\+\_\+traits types definition 

underlying object of \mbox{\hyperlink{classnntrainer_1_1GraphNode}{Graph\+Node}} \begin{DoxyNote}{Note}
these are not requried to be explicitly defined now, but maintains forward compatibility for c++17 and later

value\+\_\+type, pointer and reference are different from standard iterator 
\end{DoxyNote}


Definition at line 138 of file graph\+\_\+node.\+h.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
graph/\mbox{\hyperlink{graph__node_8h}{graph\+\_\+node.\+h}}\end{DoxyCompactItemize}
