\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_acb9c1d9341522116a033ac2fba134c57}{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_a88b22b7e7a7a65d9a08a3648314012c3}{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$>$\newline
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}
\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}\label{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}} 
\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}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_a0ed318ca1721779eebdce70065844f4a}{base\+\_\+type\+::value\+\_\+type} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}{value\+\_\+type}}



Type for elements returned by the iterator. 

\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}\label{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}} 
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!pointer@{pointer}}
\index{pointer@{pointer}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection{\texorpdfstring{pointer}{pointer}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_ad31200100695db5476c1e8e6c55b10e3}{base\+\_\+type\+::pointer} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}{pointer}}



Type for a pointer to an element. 

\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_aa3be246dc716b4ed4f689bfa2454b2ed}\label{structefl_1_1eina_1_1iterator_aa3be246dc716b4ed4f689bfa2454b2ed}} 
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!reference@{reference}}
\index{reference@{reference}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection{\texorpdfstring{reference}{reference}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_a22be9b33485b688a901b9288287b5566}{base\+\_\+type\+::reference} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_aa3be246dc716b4ed4f689bfa2454b2ed}{reference}}



Type for a reference to an element. 

\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_a3aca63849a60ca829d4b2df7f9a46235}\label{structefl_1_1eina_1_1iterator_a3aca63849a60ca829d4b2df7f9a46235}} 
\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}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_af50b94e9f7e1c3baf9097e219fed4bb0}{base\+\_\+type\+::difference\+\_\+type} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_a3aca63849a60ca829d4b2df7f9a46235}{difference\+\_\+type}}



Type to represent the distance between two iterators. 

\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_a15b29b6ab3c04426c1884f5f432e6c37}\label{structefl_1_1eina_1_1iterator_a15b29b6ab3c04426c1884f5f432e6c37}} 
\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}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_a563972e9c30566a24d8d010f871fdb61}{base\+\_\+type\+::iterator\+\_\+category} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_a15b29b6ab3c04426c1884f5f432e6c37}{iterator\+\_\+category}}



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



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_aae07afa505688ad01584172ae64e5b80}\label{structefl_1_1eina_1_1iterator_aae07afa505688ad01584172ae64e5b80}} 
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!iterator@{iterator}}
\index{iterator@{iterator}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection{\texorpdfstring{iterator()}{iterator()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::\hyperlink{structefl_1_1eina_1_1iterator}{iterator} (\begin{DoxyParamCaption}\item[{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator} $\ast$}]{iterator\+\_\+ = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



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}
\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_aa8576fc5a7b87bc8c04eb9e351330ee9}\label{structefl_1_1eina_1_1iterator_aa8576fc5a7b87bc8c04eb9e351330ee9}} 
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator++@{operator++}}
\index{operator++@{operator++}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator}{self\+\_\+type}\& \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::operator++ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



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().

\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_a2018ca8f158296d4ef1f7eacfd1328ec}\label{structefl_1_1eina_1_1iterator_a2018ca8f158296d4ef1f7eacfd1328ec}} 
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator++@{operator++}}
\index{operator++@{operator++}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection{\texorpdfstring{operator++()}{operator++()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator}{self\+\_\+type}\& \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::operator++ (\begin{DoxyParamCaption}\item[{int}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



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++()}. \mbox{\Hypertarget{structefl_1_1eina_1_1iterator_acb9c1d9341522116a033ac2fba134c57}\label{structefl_1_1eina_1_1iterator_acb9c1d9341522116a033ac2fba134c57}} 
\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$()}{operator*()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}{value\+\_\+type}\& \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::operator$\ast$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



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

\begin{DoxyReturn}{Returns}
Reference to the current element. 
\end{DoxyReturn}
\mbox{\Hypertarget{structefl_1_1eina_1_1iterator_a88b22b7e7a7a65d9a08a3648314012c3}\label{structefl_1_1eina_1_1iterator_a88b22b7e7a7a65d9a08a3648314012c3}} 
\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection{\texorpdfstring{operator-\/$>$()}{operator->()}}
{\footnotesize\ttfamily template$<$typename T$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}{pointer} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T $>$\+::operator-\/$>$ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



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}
