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


\hyperlink{a07112}{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 
\mbox{\Hypertarget{a06944_a9bb01bead020c596d0add83d47193f4e}\label{a06944_a9bb01bead020c596d0add83d47193f4e}} 
typedef \hyperlink{a07036}{Base\+Object} \hyperlink{a06944_a9bb01bead020c596d0add83d47193f4e}{value\+\_\+type}
\begin{DoxyCompactList}\small\item\em type of the Objects the iterator works on \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a827dcfcb07b86c8f6ea9a8699a515812}\label{a06944_a827dcfcb07b86c8f6ea9a8699a515812}} 
typedef \hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a06944_a827dcfcb07b86c8f6ea9a8699a515812}{value\+\_\+handle}
\begin{DoxyCompactList}\small\item\em handle type (just an int) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a73103be943ef243af150993be3a499ea}\label{a06944_a73103be943ef243af150993be3a499ea}} 
typedef \hyperlink{a06944_a9bb01bead020c596d0add83d47193f4e}{value\+\_\+type} \& \hyperlink{a06944_a73103be943ef243af150993be3a499ea}{reference}
\begin{DoxyCompactList}\small\item\em reference type \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a4fe74a88166e7799b56ad53ce2e53602}\label{a06944_a4fe74a88166e7799b56ad53ce2e53602}} 
typedef \hyperlink{a06944_a9bb01bead020c596d0add83d47193f4e}{value\+\_\+type} $\ast$ \hyperlink{a06944_a4fe74a88166e7799b56ad53ce2e53602}{pointer}
\begin{DoxyCompactList}\small\item\em basic pointer type \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a06944_ad6054ca8b620fcbb3360e77100132d5b}{Base\+Object\+Iterator} (\hyperlink{a06173_a9eae8faadd978364c97a06f639ec0ccc}{Iterator\+Restriction} \+\_\+restriction=\hyperlink{a06173_aff89407cfc7a2f18a059f6cff7d4edbb}{A\+L\+L\+\_\+\+O\+B\+J\+E\+C\+TS}, \hyperlink{a07048}{Data\+Type} \+\_\+data\+Type=\hyperlink{a00188_a87446416192751e622bd4693a4339419}{D\+A\+T\+A\+\_\+\+A\+LL})
\begin{DoxyCompactList}\small\item\em Use this constructor for iterating through your data. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a53f6bed2c770f92226c534289ad2237f}\label{a06944_a53f6bed2c770f92226c534289ad2237f}} 
\hyperlink{a06944_a53f6bed2c770f92226c534289ad2237f}{Base\+Object\+Iterator} (\hyperlink{a07036}{Base\+Object} $\ast$pos, \hyperlink{a06173_a9eae8faadd978364c97a06f639ec0ccc}{Iterator\+Restriction} \+\_\+restriction=\hyperlink{a06173_aff89407cfc7a2f18a059f6cff7d4edbb}{A\+L\+L\+\_\+\+O\+B\+J\+E\+C\+TS}, \hyperlink{a07048}{Data\+Type} \+\_\+data\+Type=\hyperlink{a00188_a87446416192751e622bd4693a4339419}{D\+A\+T\+A\+\_\+\+A\+LL})
\begin{DoxyCompactList}\small\item\em additional constructor starting at a given position \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a1cbb2c924ee7e933c97e9ee0c07021f7}\label{a06944_a1cbb2c924ee7e933c97e9ee0c07021f7}} 
\hyperlink{a06944_a1cbb2c924ee7e933c97e9ee0c07021f7}{operator value\+\_\+handle} ()
\begin{DoxyCompactList}\small\item\em return the current position of the iterator \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_aebb015419ec9ff78c52376aba5f93deb}\label{a06944_aebb015419ec9ff78c52376aba5f93deb}} 
bool \hyperlink{a06944_aebb015419ec9ff78c52376aba5f93deb}{operator==} (const \hyperlink{a06944}{Base\+Object\+Iterator} \&\+\_\+rhs)
\begin{DoxyCompactList}\small\item\em compare iterators \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a940de25e07e5eea6fdbc2cb02d56c43f}\label{a06944_a940de25e07e5eea6fdbc2cb02d56c43f}} 
bool \hyperlink{a06944_a940de25e07e5eea6fdbc2cb02d56c43f}{operator!=} (const \hyperlink{a06944}{Base\+Object\+Iterator} \&\+\_\+rhs)
\begin{DoxyCompactList}\small\item\em compare iterators \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a53475118734fff977a5e522f2fcedc50}\label{a06944_a53475118734fff977a5e522f2fcedc50}} 
\hyperlink{a06944}{Base\+Object\+Iterator} \& \hyperlink{a06944_a53475118734fff977a5e522f2fcedc50}{operator=} (const \hyperlink{a06944}{Base\+Object\+Iterator} \&\+\_\+rhs)
\begin{DoxyCompactList}\small\item\em assign iterators \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a473ea103ca8b1a7ca2818a93d8330c1b}\label{a06944_a473ea103ca8b1a7ca2818a93d8330c1b}} 
\hyperlink{a06944_a4fe74a88166e7799b56ad53ce2e53602}{pointer} \hyperlink{a06944_a473ea103ca8b1a7ca2818a93d8330c1b}{operator-\/$>$} ()
\begin{DoxyCompactList}\small\item\em dereference \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a6417a932e63c5427cbe3b802f104d7c2}\label{a06944_a6417a932e63c5427cbe3b802f104d7c2}} 
\hyperlink{a06944}{Base\+Object\+Iterator} \& \hyperlink{a06944_a6417a932e63c5427cbe3b802f104d7c2}{operator++} ()
\begin{DoxyCompactList}\small\item\em next element \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_abc726ec2bd89582b4650952579486358}\label{a06944_abc726ec2bd89582b4650952579486358}} 
\hyperlink{a06944}{Base\+Object\+Iterator} \& \hyperlink{a06944_abc726ec2bd89582b4650952579486358}{operator-\/-\/} ()
\begin{DoxyCompactList}\small\item\em last element \end{DoxyCompactList}\item 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a06944_a26d0c6691552ca1a1743bf00e6d93d56}{operator$\ast$} ()
\begin{DoxyCompactList}\small\item\em dereference the iterator \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_ae680007513d168bd9b7577b6d40a858f}\label{a06944_ae680007513d168bd9b7577b6d40a858f}} 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a06944_ae680007513d168bd9b7577b6d40a858f}{index} ()
\begin{DoxyCompactList}\small\item\em return current position of the iterator \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a06944_a1f46ab5a606c51960ba9956c24b2b21d}\label{a06944_a1f46ab5a606c51960ba9956c24b2b21d}} 
\hyperlink{a07036}{Base\+Object} $\ast$ \hyperlink{a06944_a1f46ab5a606c51960ba9956c24b2b21d}{pos\+\_\+}
\begin{DoxyCompactList}\small\item\em current position of the iterator \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a7f03b0cdf3036019a157b206fa97b59f}\label{a06944_a7f03b0cdf3036019a157b206fa97b59f}} 
\hyperlink{a07048}{Data\+Type} \hyperlink{a06944_a7f03b0cdf3036019a157b206fa97b59f}{data\+Type\+\_\+}
\begin{DoxyCompactList}\small\item\em returned data types of the iterator \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06944_a4cd6828fffebfd81daae0123349043eb}\label{a06944_a4cd6828fffebfd81daae0123349043eb}} 
\hyperlink{a06173_a9eae8faadd978364c97a06f639ec0ccc}{Iterator\+Restriction} \hyperlink{a06944_a4cd6828fffebfd81daae0123349043eb}{restriction\+\_\+}
\begin{DoxyCompactList}\small\item\em Restriction of the iterator. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a07112}{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 675 of file Plugin\+Functions.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a06944_ad6054ca8b620fcbb3360e77100132d5b}\label{a06944_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{\texorpdfstring{Base\+Object\+Iterator()}{BaseObjectIterator()}}
{\footnotesize\ttfamily Plugin\+Functions\+::\+Base\+Object\+Iterator\+::\+Base\+Object\+Iterator (\begin{DoxyParamCaption}\item[{\hyperlink{a06173_a9eae8faadd978364c97a06f639ec0ccc}{Iterator\+Restriction}}]{\+\_\+restriction = {\ttfamily \hyperlink{a06173_aff89407cfc7a2f18a059f6cff7d4edbb}{A\+L\+L\+\_\+\+O\+B\+J\+E\+C\+TS}},  }\item[{\hyperlink{a07048}{Data\+Type}}]{\+\_\+data\+Type = {\ttfamily \hyperlink{a00188_a87446416192751e622bd4693a4339419}{D\+A\+T\+A\+\_\+\+A\+LL}} }\end{DoxyParamCaption})}



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\+TS , T\+A\+R\+G\+E\+T\+\_\+\+O\+B\+J\+E\+C\+TS , S\+O\+U\+R\+C\+E\+\_\+\+O\+B\+J\+E\+C\+TS. \\
\hline
{\em \+\_\+data\+Type} & Use this parameter to select the returned object types. You can use D\+A\+T\+A\+\_\+\+A\+LL D\+A\+T\+A\+\_\+\+P\+O\+L\+Y\+\_\+\+M\+E\+SH D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+SH D\+A\+T\+A\+\_\+\+V\+O\+L\+U\+ME \\
\hline
\end{DoxyParams}


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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a06944_a26d0c6691552ca1a1743bf00e6d93d56}\label{a06944_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{\texorpdfstring{operator$\ast$()}{operator*()}}
{\footnotesize\ttfamily \hyperlink{a07036}{Base\+Object} $\ast$ Plugin\+Functions\+::\+Base\+Object\+Iterator\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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 181 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{a00062}{Plugin\+Functions.\+hh}\item 
Open\+Flipper/\+Base\+Plugin/Plugin\+Functions\+Base\+Iterator.\+cc\end{DoxyCompactItemize}
