\hypertarget{structefl_1_1eina_1_1iterator}{}\section{efl\+:\+:eina\+:\+:iterator$<$ T $>$ Struct Template Reference}
\label{structefl_1_1eina_1_1iterator}\index{efl\+::eina\+::iterator$<$ T $>$@{efl\+::eina\+::iterator$<$ T $>$}}


C++ wrappers to the native {\ttfamily Eina\+\_\+\+Iterator}.  


\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_a0ed318ca1721779eebdce70065844f4a}{base\+\_\+type\+::value\+\_\+type} \hyperlink{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}{value\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type for elements returned by the iterator. \end{DoxyCompactList}\item 
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_ad31200100695db5476c1e8e6c55b10e3}{base\+\_\+type\+::pointer} \hyperlink{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}{pointer}
\begin{DoxyCompactList}\small\item\em Type for a pointer to an element. \end{DoxyCompactList}\item 
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_a22be9b33485b688a901b9288287b5566}{base\+\_\+type\+::reference} \hyperlink{structefl_1_1eina_1_1iterator_aa3be246dc716b4ed4f689bfa2454b2ed}{reference}
\begin{DoxyCompactList}\small\item\em Type for a reference to an element. \end{DoxyCompactList}\item 
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_af50b94e9f7e1c3baf9097e219fed4bb0}{base\+\_\+type\+::difference\+\_\+type} \hyperlink{structefl_1_1eina_1_1iterator_a3aca63849a60ca829d4b2df7f9a46235}{difference\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type to represent the distance between two iterators. \end{DoxyCompactList}\item 
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_a563972e9c30566a24d8d010f871fdb61}{base\+\_\+type\+::iterator\+\_\+category} \hyperlink{structefl_1_1eina_1_1iterator_a15b29b6ab3c04426c1884f5f432e6c37}{iterator\+\_\+category}
\begin{DoxyCompactList}\small\item\em Defines the iterator category as the same of the base class. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structefl_1_1eina_1_1iterator_aae07afa505688ad01584172ae64e5b80}{iterator} (\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator} $\ast$iterator\+\_\+=0)
\begin{DoxyCompactList}\small\item\em Creates a iterator wrapping the given native {\ttfamily Eina\+\_\+\+Iterator} handle. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1iterator}{self\+\_\+type} \& \hyperlink{structefl_1_1eina_1_1iterator_aa8576fc5a7b87bc8c04eb9e351330ee9}{operator++} ()
\begin{DoxyCompactList}\small\item\em Move the iterator to the next position. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1iterator}{self\+\_\+type} \& \hyperlink{structefl_1_1eina_1_1iterator_a2018ca8f158296d4ef1f7eacfd1328ec}{operator++} (int)
\begin{DoxyCompactList}\small\item\em Move the iterator to the next position. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}{value\+\_\+type} \& \hyperlink{structefl_1_1eina_1_1iterator_aaf80aff8ff4513c9ecec2681457c67cf}{operator$\ast$} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to the element currently pointed by the iterator. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}{pointer} \hyperlink{structefl_1_1eina_1_1iterator_a366fe14b152bb2f68fe5ece2efafc694}{operator-\/$>$} () const 
\begin{DoxyCompactList}\small\item\em Return a pointer to the current element, which member will be accessed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\\*
struct efl\+::eina\+::iterator$<$ T $>$}

C++ wrappers to the native {\ttfamily Eina\+\_\+\+Iterator}. 

It provides an O\+OP interface to the {\ttfamily Eina\+\_\+\+Iterator} functions, and automatically take care of allocating a deallocating resources using the R\+A\+II programming idiom. 

\subsection{Member Typedef Documentation}
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!value\+\_\+type@{value\+\_\+type}}
\index{value\+\_\+type@{value\+\_\+type}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{value\+\_\+type}{value_type}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ typedef {\bf base\+\_\+type\+::value\+\_\+type} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf value\+\_\+type}}\hypertarget{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}{}\label{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}


Type for elements returned by the iterator. 

\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!pointer@{pointer}}
\index{pointer@{pointer}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{pointer}{pointer}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ typedef {\bf base\+\_\+type\+::pointer} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf pointer}}\hypertarget{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}{}\label{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}


Type for a pointer to an element. 

\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!reference@{reference}}
\index{reference@{reference}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{reference}{reference}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ typedef {\bf base\+\_\+type\+::reference} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf reference}}\hypertarget{structefl_1_1eina_1_1iterator_aa3be246dc716b4ed4f689bfa2454b2ed}{}\label{structefl_1_1eina_1_1iterator_aa3be246dc716b4ed4f689bfa2454b2ed}


Type for a reference to an element. 

\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!difference\+\_\+type@{difference\+\_\+type}}
\index{difference\+\_\+type@{difference\+\_\+type}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{difference\+\_\+type}{difference_type}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ typedef {\bf base\+\_\+type\+::difference\+\_\+type} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf difference\+\_\+type}}\hypertarget{structefl_1_1eina_1_1iterator_a3aca63849a60ca829d4b2df7f9a46235}{}\label{structefl_1_1eina_1_1iterator_a3aca63849a60ca829d4b2df7f9a46235}


Type to represent the distance between two iterators. 

\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!iterator\+\_\+category@{iterator\+\_\+category}}
\index{iterator\+\_\+category@{iterator\+\_\+category}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{iterator\+\_\+category}{iterator_category}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ typedef {\bf base\+\_\+type\+::iterator\+\_\+category} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf iterator\+\_\+category}}\hypertarget{structefl_1_1eina_1_1iterator_a15b29b6ab3c04426c1884f5f432e6c37}{}\label{structefl_1_1eina_1_1iterator_a15b29b6ab3c04426c1884f5f432e6c37}


Defines the iterator category as the same of the base class. 



\subsection{Constructor \& Destructor Documentation}
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!iterator@{iterator}}
\index{iterator@{iterator}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{iterator(\+Eina\+\_\+\+Iterator $\ast$iterator\+\_\+=0)}{iterator(Eina_Iterator *iterator_=0)}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf iterator} (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Iterator} $\ast$}]{iterator\+\_\+ = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}\hypertarget{structefl_1_1eina_1_1iterator_aae07afa505688ad01584172ae64e5b80}{}\label{structefl_1_1eina_1_1iterator_aae07afa505688ad01584172ae64e5b80}


Creates a iterator wrapping the given native {\ttfamily Eina\+\_\+\+Iterator} handle. 

This constructor creates an iterator that wraps the given native {\ttfamily Eina\+\_\+\+Iterator} handle, providing an O\+OP interface to it. 

\subsection{Member Function Documentation}
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator++@{operator++}}
\index{operator++@{operator++}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{operator++()}{operator++()}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf self\+\_\+type}\& {\bf efl\+::eina\+::iterator}$<$ T $>$\+::operator++ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{structefl_1_1eina_1_1iterator_aa8576fc5a7b87bc8c04eb9e351330ee9}{}\label{structefl_1_1eina_1_1iterator_aa8576fc5a7b87bc8c04eb9e351330ee9}


Move the iterator to the next position. 

\begin{DoxyReturn}{Returns}
The iterator itself.
\end{DoxyReturn}
This operator increments the iterator, making it point to the position right after the current one. At the end, it returns a reference to itself. 

References eina\+\_\+iterator\+\_\+next().

\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator++@{operator++}}
\index{operator++@{operator++}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{operator++(int)}{operator++(int)}}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf self\+\_\+type}\& {\bf efl\+::eina\+::iterator}$<$ T $>$\+::operator++ (
\begin{DoxyParamCaption}
\item[{int}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{structefl_1_1eina_1_1iterator_a2018ca8f158296d4ef1f7eacfd1328ec}{}\label{structefl_1_1eina_1_1iterator_a2018ca8f158296d4ef1f7eacfd1328ec}


Move the iterator to the next position. 

\begin{DoxyReturn}{Returns}
The iterator itself.
\end{DoxyReturn}
Works exactly like \hyperlink{structefl_1_1eina_1_1iterator_aa8576fc5a7b87bc8c04eb9e351330ee9}{operator++()}. \index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{operator$\ast$() const }{operator*() const }}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf value\+\_\+type}\& {\bf efl\+::eina\+::iterator}$<$ T $>$\+::operator$\ast$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{structefl_1_1eina_1_1iterator_aaf80aff8ff4513c9ecec2681457c67cf}{}\label{structefl_1_1eina_1_1iterator_aaf80aff8ff4513c9ecec2681457c67cf}


Get a reference to the element currently pointed by the iterator. 

\begin{DoxyReturn}{Returns}
Reference to the current element. 
\end{DoxyReturn}
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{\texorpdfstring{operator-\/$>$() const }{operator->() const }}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T$>$ {\bf pointer} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::operator-\/$>$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{structefl_1_1eina_1_1iterator_a366fe14b152bb2f68fe5ece2efafc694}{}\label{structefl_1_1eina_1_1iterator_a366fe14b152bb2f68fe5ece2efafc694}


Return a pointer to the current element, which member will be accessed. 

\begin{DoxyReturn}{Returns}
Pointer to the element currently pointed by the iterator. 
\end{DoxyReturn}
