\hypertarget{class_ogre_1_1_iterator_wrapper}{}\section{Ogre\+:\+:Iterator\+Wrapper$<$ T, Iterator\+Type, Val\+Type $>$ Class Template Reference}
\label{class_ogre_1_1_iterator_wrapper}\index{Ogre\+::\+Iterator\+Wrapper$<$ T, Iterator\+Type, Val\+Type $>$@{Ogre\+::\+Iterator\+Wrapper$<$ T, Iterator\+Type, Val\+Type $>$}}


Basefunctionality for Iterator\+Wrappers.  




{\ttfamily \#include $<$Ogre\+Iterator\+Wrapper.\+h$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef Iterator\+Type \hyperlink{class_ogre_1_1_iterator_wrapper_a704ce78ef948a2730b4774b4ba0cea69}{const\+\_\+iterator}
\begin{DoxyCompactList}\small\item\em Typedef to fulfill container interface. \end{DoxyCompactList}\item 
typedef Iterator\+Type \hyperlink{class_ogre_1_1_iterator_wrapper_a22c1c22fab97253a922a190d2ace205e}{iterator}
\begin{DoxyCompactList}\small\item\em Typedef to fulfill container interface. \end{DoxyCompactList}\item 
typedef Val\+Type $\ast$ \hyperlink{class_ogre_1_1_iterator_wrapper_a72bb580445cd26d668677e159b692d4f}{Pointer\+Type}
\begin{DoxyCompactList}\small\item\em Type you expect to get by funktions like peek\+Next(\+Value)Ptr. \end{DoxyCompactList}\item 
typedef Val\+Type \hyperlink{class_ogre_1_1_iterator_wrapper_a72df6843478e277b8dde180081156b98}{Value\+Type}
\begin{DoxyCompactList}\small\item\em Type you expect to get by funktions like peek\+Next(\+Value) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_iterator_wrapper_aae5af61f58bb7e21b76f6b44088d5ea8}{Iterator\+Wrapper} (Iterator\+Type start, Iterator\+Type last)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
const Iterator\+Type \& \hyperlink{class_ogre_1_1_iterator_wrapper_acfb61cec43a0da5ae1b7c6ee6274498d}{begin} ()
\begin{DoxyCompactList}\small\item\em Bookmark to the begin of the underlying collection. \end{DoxyCompactList}\item 
Iterator\+Type \& \hyperlink{class_ogre_1_1_iterator_wrapper_ab2daa0557a06aebd61686b13c865b6c0}{current} ()
\begin{DoxyCompactList}\small\item\em Full access to the current iterator. \end{DoxyCompactList}\item 
const Iterator\+Type \& \hyperlink{class_ogre_1_1_iterator_wrapper_a0fd0df9bbfe0fc16939600b37de81739}{end} ()
\begin{DoxyCompactList}\small\item\em Bookmark to the end (one behind the last element) of the underlying collection. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_iterator_wrapper_abd1f3f1f5143828a6296347d5b0b9d04}{has\+More\+Elements} () const
\begin{DoxyCompactList}\small\item\em Returns true if there are more items in the collection. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_iterator_wrapper_aaf01f897bea391797dc2bb9fb8374a5f}{move\+Next} ()
\begin{DoxyCompactList}\small\item\em Moves the iterator on one element. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$\newline
class Ogre\+::\+Iterator\+Wrapper$<$ T, Iterator\+Type, Val\+Type $>$}

Basefunctionality for Iterator\+Wrappers. 


\begin{DoxyTemplParams}{Template Parameters}
{\em T} & a Container like vector list map ... \\
\hline
{\em Iterator\+Type} & T\+::iterator or T\+::const\+\_\+iterator \\
\hline
{\em Val\+Type} & T\+::mapped\+\_\+type in case of a map, T\+::value\+\_\+type for vector, list,...\\
\hline
\end{DoxyTemplParams}
Have a look at \hyperlink{class_ogre_1_1_vector_iterator_wrapper}{Vector\+Iterator\+Wrapper} and \hyperlink{class_ogre_1_1_map_iterator_wrapper}{Map\+Iterator\+Wrapper} for a concrete usage 

\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_a72df6843478e277b8dde180081156b98}\label{class_ogre_1_1_iterator_wrapper_a72df6843478e277b8dde180081156b98}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!Value\+Type@{Value\+Type}}
\index{Value\+Type@{Value\+Type}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{Value\+Type}{ValueType}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Val\+Type \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::\hyperlink{class_ogre_1_1_iterator_wrapper_a72df6843478e277b8dde180081156b98}{Value\+Type}}



Type you expect to get by funktions like peek\+Next(\+Value) 

\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_a72bb580445cd26d668677e159b692d4f}\label{class_ogre_1_1_iterator_wrapper_a72bb580445cd26d668677e159b692d4f}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!Pointer\+Type@{Pointer\+Type}}
\index{Pointer\+Type@{Pointer\+Type}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{Pointer\+Type}{PointerType}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Val\+Type$\ast$ \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::\hyperlink{class_ogre_1_1_iterator_wrapper_a72bb580445cd26d668677e159b692d4f}{Pointer\+Type}}



Type you expect to get by funktions like peek\+Next(\+Value)Ptr. 

\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_a22c1c22fab97253a922a190d2ace205e}\label{class_ogre_1_1_iterator_wrapper_a22c1c22fab97253a922a190d2ace205e}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!iterator@{iterator}}
\index{iterator@{iterator}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Iterator\+Type \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::\hyperlink{class_ogre_1_1_iterator_wrapper_a22c1c22fab97253a922a190d2ace205e}{iterator}}



Typedef to fulfill container interface. 

Useful if you want to use B\+O\+O\+S\+T\+\_\+\+F\+O\+R\+E\+A\+CH \begin{DoxyNote}{Note}
there is no distinction between const\+\_\+iterator and iterator. ~\newline
 keep this in mind if you want to derivate from this class. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_a704ce78ef948a2730b4774b4ba0cea69}\label{class_ogre_1_1_iterator_wrapper_a704ce78ef948a2730b4774b4ba0cea69}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!const\+\_\+iterator@{const\+\_\+iterator}}
\index{const\+\_\+iterator@{const\+\_\+iterator}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{const\+\_\+iterator}{const\_iterator}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Iterator\+Type \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::\hyperlink{class_ogre_1_1_iterator_wrapper_a704ce78ef948a2730b4774b4ba0cea69}{const\+\_\+iterator}}



Typedef to fulfill container interface. 

Useful if you want to use B\+O\+O\+S\+T\+\_\+\+F\+O\+R\+E\+A\+CH \begin{DoxyNote}{Note}
there is no distinction between const\+\_\+iterator and iterator. ~\newline
 keep this in mind if you want to derivate from this class. 
\end{DoxyNote}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_aae5af61f58bb7e21b76f6b44088d5ea8}\label{class_ogre_1_1_iterator_wrapper_aae5af61f58bb7e21b76f6b44088d5ea8}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!Iterator\+Wrapper@{Iterator\+Wrapper}}
\index{Iterator\+Wrapper@{Iterator\+Wrapper}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{Iterator\+Wrapper()}{IteratorWrapper()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
\hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::\hyperlink{class_ogre_1_1_iterator_wrapper}{Iterator\+Wrapper} (\begin{DoxyParamCaption}\item[{Iterator\+Type}]{start,  }\item[{Iterator\+Type}]{last }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Constructor. 

\begin{DoxyRemark}{Remarks}
Provide a start and end iterator to initialise. 
\end{DoxyRemark}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_abd1f3f1f5143828a6296347d5b0b9d04}\label{class_ogre_1_1_iterator_wrapper_abd1f3f1f5143828a6296347d5b0b9d04}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!has\+More\+Elements@{has\+More\+Elements}}
\index{has\+More\+Elements@{has\+More\+Elements}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{has\+More\+Elements()}{hasMoreElements()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
bool \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::has\+More\+Elements (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if there are more items in the collection. 



Referenced by Ogre\+::\+Render\+Queue\+Group\+::merge(), and Ogre\+::\+Lod0\+Stripifier\+::\+Strip\+Lod0\+Vertices().

\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_aaf01f897bea391797dc2bb9fb8374a5f}\label{class_ogre_1_1_iterator_wrapper_aaf01f897bea391797dc2bb9fb8374a5f}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!move\+Next@{move\+Next}}
\index{move\+Next@{move\+Next}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{move\+Next()}{moveNext()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
void \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::move\+Next (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Moves the iterator on one element. 

\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_acfb61cec43a0da5ae1b7c6ee6274498d}\label{class_ogre_1_1_iterator_wrapper_acfb61cec43a0da5ae1b7c6ee6274498d}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!begin@{begin}}
\index{begin@{begin}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{begin()}{begin()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
const Iterator\+Type\& \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Bookmark to the begin of the underlying collection. 

\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_ab2daa0557a06aebd61686b13c865b6c0}\label{class_ogre_1_1_iterator_wrapper_ab2daa0557a06aebd61686b13c865b6c0}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!current@{current}}
\index{current@{current}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{current()}{current()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
Iterator\+Type\& \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::current (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Full access to the current iterator. 

\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_a0fd0df9bbfe0fc16939600b37de81739}\label{class_ogre_1_1_iterator_wrapper_a0fd0df9bbfe0fc16939600b37de81739}} 
\index{Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}!end@{end}}
\index{end@{end}!Ogre\+::\+Iterator\+Wrapper@{Ogre\+::\+Iterator\+Wrapper}}
\subsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
const Iterator\+Type\& \hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}$<$ T, Iterator\+Type, Val\+Type $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Bookmark to the end (one behind the last element) of the underlying collection. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_iterator_wrapper_8h}{Ogre\+Iterator\+Wrapper.\+h}\end{DoxyCompactItemize}
