\hypertarget{a00331}{\section{Plugin\+Functions\+:\+:Base\+Object\+Iterator Class Reference}
\label{a00331}\index{Plugin\+Functions\+::\+Base\+Object\+Iterator@{Plugin\+Functions\+::\+Base\+Object\+Iterator}}
}


\hyperlink{a00467}{Core} Data Iterator used to iterate over all objects (Including groups)  




{\ttfamily \#include $<$Open\+Flipper/\+Base\+Plugin/\+Plugin\+Functions.\+hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00331_a9bb01bead020c596d0add83d47193f4e}{typedef \hyperlink{a00329}{Base\+Object} \hyperlink{a00331_a9bb01bead020c596d0add83d47193f4e}{value\+\_\+type}}\label{a00331_a9bb01bead020c596d0add83d47193f4e}

\begin{DoxyCompactList}\small\item\em type of the Objects the iterator works on \end{DoxyCompactList}\item 
\hypertarget{a00331_a827dcfcb07b86c8f6ea9a8699a515812}{typedef \hyperlink{a00329}{Base\+Object} $\ast$ \hyperlink{a00331_a827dcfcb07b86c8f6ea9a8699a515812}{value\+\_\+handle}}\label{a00331_a827dcfcb07b86c8f6ea9a8699a515812}

\begin{DoxyCompactList}\small\item\em handle type (just an int) \end{DoxyCompactList}\item 
\hypertarget{a00331_a73103be943ef243af150993be3a499ea}{typedef \hyperlink{a00331_a9bb01bead020c596d0add83d47193f4e}{value\+\_\+type} \& \hyperlink{a00331_a73103be943ef243af150993be3a499ea}{reference}}\label{a00331_a73103be943ef243af150993be3a499ea}

\begin{DoxyCompactList}\small\item\em reference type \end{DoxyCompactList}\item 
\hypertarget{a00331_a4fe74a88166e7799b56ad53ce2e53602}{typedef \hyperlink{a00331_a9bb01bead020c596d0add83d47193f4e}{value\+\_\+type} $\ast$ \hyperlink{a00331_a4fe74a88166e7799b56ad53ce2e53602}{pointer}}\label{a00331_a4fe74a88166e7799b56ad53ce2e53602}

\begin{DoxyCompactList}\small\item\em basic pointer type \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00331_ad6054ca8b620fcbb3360e77100132d5b}{Base\+Object\+Iterator} (\hyperlink{a03393_a9eae8faadd978364c97a06f639ec0ccc}{Iterator\+Restriction} \+\_\+restriction=\hyperlink{a03393_aff89407cfc7a2f18a059f6cff7d4edbb}{A\+L\+L\+\_\+\+O\+B\+J\+E\+C\+T\+S}, \hyperlink{a00477}{Data\+Type} \+\_\+data\+Type=\hyperlink{a02488_a87446416192751e622bd4693a4339419}{D\+A\+T\+A\+\_\+\+A\+L\+L})
\begin{DoxyCompactList}\small\item\em Use this constructor for iterating through your data. \end{DoxyCompactList}\item 
\hypertarget{a00331_a53f6bed2c770f92226c534289ad2237f}{\hyperlink{a00331_a53f6bed2c770f92226c534289ad2237f}{Base\+Object\+Iterator} (\hyperlink{a00329}{Base\+Object} $\ast$pos, \hyperlink{a03393_a9eae8faadd978364c97a06f639ec0ccc}{Iterator\+Restriction} \+\_\+restriction=\hyperlink{a03393_aff89407cfc7a2f18a059f6cff7d4edbb}{A\+L\+L\+\_\+\+O\+B\+J\+E\+C\+T\+S}, \hyperlink{a00477}{Data\+Type} \+\_\+data\+Type=\hyperlink{a02488_a87446416192751e622bd4693a4339419}{D\+A\+T\+A\+\_\+\+A\+L\+L})}\label{a00331_a53f6bed2c770f92226c534289ad2237f}

\begin{DoxyCompactList}\small\item\em additional constructor starting at a given position \end{DoxyCompactList}\item 
\hypertarget{a00331_a1cbb2c924ee7e933c97e9ee0c07021f7}{\hyperlink{a00331_a1cbb2c924ee7e933c97e9ee0c07021f7}{operator value\+\_\+handle} ()}\label{a00331_a1cbb2c924ee7e933c97e9ee0c07021f7}

\begin{DoxyCompactList}\small\item\em return the current position of the iterator \end{DoxyCompactList}\item 
\hypertarget{a00331_aebb015419ec9ff78c52376aba5f93deb}{bool \hyperlink{a00331_aebb015419ec9ff78c52376aba5f93deb}{operator==} (const \hyperlink{a00331}{Base\+Object\+Iterator} \&\+\_\+rhs)}\label{a00331_aebb015419ec9ff78c52376aba5f93deb}

\begin{DoxyCompactList}\small\item\em compare iterators \end{DoxyCompactList}\item 
\hypertarget{a00331_a940de25e07e5eea6fdbc2cb02d56c43f}{bool \hyperlink{a00331_a940de25e07e5eea6fdbc2cb02d56c43f}{operator!=} (const \hyperlink{a00331}{Base\+Object\+Iterator} \&\+\_\+rhs)}\label{a00331_a940de25e07e5eea6fdbc2cb02d56c43f}

\begin{DoxyCompactList}\small\item\em compare iterators \end{DoxyCompactList}\item 
\hypertarget{a00331_a53475118734fff977a5e522f2fcedc50}{\hyperlink{a00331}{Base\+Object\+Iterator} \& \hyperlink{a00331_a53475118734fff977a5e522f2fcedc50}{operator=} (const \hyperlink{a00331}{Base\+Object\+Iterator} \&\+\_\+rhs)}\label{a00331_a53475118734fff977a5e522f2fcedc50}

\begin{DoxyCompactList}\small\item\em assign iterators \end{DoxyCompactList}\item 
\hypertarget{a00331_a473ea103ca8b1a7ca2818a93d8330c1b}{\hyperlink{a00331_a4fe74a88166e7799b56ad53ce2e53602}{pointer} \hyperlink{a00331_a473ea103ca8b1a7ca2818a93d8330c1b}{operator-\/$>$} ()}\label{a00331_a473ea103ca8b1a7ca2818a93d8330c1b}

\begin{DoxyCompactList}\small\item\em dereference \end{DoxyCompactList}\item 
\hypertarget{a00331_a6417a932e63c5427cbe3b802f104d7c2}{\hyperlink{a00331}{Base\+Object\+Iterator} \& \hyperlink{a00331_a6417a932e63c5427cbe3b802f104d7c2}{operator++} ()}\label{a00331_a6417a932e63c5427cbe3b802f104d7c2}

\begin{DoxyCompactList}\small\item\em next element \end{DoxyCompactList}\item 
\hypertarget{a00331_abc726ec2bd89582b4650952579486358}{\hyperlink{a00331}{Base\+Object\+Iterator} \& \hyperlink{a00331_abc726ec2bd89582b4650952579486358}{operator-\/-\/} ()}\label{a00331_abc726ec2bd89582b4650952579486358}

\begin{DoxyCompactList}\small\item\em last element \end{DoxyCompactList}\item 
\hyperlink{a00329}{Base\+Object} $\ast$ \hyperlink{a00331_a26d0c6691552ca1a1743bf00e6d93d56}{operator$\ast$} ()
\begin{DoxyCompactList}\small\item\em dereference the iterator \end{DoxyCompactList}\item 
\hypertarget{a00331_ae680007513d168bd9b7577b6d40a858f}{\hyperlink{a00329}{Base\+Object} $\ast$ \hyperlink{a00331_ae680007513d168bd9b7577b6d40a858f}{index} ()}\label{a00331_ae680007513d168bd9b7577b6d40a858f}

\begin{DoxyCompactList}\small\item\em return current position of the iterator \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00331_a1f46ab5a606c51960ba9956c24b2b21d}{\hyperlink{a00329}{Base\+Object} $\ast$ \hyperlink{a00331_a1f46ab5a606c51960ba9956c24b2b21d}{pos\+\_\+}}\label{a00331_a1f46ab5a606c51960ba9956c24b2b21d}

\begin{DoxyCompactList}\small\item\em current position of the iterator \end{DoxyCompactList}\item 
\hypertarget{a00331_a7f03b0cdf3036019a157b206fa97b59f}{\hyperlink{a00477}{Data\+Type} \hyperlink{a00331_a7f03b0cdf3036019a157b206fa97b59f}{data\+Type\+\_\+}}\label{a00331_a7f03b0cdf3036019a157b206fa97b59f}

\begin{DoxyCompactList}\small\item\em returned data types of the iterator \end{DoxyCompactList}\item 
\hypertarget{a00331_a4cd6828fffebfd81daae0123349043eb}{\hyperlink{a03393_a9eae8faadd978364c97a06f639ec0ccc}{Iterator\+Restriction} \hyperlink{a00331_a4cd6828fffebfd81daae0123349043eb}{restriction\+\_\+}}\label{a00331_a4cd6828fffebfd81daae0123349043eb}

\begin{DoxyCompactList}\small\item\em Restriction of the iterator. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a00467}{Core} Data Iterator used to iterate over all objects (Including groups) 

This iterator is a more low level one not only returning really visible objects but also Data containers ( e.\+g. groups... ) You can choose if the iterator returns only Target, Source or all objects.~\newline
Additionally you can set the type of objects returned by the iterator. 

Definition at line 686 of file Plugin\+Functions.\+hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00331_ad6054ca8b620fcbb3360e77100132d5b}{\index{Plugin\+Functions\+::\+Base\+Object\+Iterator@{Plugin\+Functions\+::\+Base\+Object\+Iterator}!Base\+Object\+Iterator@{Base\+Object\+Iterator}}
\index{Base\+Object\+Iterator@{Base\+Object\+Iterator}!Plugin\+Functions\+::\+Base\+Object\+Iterator@{Plugin\+Functions\+::\+Base\+Object\+Iterator}}
\subsubsection[{Base\+Object\+Iterator}]{\setlength{\rightskip}{0pt plus 5cm}Plugin\+Functions\+::\+Base\+Object\+Iterator\+::\+Base\+Object\+Iterator (
\begin{DoxyParamCaption}
\item[{{\bf Iterator\+Restriction}}]{\+\_\+restriction = {\ttfamily {\bf A\+L\+L\+\_\+\+O\+B\+J\+E\+C\+T\+S}}, }
\item[{{\bf Data\+Type}}]{\+\_\+data\+Type = {\ttfamily {\bf D\+A\+T\+A\+\_\+\+A\+L\+L}}}
\end{DoxyParamCaption}
)}}\label{a00331_ad6054ca8b620fcbb3360e77100132d5b}


Use this constructor for iterating through your data. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+restriction} & Use this parameter to define which objects will be returned.~\newline
 You can select between A\+L\+L\+\_\+\+O\+B\+J\+E\+C\+T\+S , T\+A\+R\+G\+E\+T\+\_\+\+O\+B\+J\+E\+C\+T\+S , S\+O\+U\+R\+C\+E\+\_\+\+O\+B\+J\+E\+C\+T\+S. \\
\hline
{\em \+\_\+data\+Type} & Use this parameter to select the returned object types. You can use D\+A\+T\+A\+\_\+\+A\+L\+L D\+A\+T\+A\+\_\+\+P\+O\+L\+Y\+\_\+\+M\+E\+S\+H D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+S\+H D\+A\+T\+A\+\_\+\+V\+O\+L\+U\+M\+E \\
\hline
\end{DoxyParams}


Definition at line 66 of file Plugin\+Functions\+Base\+Iterator.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00331_a26d0c6691552ca1a1743bf00e6d93d56}{\index{Plugin\+Functions\+::\+Base\+Object\+Iterator@{Plugin\+Functions\+::\+Base\+Object\+Iterator}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Plugin\+Functions\+::\+Base\+Object\+Iterator@{Plugin\+Functions\+::\+Base\+Object\+Iterator}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Base\+Object} $\ast$ Plugin\+Functions\+::\+Base\+Object\+Iterator\+::operator$\ast$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00331_a26d0c6691552ca1a1743bf00e6d93d56}


dereference the iterator 

This operator returns a pointer to the current object the iterator points to.

\begin{DoxyReturn}{Returns}
Pointer to the current Object\+Data 
\end{DoxyReturn}


Definition at line 190 of file Plugin\+Functions\+Base\+Iterator.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/\+Base\+Plugin/\hyperlink{a02452}{Plugin\+Functions.\+hh}\item 
Open\+Flipper/\+Base\+Plugin/Plugin\+Functions\+Base\+Iterator.\+cc\end{DoxyCompactItemize}
