\hypertarget{class_qore_1_1_abstract_bidirectional_iterator}{}\doxysection{Qore\+::Abstract\+Bidirectional\+Iterator Class Reference}
\label{class_qore_1_1_abstract_bidirectional_iterator}\index{Qore::AbstractBidirectionalIterator@{Qore::AbstractBidirectionalIterator}}


This class defines an abstract interface for bidirectional iterators.  




{\ttfamily \#include $<$QC\+\_\+\+Abstract\+Bidirectional\+Iterator.\+dox.\+h$>$}



Inheritance diagram for Qore\+::Abstract\+Bidirectional\+Iterator\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_qore_1_1_abstract_bidirectional_iterator__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
abstract bool \mbox{\hyperlink{class_qore_1_1_abstract_bidirectional_iterator_a8ca43ac8bffc78178f61e3cca9b6323e}{prev}} ()
\begin{DoxyCompactList}\small\item\em Moves the current position to the previous element; returns \mbox{\hyperlink{basic_data_types_False}{False}} if there are no more elements. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class defines an abstract interface for bidirectional iterators. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_qore_1_1_abstract_bidirectional_iterator_a8ca43ac8bffc78178f61e3cca9b6323e}\label{class_qore_1_1_abstract_bidirectional_iterator_a8ca43ac8bffc78178f61e3cca9b6323e}} 
\index{Qore::AbstractBidirectionalIterator@{Qore::AbstractBidirectionalIterator}!prev@{prev}}
\index{prev@{prev}!Qore::AbstractBidirectionalIterator@{Qore::AbstractBidirectionalIterator}}
\doxysubsubsection{\texorpdfstring{prev()}{prev()}}
{\footnotesize\ttfamily abstract bool Qore\+::\+Abstract\+Bidirectional\+Iterator\+::prev (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Moves the current position to the previous element; returns \mbox{\hyperlink{basic_data_types_False}{False}} if there are no more elements. 

This method will return \mbox{\hyperlink{basic_data_types_True}{True}} again after it returns \mbox{\hyperlink{basic_data_types_False}{False}} once if the object being iterated is not empty, otherwise it will always return \mbox{\hyperlink{basic_data_types_False}{False}}. The iterator object should not be used after this method returns \mbox{\hyperlink{basic_data_types_False}{False}}

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{basic_data_types_False}{False}} if there are no more elements (in which case the iterator object is invalid and should not be used); \mbox{\hyperlink{basic_data_types_True}{True}} if successful (meaning that the iterator object is valid)
\end{DoxyReturn}
\begin{DoxyParagraph}{Example\+:}

\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keywordflow}{while} (i.prev()) \{}
\DoxyCodeLine{    printf(\textcolor{stringliteral}{"{} + \%y\(\backslash\)n"{}}, i.getValue());}
\DoxyCodeLine{\}}

\end{DoxyCode}

\end{DoxyParagraph}
\begin{DoxyNote}{Note}
this method is basically the opposite to \mbox{\hyperlink{class_qore_1_1_abstract_iterator_ab10d5694cc2fcd3b6689ea7494da79de}{Abstract\+Iterator\+::next()}} 
\end{DoxyNote}


Implemented in \mbox{\hyperlink{class_qore_1_1_hash_iterator_a9df83a19c89100056c875b2ca40f6ed3}{Qore\+::\+Hash\+Iterator}}, \mbox{\hyperlink{class_qore_1_1_hash_list_iterator_a6df21aadae44817005795b3b6190874a}{Qore\+::\+Hash\+List\+Iterator}}, \mbox{\hyperlink{class_qore_1_1_hash_list_reverse_iterator_a3bc985ec634ecd6d3501ad27e5c1461c}{Qore\+::\+Hash\+List\+Reverse\+Iterator}}, \mbox{\hyperlink{class_qore_1_1_hash_reverse_iterator_a04c6aa78e4bcf4bd7fcd0a0d1964d427}{Qore\+::\+Hash\+Reverse\+Iterator}}, \mbox{\hyperlink{class_qore_1_1_list_hash_iterator_af422c1925e9f9d659da0987afbdb93e7}{Qore\+::\+List\+Hash\+Iterator}}, \mbox{\hyperlink{class_qore_1_1_list_hash_reverse_iterator_a075a0a4b3a2e4aa664bd70541a6b4f33}{Qore\+::\+List\+Hash\+Reverse\+Iterator}}, \mbox{\hyperlink{class_qore_1_1_list_iterator_a32ad9cb8256759fdf8ac4dd3af183222}{Qore\+::\+List\+Iterator}}, \mbox{\hyperlink{class_qore_1_1_list_reverse_iterator_aae132f219a250cedb11bcf67995422dc}{Qore\+::\+List\+Reverse\+Iterator}}, and \mbox{\hyperlink{class_qore_1_1_object_reverse_iterator_a8eb6d967f85d306e897e08deadd63c92}{Qore\+::\+Object\+Reverse\+Iterator}}.

