\hypertarget{structefl_1_1eina_1_1__mutable__range__template}{}\section{efl\+:\+:eina\+:\+:\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$ Struct Template Reference}
\label{structefl_1_1eina_1_1__mutable__range__template}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$}}


Range implementation for mutable collections.  


\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef T \hyperlink{structefl_1_1eina_1_1__mutable__range__template_a23535be2d0f0600ac946105e844abbab}{value\+\_\+type}
\begin{DoxyCompactList}\small\item\em The type of each element. \end{DoxyCompactList}\item 
typedef Traits\+::template \hyperlink{structefl_1_1eina_1_1__const__range__template_ade3894caec2118588aa112672dafe546}{iterator}$<$ T $>$\+::type \hyperlink{structefl_1_1eina_1_1__mutable__range__template_aac589992459ba92f03a0513e014be56c}{iterator}
\begin{DoxyCompactList}\small\item\em Type for a iterator to the range. \end{DoxyCompactList}\item 
typedef std\+::reverse\+\_\+iterator$<$ \hyperlink{structefl_1_1eina_1_1__const__range__template_ade3894caec2118588aa112672dafe546}{iterator} $>$ \hyperlink{structefl_1_1eina_1_1__mutable__range__template_a23bfc8f9faba2ef78f62da7fd16cfad9}{reverse\+\_\+iterator}
\begin{DoxyCompactList}\small\item\em Type for constant reverse iterator to the range. \end{DoxyCompactList}\item 
typedef Traits\+::template \hyperlink{structefl_1_1eina_1_1__mutable__range__template_ab0b392c240c41c9f5a603efd37fc1ad9}{native\+\_\+handle}$<$ T $>$\+::type \hyperlink{structefl_1_1eina_1_1__mutable__range__template_a9eb4160da92822cd51b2f1e9a1f85cfd}{native\+\_\+handle\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type for the native handle of the container. \end{DoxyCompactList}\item 
typedef \hyperlink{structefl_1_1eina_1_1__const__range__template}{\+\_\+const\+\_\+range\+\_\+template}$<$ T, Traits $>$ \hyperlink{structefl_1_1eina_1_1__mutable__range__template_aefa64802678bf08a26fda61dedca6ba5}{\+\_\+base\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type for the base class. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structefl_1_1eina_1_1__mutable__range__template_a65a6e9bf44a423dbc80968b8b6966fef}{}\hyperlink{structefl_1_1eina_1_1__mutable__range__template_a65a6e9bf44a423dbc80968b8b6966fef}{\+\_\+mutable\+\_\+range\+\_\+template} (\hyperlink{structefl_1_1eina_1_1__const__range__template_acaa58731fcb73a9bd95673616aaa6fd8}{native\+\_\+handle\+\_\+type} handle)\label{structefl_1_1eina_1_1__mutable__range__template_a65a6e9bf44a423dbc80968b8b6966fef}

\begin{DoxyCompactList}\small\item\em Creates a range object wrapping the given native container handle. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_acaa58731fcb73a9bd95673616aaa6fd8}{native\+\_\+handle\+\_\+type} \hyperlink{structefl_1_1eina_1_1__mutable__range__template_ab0b392c240c41c9f5a603efd37fc1ad9}{native\+\_\+handle} () const 
\begin{DoxyCompactList}\small\item\em Get a constant handle for the native Eina container. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a942dedca86a32d58a9e71e8ce1471a79}{value\+\_\+type} \& \hyperlink{structefl_1_1eina_1_1__mutable__range__template_aafd65dfefff9df3d6400fc273fe9617a}{back} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to the last element. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a942dedca86a32d58a9e71e8ce1471a79}{value\+\_\+type} \& \hyperlink{structefl_1_1eina_1_1__mutable__range__template_abbd47273d91fd78e5c7bfdb5134f930b}{front} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to the first element. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_ade3894caec2118588aa112672dafe546}{iterator} \hyperlink{structefl_1_1eina_1_1__mutable__range__template_a613fdff85cd2f04502c6ca2cdce44f39}{begin} () const 
\begin{DoxyCompactList}\small\item\em Get an iterator pointing to the first element of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_ade3894caec2118588aa112672dafe546}{iterator} \hyperlink{structefl_1_1eina_1_1__mutable__range__template_a600ac49bf821e9702cbc47f0971b9902}{end} () const 
\begin{DoxyCompactList}\small\item\em Get an iterator to the position following the last element of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a4c720f38bc3f47e503109fa183645356}{reverse\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__mutable__range__template_ada7c4cc0b471dfc7be0ea2af1c0ee878}{rbegin} () const 
\begin{DoxyCompactList}\small\item\em Get a reverse iterator pointing to the reverse begin of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a4c720f38bc3f47e503109fa183645356}{reverse\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__mutable__range__template_acb28396266014138016b3e413d582498}{rend} () const 
\begin{DoxyCompactList}\small\item\em Get a reverse iterator pointing to the reverse end of the range. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T, typename Traits$>$struct efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$}

Range implementation for mutable collections. 

\subsection{Member Typedef Documentation}
\hypertarget{structefl_1_1eina_1_1__mutable__range__template_a23535be2d0f0600ac946105e844abbab}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!value\+\_\+type@{value\+\_\+type}}
\index{value\+\_\+type@{value\+\_\+type}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{value\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ typedef T {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::{\bf value\+\_\+type}}\label{structefl_1_1eina_1_1__mutable__range__template_a23535be2d0f0600ac946105e844abbab}


The type of each element. 

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_aac589992459ba92f03a0513e014be56c}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!iterator@{iterator}}
\index{iterator@{iterator}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ typedef Traits\+::template {\bf iterator}$<$T$>$\+::type {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::{\bf iterator}}\label{structefl_1_1eina_1_1__mutable__range__template_aac589992459ba92f03a0513e014be56c}


Type for a iterator to the range. 

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_a23bfc8f9faba2ef78f62da7fd16cfad9}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!reverse\+\_\+iterator@{reverse\+\_\+iterator}}
\index{reverse\+\_\+iterator@{reverse\+\_\+iterator}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{reverse\+\_\+iterator}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ typedef std\+::reverse\+\_\+iterator$<${\bf iterator}$>$ {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::{\bf reverse\+\_\+iterator}}\label{structefl_1_1eina_1_1__mutable__range__template_a23bfc8f9faba2ef78f62da7fd16cfad9}


Type for constant reverse iterator to the range. 

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_a9eb4160da92822cd51b2f1e9a1f85cfd}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!native\+\_\+handle\+\_\+type@{native\+\_\+handle\+\_\+type}}
\index{native\+\_\+handle\+\_\+type@{native\+\_\+handle\+\_\+type}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{native\+\_\+handle\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ typedef Traits\+::template {\bf native\+\_\+handle}$<$T$>$\+::type {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::{\bf native\+\_\+handle\+\_\+type}}\label{structefl_1_1eina_1_1__mutable__range__template_a9eb4160da92822cd51b2f1e9a1f85cfd}


Type for the native handle of the container. 

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_aefa64802678bf08a26fda61dedca6ba5}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!\+\_\+base\+\_\+type@{\+\_\+base\+\_\+type}}
\index{\+\_\+base\+\_\+type@{\+\_\+base\+\_\+type}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{\+\_\+base\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ typedef {\bf \+\_\+const\+\_\+range\+\_\+template}$<$T, Traits$>$ {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::{\bf \+\_\+base\+\_\+type}}\label{structefl_1_1eina_1_1__mutable__range__template_aefa64802678bf08a26fda61dedca6ba5}


Type for the base class. 



\subsection{Member Function Documentation}
\hypertarget{structefl_1_1eina_1_1__mutable__range__template_ab0b392c240c41c9f5a603efd37fc1ad9}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!native\+\_\+handle@{native\+\_\+handle}}
\index{native\+\_\+handle@{native\+\_\+handle}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{native\+\_\+handle}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ {\bf native\+\_\+handle\+\_\+type} {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::native\+\_\+handle (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__mutable__range__template_ab0b392c240c41c9f5a603efd37fc1ad9}


Get a constant handle for the native Eina container. 

\begin{DoxyReturn}{Returns}
Constant handle for the native Eina container. 
\end{DoxyReturn}


References efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template$<$ T, Traits $>$\+::native\+\_\+handle().



Referenced by efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::back(), efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::begin(), efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::end(), efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::front(), efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::rbegin(), and efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::rend().

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_aafd65dfefff9df3d6400fc273fe9617a}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!back@{back}}
\index{back@{back}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{back}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ {\bf value\+\_\+type}\& {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::back (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__mutable__range__template_aafd65dfefff9df3d6400fc273fe9617a}


Get a reference to the last element. 

\begin{DoxyReturn}{Returns}
Reference to the last element of the range. 
\end{DoxyReturn}


References efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::native\+\_\+handle().

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_abbd47273d91fd78e5c7bfdb5134f930b}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!front@{front}}
\index{front@{front}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{front}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ {\bf value\+\_\+type}\& {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::front (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__mutable__range__template_abbd47273d91fd78e5c7bfdb5134f930b}


Get a reference to the first element. 

\begin{DoxyReturn}{Returns}
Reference to the first element of the range. 
\end{DoxyReturn}


References efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::native\+\_\+handle().

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_a613fdff85cd2f04502c6ca2cdce44f39}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!begin@{begin}}
\index{begin@{begin}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ {\bf iterator} {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::begin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__mutable__range__template_a613fdff85cd2f04502c6ca2cdce44f39}


Get an iterator pointing to the first element of the range. 

\begin{DoxyReturn}{Returns}
Iterator to the initial position of the range.
\end{DoxyReturn}
This member function returns an iterator pointing to the first element of the range. If the range contains no elements the returned iterator is the same as the one returned by \hyperlink{structefl_1_1eina_1_1__mutable__range__template_a600ac49bf821e9702cbc47f0971b9902}{end() const}. 

References efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::native\+\_\+handle().

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_a600ac49bf821e9702cbc47f0971b9902}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!end@{end}}
\index{end@{end}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ {\bf iterator} {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::end (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__mutable__range__template_a600ac49bf821e9702cbc47f0971b9902}


Get an iterator to the position following the last element of the range. 

\begin{DoxyReturn}{Returns}
Iterator to the final position of the range.
\end{DoxyReturn}
This member function returns an iterator to the position following the last element in the range. If the range contains no elements the returned iterator is the same as the one returned by \hyperlink{structefl_1_1eina_1_1__mutable__range__template_a613fdff85cd2f04502c6ca2cdce44f39}{begin() const}.

\begin{DoxyNote}{Note}
Note that attempting to access this position causes undefined behavior. 
\end{DoxyNote}


References efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::native\+\_\+handle().

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_ada7c4cc0b471dfc7be0ea2af1c0ee878}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!rbegin@{rbegin}}
\index{rbegin@{rbegin}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{rbegin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ {\bf reverse\+\_\+iterator} {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::rbegin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__mutable__range__template_ada7c4cc0b471dfc7be0ea2af1c0ee878}


Get a reverse iterator pointing to the reverse begin of the range. 

\begin{DoxyReturn}{Returns}
Reverse iterator pointing to the reverse begin of the range.
\end{DoxyReturn}
This member function returns a reverse iterator pointing to the last element of the range. If the range is empty the returned reverse iterator is the same as the one returned by \hyperlink{structefl_1_1eina_1_1__const__range__template_ae6878bfa401d5c00166379f2b728103b}{rend()}. 

References efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::native\+\_\+handle().

\hypertarget{structefl_1_1eina_1_1__mutable__range__template_acb28396266014138016b3e413d582498}{}\index{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}!rend@{rend}}
\index{rend@{rend}!efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}}
\subsubsection[{rend}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T , typename Traits $>$ {\bf reverse\+\_\+iterator} {\bf efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::rend (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__mutable__range__template_acb28396266014138016b3e413d582498}


Get a reverse iterator pointing to the reverse end of the range. 

\begin{DoxyReturn}{Returns}
Reverse iterator pointing to the reverse end of the range.
\end{DoxyReturn}
This member function returns a reverse iterator pointing to the position before the first element of the range. If the range is empty the returned iterator is the same as the one returned by \hyperlink{structefl_1_1eina_1_1__const__range__template_abe58d1043024916692cebd6774d40fcc}{rbegin()}.

\begin{DoxyNote}{Note}
Note that attempting to access this position causes undefined behavior. 
\end{DoxyNote}


References efl\+::eina\+::\+\_\+mutable\+\_\+range\+\_\+template$<$ T, Traits $>$\+::native\+\_\+handle().

