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


Range implementation for immutable collections.  


\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef Traits\+::template \hyperlink{structefl_1_1eina_1_1__const__range__template_af62f5e0aaaa1a3c4b39a36d18b95724d}{const\+\_\+iterator}$<$ T $>$\+::type \hyperlink{structefl_1_1eina_1_1__const__range__template_af62f5e0aaaa1a3c4b39a36d18b95724d}{const\+\_\+iterator}
\begin{DoxyCompactList}\small\item\em Type for constant iterator to the range. \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__const__range__template_ade3894caec2118588aa112672dafe546}{iterator}
\begin{DoxyCompactList}\small\item\em Type for iterator to the range. \end{DoxyCompactList}\item 
typedef T \hyperlink{structefl_1_1eina_1_1__const__range__template_a942dedca86a32d58a9e71e8ce1471a79}{value\+\_\+type}
\begin{DoxyCompactList}\small\item\em The type of each element. \end{DoxyCompactList}\item 
typedef T \& \hyperlink{structefl_1_1eina_1_1__const__range__template_af215b93be28b5c0db1a290c50f1e4a4f}{reference}
\begin{DoxyCompactList}\small\item\em Type for a reference to an element. \end{DoxyCompactList}\item 
typedef T const \& \hyperlink{structefl_1_1eina_1_1__const__range__template_a08e4f77a592f335838ccdecf86cbd70e}{const\+\_\+reference}
\begin{DoxyCompactList}\small\item\em Type for a constant reference to an element. \end{DoxyCompactList}\item 
typedef T $\ast$ \hyperlink{structefl_1_1eina_1_1__const__range__template_a4d0faee12900e9f7bd7a3818a728b6d1}{pointer}
\begin{DoxyCompactList}\small\item\em Type for a pointer to an element. \end{DoxyCompactList}\item 
typedef T const $\ast$ \hyperlink{structefl_1_1eina_1_1__const__range__template_a1a4a87e1a36e45b116ffb5217cd6ed91}{const\+\_\+pointer}
\begin{DoxyCompactList}\small\item\em Type for a constant pointer to an element. \end{DoxyCompactList}\item 
typedef std\+::reverse\+\_\+iterator$<$ \hyperlink{structefl_1_1eina_1_1__const__range__template_ade3894caec2118588aa112672dafe546}{iterator} $>$ \hyperlink{structefl_1_1eina_1_1__const__range__template_a4c720f38bc3f47e503109fa183645356}{reverse\+\_\+iterator}
\begin{DoxyCompactList}\small\item\em Type for reverse iterator to the range. \end{DoxyCompactList}\item 
typedef std\+::reverse\+\_\+iterator$<$ \hyperlink{structefl_1_1eina_1_1__const__range__template_af62f5e0aaaa1a3c4b39a36d18b95724d}{const\+\_\+iterator} $>$ \hyperlink{structefl_1_1eina_1_1__const__range__template_a2da387088736ceea7cb45760f2c924b4}{const\+\_\+reverse\+\_\+iterator}
\begin{DoxyCompactList}\small\item\em Type for constant reverse iterator to the range. \end{DoxyCompactList}\item 
typedef std\+::size\+\_\+t \hyperlink{structefl_1_1eina_1_1__const__range__template_a6c1d95b7cefbba4e40c58cc6c34a6f97}{size\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type for size information. \end{DoxyCompactList}\item 
typedef std\+::ptrdiff\+\_\+t \hyperlink{structefl_1_1eina_1_1__const__range__template_a8d85f989df227ac2daa113deec3fda45}{difference\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type to represent the distance between two iterators. \end{DoxyCompactList}\item 
typedef Traits\+::template const\+\_\+native\+\_\+handle$<$ T $>$\+::type \hyperlink{structefl_1_1eina_1_1__const__range__template_acaa58731fcb73a9bd95673616aaa6fd8}{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__const__range__template_a3e67afd98f93f1af8c32747f97653f1b}{\+\_\+self\+\_\+type}
\begin{DoxyCompactList}\small\item\em Type of the range itself. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structefl_1_1eina_1_1__const__range__template_a375118c0308c2a41821b2e7b39e1f375}{}\hyperlink{structefl_1_1eina_1_1__const__range__template_a375118c0308c2a41821b2e7b39e1f375}{\+\_\+const\+\_\+range\+\_\+template} ()\label{structefl_1_1eina_1_1__const__range__template_a375118c0308c2a41821b2e7b39e1f375}

\begin{DoxyCompactList}\small\item\em Creates a singular range object. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1eina_1_1__const__range__template_a9f36f6e94d07e052fc549050d343c6e8}{}\hyperlink{structefl_1_1eina_1_1__const__range__template_a9f36f6e94d07e052fc549050d343c6e8}{\+\_\+const\+\_\+range\+\_\+template} (\hyperlink{structefl_1_1eina_1_1__const__range__template_acaa58731fcb73a9bd95673616aaa6fd8}{native\+\_\+handle\+\_\+type} handle)\label{structefl_1_1eina_1_1__const__range__template_a9f36f6e94d07e052fc549050d343c6e8}

\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__const__range__template_a7d0780d484277fcf16e89657b4f16559}{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} const \& \hyperlink{structefl_1_1eina_1_1__const__range__template_a5464413117490a79e3feca9308be6773}{back} () const 
\begin{DoxyCompactList}\small\item\em Get a constant reference to the last element. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a942dedca86a32d58a9e71e8ce1471a79}{value\+\_\+type} const \& \hyperlink{structefl_1_1eina_1_1__const__range__template_a83688534611bcbe19628ada562622b50}{front} () const 
\begin{DoxyCompactList}\small\item\em Get a constant reference to the first element. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_af62f5e0aaaa1a3c4b39a36d18b95724d}{const\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_aab3fe0c84b9fdcb50c01c2f67779c08e}{begin} () const 
\begin{DoxyCompactList}\small\item\em Get a constant iterator pointing to the first element of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_af62f5e0aaaa1a3c4b39a36d18b95724d}{const\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_abf896985c683445ab51b238dc6f7e41c}{end} () const 
\begin{DoxyCompactList}\small\item\em Get a constant iterator to the position following the last element of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a2da387088736ceea7cb45760f2c924b4}{const\+\_\+reverse\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_abdd6088fd982bc5d8d0ab5e90a5bf9f9}{crbegin} () const 
\begin{DoxyCompactList}\small\item\em Get a constant reverse iterator pointing to the reverse begin of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a2da387088736ceea7cb45760f2c924b4}{const\+\_\+reverse\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_abc0305c831fb1037d991f1062a1cb5d2}{crend} () const 
\begin{DoxyCompactList}\small\item\em Get a constant reverse iterator pointing to the reverse end of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_af62f5e0aaaa1a3c4b39a36d18b95724d}{const\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_a6d4d202d577e56b773161eb00070a12a}{cbegin} () const 
\begin{DoxyCompactList}\small\item\em Get a constant iterator pointing to the first element of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_af62f5e0aaaa1a3c4b39a36d18b95724d}{const\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_a5d38da32ec604ed22134270286789ec1}{cend} () const 
\begin{DoxyCompactList}\small\item\em Get a constant iterator to the position following the last element of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a2da387088736ceea7cb45760f2c924b4}{const\+\_\+reverse\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_abe58d1043024916692cebd6774d40fcc}{rbegin} ()
\begin{DoxyCompactList}\small\item\em Get a constant reverse iterator pointing to the reverse begin of the range. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a2da387088736ceea7cb45760f2c924b4}{const\+\_\+reverse\+\_\+iterator} \hyperlink{structefl_1_1eina_1_1__const__range__template_ae6878bfa401d5c00166379f2b728103b}{rend} ()
\begin{DoxyCompactList}\small\item\em Get a constant reverse iterator pointing to the reverse end of the range. \end{DoxyCompactList}\item 
bool \hyperlink{structefl_1_1eina_1_1__const__range__template_af59bc00b13431dd7d9f95ef1f816591d}{empty} () const 
\begin{DoxyCompactList}\small\item\em Check if the range does not contain any elements. \end{DoxyCompactList}\item 
\hyperlink{structefl_1_1eina_1_1__const__range__template_a6c1d95b7cefbba4e40c58cc6c34a6f97}{size\+\_\+type} \hyperlink{structefl_1_1eina_1_1__const__range__template_a9b5037c7c607d0dc6ccf9dfda156da57}{size} () const 
\begin{DoxyCompactList}\small\item\em Get the number of elements in the range. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1eina_1_1__const__range__template_ac97ba22144f1c6ed667f95f444ed549a}{swap} (\hyperlink{structefl_1_1eina_1_1__const__range__template_a3e67afd98f93f1af8c32747f97653f1b}{\+\_\+self\+\_\+type} \&other)
\begin{DoxyCompactList}\small\item\em Swap content with another range of the same type. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structefl_1_1eina_1_1__const__range__template_a15578f13dec64786c955cc89a9adbb29}{}\hyperlink{structefl_1_1eina_1_1__const__range__template_acaa58731fcb73a9bd95673616aaa6fd8}{native\+\_\+handle\+\_\+type} {\bfseries \+\_\+handle}\label{structefl_1_1eina_1_1__const__range__template_a15578f13dec64786c955cc89a9adbb29}

\end{DoxyCompactItemize}


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

Range implementation for immutable collections. 

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


Type for constant iterator to the range. 

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


Type for iterator to the range. 

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


The type of each element. 

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


Type for a reference to an element. 

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


Type for a constant reference to an element. 

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


Type for a pointer to an element. 

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


Type for a constant pointer to an element. 

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


Type for reverse iterator to the range. 

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


Type for constant reverse iterator to the range. 

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


Type for size information. 

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


Type to represent the distance between two iterators. 

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


Type for the native handle of the container. 

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


Type of the range itself. 



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


Get a constant handle for the native Eina container. 

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


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

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


Get a constant reference to the last element. 

\begin{DoxyReturn}{Returns}
Constant reference to the last element of the range. 
\end{DoxyReturn}
\hypertarget{structefl_1_1eina_1_1__const__range__template_a83688534611bcbe19628ada562622b50}{}\index{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}!front@{front}}
\index{front@{front}!efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}}
\subsubsection[{front}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename Traits$>$ {\bf value\+\_\+type} const\& {\bf efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::front (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__const__range__template_a83688534611bcbe19628ada562622b50}


Get a constant reference to the first element. 

\begin{DoxyReturn}{Returns}
Constant reference to the first element of the range. 
\end{DoxyReturn}
\hypertarget{structefl_1_1eina_1_1__const__range__template_aab3fe0c84b9fdcb50c01c2f67779c08e}{}\index{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}!begin@{begin}}
\index{begin@{begin}!efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}}
\subsubsection[{begin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename Traits$>$ {\bf const\+\_\+iterator} {\bf efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::begin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__const__range__template_aab3fe0c84b9fdcb50c01c2f67779c08e}


Get a constant iterator pointing to the first element of the range. 

\begin{DoxyReturn}{Returns}
Constant iterator to the initial position of the range.
\end{DoxyReturn}
This member function returns a constant 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__const__range__template_abf896985c683445ab51b238dc6f7e41c}{end() const}. 

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

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


Get a constant iterator to the position following the last element of the range. 

\begin{DoxyReturn}{Returns}
Constant iterator to the final position of the range.
\end{DoxyReturn}
This member function returns a constant 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__const__range__template_aab3fe0c84b9fdcb50c01c2f67779c08e}{begin() const}.

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


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

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


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

\begin{DoxyReturn}{Returns}
Constant reverse iterator pointing to the reverse begin of the range.
\end{DoxyReturn}
This member function works like rbegin() const but is granted to return a constant reverse iterator even for a range to a mutable collection. 

Referenced by efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template$<$ T, Traits $>$\+::rbegin().

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


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

\begin{DoxyReturn}{Returns}
Constant reverse iterator pointing to the reverse end of the range.
\end{DoxyReturn}
This member function works like rend() const but is granted to return a constant reverse iterator even for range to a mutable collection. 

Referenced by efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template$<$ T, Traits $>$\+::rend().

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


Get a constant iterator pointing to the first element of the range. 

\begin{DoxyReturn}{Returns}
Constant iterator to the initial position of the range.
\end{DoxyReturn}
This member function works like \hyperlink{structefl_1_1eina_1_1__const__range__template_aab3fe0c84b9fdcb50c01c2f67779c08e}{begin() const} but is granted to return a constant iterator even for a range to a mutable collection. 

Referenced by efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template$<$ T, Traits $>$\+::begin().

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


Get a constant iterator to the position following the last element of the range. 

\begin{DoxyReturn}{Returns}
Constant iterator to the final position of the range.
\end{DoxyReturn}
This member function works like \hyperlink{structefl_1_1eina_1_1__const__range__template_abf896985c683445ab51b238dc6f7e41c}{end() const} but is granted to return a constant iterator even for a range to a mutable collection. 

Referenced by efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template$<$ T, Traits $>$\+::end().

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


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

\begin{DoxyReturn}{Returns}
Constant reverse iterator pointing to the reverse begin of the range.
\end{DoxyReturn}
This member function returns a constant 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\+::\+\_\+const\+\_\+range\+\_\+template$<$ T, Traits $>$\+::crbegin().

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


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

\begin{DoxyReturn}{Returns}
Constant reverse iterator pointing to the reverse end of the range.
\end{DoxyReturn}
This member function returns a constant 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\+::\+\_\+const\+\_\+range\+\_\+template$<$ T, Traits $>$\+::crend().

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


Check if the range does not contain any elements. 

\begin{DoxyReturn}{Returns}
{\ttfamily true} if there is no elements in the range, {\ttfamily false} otherwise.
\end{DoxyReturn}
This member function returns {\ttfamily true} if the range does not contain any elements, otherwise it returns {\ttfamily false}. \hypertarget{structefl_1_1eina_1_1__const__range__template_a9b5037c7c607d0dc6ccf9dfda156da57}{}\index{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}!size@{size}}
\index{size@{size}!efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename Traits$>$ {\bf size\+\_\+type} {\bf efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::size (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__const__range__template_a9b5037c7c607d0dc6ccf9dfda156da57}


Get the number of elements in the range. 

\begin{DoxyReturn}{Returns}
Number of elements in the range.
\end{DoxyReturn}
This member function returns the current number of elements in the range. \hypertarget{structefl_1_1eina_1_1__const__range__template_ac97ba22144f1c6ed667f95f444ed549a}{}\index{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}!swap@{swap}}
\index{swap@{swap}!efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template@{efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}}
\subsubsection[{swap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T, typename Traits$>$ void {\bf efl\+::eina\+::\+\_\+const\+\_\+range\+\_\+template}$<$ T, Traits $>$\+::swap (
\begin{DoxyParamCaption}
\item[{{\bf \+\_\+self\+\_\+type} \&}]{other}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{structefl_1_1eina_1_1__const__range__template_ac97ba22144f1c6ed667f95f444ed549a}


Swap content with another range of the same type. 


\begin{DoxyParams}{Parameters}
{\em other} & Another range of the same type. \\
\hline
\end{DoxyParams}


References efl\+::eina\+::swap().



Referenced by efl\+::eina\+::swap().

