\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\+O\+P interface to the {\ttfamily Eina\+\_\+\+Iterator} functions, and automatically take care of allocating a deallocating resources using the R\+A\+I\+I programming idiom. 

\subsection{Member Typedef Documentation}
\hypertarget{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[{value\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ typedef {\bf base\+\_\+type\+::value\+\_\+type} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf value\+\_\+type}}}\label{structefl_1_1eina_1_1iterator_a680b03ae98c55434c17b608453434ec9}


Type for elements returned by the iterator. 

\hypertarget{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[{pointer}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ typedef {\bf base\+\_\+type\+::pointer} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf pointer}}}\label{structefl_1_1eina_1_1iterator_a32707d03c4c72d0a8fe16ad9a65aebd7}


Type for a pointer to an element. 

\hypertarget{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[{reference}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ typedef {\bf base\+\_\+type\+::reference} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf reference}}}\label{structefl_1_1eina_1_1iterator_aa3be246dc716b4ed4f689bfa2454b2ed}


Type for a reference to an element. 

\hypertarget{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[{difference\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ typedef {\bf base\+\_\+type\+::difference\+\_\+type} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf difference\+\_\+type}}}\label{structefl_1_1eina_1_1iterator_a3aca63849a60ca829d4b2df7f9a46235}


Type to represent the distance between two iterators. 

\hypertarget{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[{iterator\+\_\+category}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ typedef {\bf base\+\_\+type\+::iterator\+\_\+category} {\bf efl\+::eina\+::iterator}$<$ T $>$\+::{\bf iterator\+\_\+category}}}\label{structefl_1_1eina_1_1iterator_a15b29b6ab3c04426c1884f5f432e6c37}


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



\subsection{Constructor \& Destructor Documentation}
\hypertarget{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[{iterator}]{\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]}}}\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\+O\+P interface to it. 

\subsection{Member Function Documentation}
\hypertarget{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[{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]}}}\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().

\hypertarget{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[{operator++}]{\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]}}}\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++()}. \hypertarget{structefl_1_1eina_1_1iterator_aaf80aff8ff4513c9ecec2681457c67cf}{\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{operator$\ast$}]{\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]}}}\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}
\hypertarget{structefl_1_1eina_1_1iterator_a366fe14b152bb2f68fe5ece2efafc694}{\index{efl\+::eina\+::iterator@{efl\+::eina\+::iterator}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!efl\+::eina\+::iterator@{efl\+::eina\+::iterator}}
\subsubsection[{operator-\/$>$}]{\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]}}}\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}
