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


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_a806ec9c14e4863bc80befc6033a3d44d}{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_acbcfe45d69b51c068d246674023cc4a6}{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_a1a9f7c774d36b5ed0e2fbbb8c5fd0a33}{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_a515eecf0b660e8fa0f8aa680133cb74b}{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_af2b8b3da135bd7560d0fd323f8d39174}{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_a6a1b288e0fa1e117431ca1dcec3ee94c}{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_a7126756d47361922ca94396756d8592f}{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_aaf4c7c135c92ba1cba1f0c92d1444978}{operator++} (int)
\begin{DoxyCompactList}\small\item\em Move the iterator to the next position. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1iterator_a806ec9c14e4863bc80befc6033a3d44d}{value\+\_\+type} \& \hyperlink{structefl_1_1eina_1_1iterator_abefcb1d826e54d8ffc5d8be95df5303f}{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_acbcfe45d69b51c068d246674023cc4a6}{pointer} \hyperlink{structefl_1_1eina_1_1iterator_ac525b99b74583f20d900b90e59b1024e}{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, typename Enable = void$>$\newline
struct efl\+::eina\+::iterator$<$ T, Enable $>$}

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

It provides a generic 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}
\hypertarget{structefl_1_1eina_1_1iterator_a806ec9c14e4863bc80befc6033a3d44d}{}\label{structefl_1_1eina_1_1iterator_a806ec9c14e4863bc80befc6033a3d44d} 
\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, typename Enable = void$>$ \\
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, Enable $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_a806ec9c14e4863bc80befc6033a3d44d}{value\+\_\+type}}



Type for elements returned by the iterator. 

\hypertarget{structefl_1_1eina_1_1iterator_acbcfe45d69b51c068d246674023cc4a6}{}\label{structefl_1_1eina_1_1iterator_acbcfe45d69b51c068d246674023cc4a6} 
\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, typename Enable = void$>$ \\
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_ad31200100695db5476c1e8e6c55b10e3}{base\+\_\+type\+::pointer} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T, Enable $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_acbcfe45d69b51c068d246674023cc4a6}{pointer}}



Type for a pointer to an element. 

\hypertarget{structefl_1_1eina_1_1iterator_a1a9f7c774d36b5ed0e2fbbb8c5fd0a33}{}\label{structefl_1_1eina_1_1iterator_a1a9f7c774d36b5ed0e2fbbb8c5fd0a33} 
\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, typename Enable = void$>$ \\
typedef \hyperlink{structefl_1_1eina_1_1__common__iterator__base_a22be9b33485b688a901b9288287b5566}{base\+\_\+type\+::reference} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T, Enable $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_a1a9f7c774d36b5ed0e2fbbb8c5fd0a33}{reference}}



Type for a reference to an element. 

\hypertarget{structefl_1_1eina_1_1iterator_a515eecf0b660e8fa0f8aa680133cb74b}{}\label{structefl_1_1eina_1_1iterator_a515eecf0b660e8fa0f8aa680133cb74b} 
\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, typename Enable = void$>$ \\
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, Enable $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_a515eecf0b660e8fa0f8aa680133cb74b}{difference\+\_\+type}}



Type to represent the distance between two iterators. 

\hypertarget{structefl_1_1eina_1_1iterator_af2b8b3da135bd7560d0fd323f8d39174}{}\label{structefl_1_1eina_1_1iterator_af2b8b3da135bd7560d0fd323f8d39174} 
\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, typename Enable = void$>$ \\
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, Enable $>$\+::\hyperlink{structefl_1_1eina_1_1iterator_af2b8b3da135bd7560d0fd323f8d39174}{iterator\+\_\+category}}



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



\subsection{Constructor \& Destructor Documentation}
\hypertarget{structefl_1_1eina_1_1iterator_a6a1b288e0fa1e117431ca1dcec3ee94c}{}\label{structefl_1_1eina_1_1iterator_a6a1b288e0fa1e117431ca1dcec3ee94c} 
\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, typename Enable = void$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T, Enable $>$\+::\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 a generic interface to it. 

\subsection{Member Function Documentation}
\hypertarget{structefl_1_1eina_1_1iterator_a7126756d47361922ca94396756d8592f}{}\label{structefl_1_1eina_1_1iterator_a7126756d47361922ca94396756d8592f} 
\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, typename Enable = void$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator}{self\+\_\+type}\& \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T, Enable $>$\+::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().

\hypertarget{structefl_1_1eina_1_1iterator_aaf4c7c135c92ba1cba1f0c92d1444978}{}\label{structefl_1_1eina_1_1iterator_aaf4c7c135c92ba1cba1f0c92d1444978} 
\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, typename Enable = void$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator}{self\+\_\+type}\& \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T, Enable $>$\+::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_a7126756d47361922ca94396756d8592f}{operator++()}. \hypertarget{structefl_1_1eina_1_1iterator_abefcb1d826e54d8ffc5d8be95df5303f}{}\label{structefl_1_1eina_1_1iterator_abefcb1d826e54d8ffc5d8be95df5303f} 
\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, typename Enable = void$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator_a806ec9c14e4863bc80befc6033a3d44d}{value\+\_\+type}\& \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T, Enable $>$\+::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}
\hypertarget{structefl_1_1eina_1_1iterator_ac525b99b74583f20d900b90e59b1024e}{}\label{structefl_1_1eina_1_1iterator_ac525b99b74583f20d900b90e59b1024e} 
\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, typename Enable = void$>$ \\
\hyperlink{structefl_1_1eina_1_1iterator_acbcfe45d69b51c068d246674023cc4a6}{pointer} \hyperlink{structefl_1_1eina_1_1iterator}{efl\+::eina\+::iterator}$<$ T, Enable $>$\+::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}
