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


Basefunctionality for Iterator\+Wrappers.  




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

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef Iterator\+Type \mbox{\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 \mbox{\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$ \mbox{\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 \mbox{\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}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\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 \& \mbox{\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 \& \mbox{\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 \& \mbox{\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 \mbox{\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 \mbox{\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}


\doxysubsection{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 \mbox{\hyperlink{class_ogre_1_1_vector_iterator_wrapper}{Vector\+Iterator\+Wrapper}} and \mbox{\hyperlink{class_ogre_1_1_map_iterator_wrapper}{Map\+Iterator\+Wrapper}} for a concrete usage 

\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_a72df6843478e277b8dde180081156b98}\label{class_ogre_1_1_iterator_wrapper_a72df6843478e277b8dde180081156b98}} 
\index{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!ValueType@{ValueType}}
\index{ValueType@{ValueType}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{ValueType}{ValueType}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Val\+Type \mbox{\hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}}$<$ T, Iterator\+Type, Val\+Type $>$\+::\mbox{\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::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!PointerType@{PointerType}}
\index{PointerType@{PointerType}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{PointerType}{PointerType}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Val\+Type$\ast$ \mbox{\hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}}$<$ T, Iterator\+Type, Val\+Type $>$\+::\mbox{\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::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!iterator@{iterator}}
\index{iterator@{iterator}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{iterator}{iterator}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Iterator\+Type \mbox{\hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}}$<$ T, Iterator\+Type, Val\+Type $>$\+::\mbox{\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::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!const\_iterator@{const\_iterator}}
\index{const\_iterator@{const\_iterator}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{const\_iterator}{const\_iterator}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
typedef Iterator\+Type \mbox{\hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}}$<$ T, Iterator\+Type, Val\+Type $>$\+::\mbox{\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}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_aae5af61f58bb7e21b76f6b44088d5ea8}\label{class_ogre_1_1_iterator_wrapper_aae5af61f58bb7e21b76f6b44088d5ea8}} 
\index{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!IteratorWrapper@{IteratorWrapper}}
\index{IteratorWrapper@{IteratorWrapper}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{IteratorWrapper()}{IteratorWrapper()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
\mbox{\hyperlink{class_ogre_1_1_iterator_wrapper}{Ogre\+::\+Iterator\+Wrapper}}$<$ T, Iterator\+Type, Val\+Type $>$\+::\mbox{\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}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_iterator_wrapper_abd1f3f1f5143828a6296347d5b0b9d04}\label{class_ogre_1_1_iterator_wrapper_abd1f3f1f5143828a6296347d5b0b9d04}} 
\index{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!hasMoreElements@{hasMoreElements}}
\index{hasMoreElements@{hasMoreElements}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{hasMoreElements()}{hasMoreElements()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
bool \mbox{\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::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!moveNext@{moveNext}}
\index{moveNext@{moveNext}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{moveNext()}{moveNext()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
void \mbox{\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::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!begin@{begin}}
\index{begin@{begin}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
const Iterator\+Type\& \mbox{\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::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!current@{current}}
\index{current@{current}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{current()}{current()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
Iterator\+Type\& \mbox{\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::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}!end@{end}}
\index{end@{end}!Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$@{Ogre::IteratorWrapper$<$ T, IteratorType, ValType $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}}
{\footnotesize\ttfamily template$<$typename T, typename Iterator\+Type, typename Val\+Type$>$ \\
const Iterator\+Type\& \mbox{\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 
\mbox{\hyperlink{_ogre_iterator_wrapper_8h}{Ogre\+Iterator\+Wrapper.\+h}}\end{DoxyCompactItemize}
