\section{atlas::testrun::Subgroup\-Iterator Class Reference}
\label{classatlas_1_1testrun_1_1SubgroupIterator}\index{atlas::testrun::SubgroupIterator@{atlas::testrun::SubgroupIterator}}
{\tt \#include $<$testrun.h$>$}

Collaboration diagram for atlas::testrun::Subgroup\-Iterator:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=289pt]{classatlas_1_1testrun_1_1SubgroupIterator__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item 
typedef std::forward\_\-iterator\_\-tag {\bf iterator\_\-category}
\item 
typedef {\bf bitmap::Bit\-Map} {\bf value\_\-type}
\item 
typedef ptrdiff\_\-t {\bf difference\_\-type}
\item 
typedef const {\bf value\_\-type} $\ast$ {\bf pointer}
\item 
typedef const {\bf value\_\-type} \& {\bf reference}
\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Subgroup\-Iterator} ()
\item 
{\bf Subgroup\-Iterator} ({\bf abelian::Finite\-Abelian\-Group} \&A)
\item 
{\bf $\sim$Subgroup\-Iterator} ()
\item 
{\bf Subgroup\-Iterator} (const {\bf Subgroup\-Iterator} \&)
\item 
{\bf Subgroup\-Iterator} \& {\bf operator=} (const {\bf Subgroup\-Iterator} \&)
\item 
bool {\bf operator==} (const {\bf Subgroup\-Iterator} \&i) const 
\item 
bool {\bf operator!=} (const {\bf Subgroup\-Iterator} \&i) const 
\item 
{\bf reference} {\bf operator $\ast$} () const 
\item 
bool {\bf operator()} () const 
\item 
const {\bf abelian::Finite\-Abelian\-Group} \& {\bf group} () const 
\item 
unsigned long {\bf rank} () const 
\item 
{\bf Subgroup\-Iterator} \& {\bf operator++} ()
\item 
{\bf Subgroup\-Iterator} {\bf operator++} (int)
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item 
void {\bf increment\-Generator} ()
\item 
void {\bf reset\-Generator} ()
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf abelian::Finite\-Abelian\-Group} $\ast$ {\bf d\_\-group}
\item 
std::vector$<$ {\bf bitmap::Bit\-Map} $>$ {\bf d\_\-prev\-Rank}
\item 
std::set$<$ {\bf bitmap::Bit\-Map} $>$ {\bf d\_\-this\-Rank}
\item 
std::vector$<$ {\bf bitmap::Bit\-Map} $>$::const\_\-iterator {\bf d\_\-prev}
\item 
{\bf bitmap::Bit\-Map} {\bf d\_\-subgroup}
\item 
{\bf bitmap::Bit\-Map} {\bf d\_\-cyc\-Generators}
\item 
{\bf bitmap::Bit\-Map::iterator} {\bf d\_\-generator}
\item 
unsigned long {\bf d\_\-rank}
\item 
bool {\bf d\_\-done}
\end{CompactItemize}


\subsection{Member Typedef Documentation}
\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!difference_type@{difference\_\-type}}
\index{difference_type@{difference\_\-type}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef ptrdiff\_\-t {\bf atlas::testrun::Subgroup\-Iterator::difference\_\-type}}\label{classatlas_1_1testrun_1_1SubgroupIterator_80871bc556ad7e1771bfd0752649704f}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!iterator_category@{iterator\_\-category}}
\index{iterator_category@{iterator\_\-category}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef std::forward\_\-iterator\_\-tag {\bf atlas::testrun::Subgroup\-Iterator::iterator\_\-category}}\label{classatlas_1_1testrun_1_1SubgroupIterator_0c35eb975c24113f028f977596c2f8e1}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!pointer@{pointer}}
\index{pointer@{pointer}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef const {\bf value\_\-type}$\ast$ {\bf atlas::testrun::Subgroup\-Iterator::pointer}}\label{classatlas_1_1testrun_1_1SubgroupIterator_37d91116c697a85b144cd9818e39f187}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!reference@{reference}}
\index{reference@{reference}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef const {\bf value\_\-type}\& {\bf atlas::testrun::Subgroup\-Iterator::reference}}\label{classatlas_1_1testrun_1_1SubgroupIterator_f773dc107503e17422fff3219e0bdd63}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!value_type@{value\_\-type}}
\index{value_type@{value\_\-type}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf bitmap::Bit\-Map} {\bf atlas::testrun::Subgroup\-Iterator::value\_\-type}}\label{classatlas_1_1testrun_1_1SubgroupIterator_e94f22b5ab5d620ba64870fd546a2a51}




\subsection{Constructor \& Destructor Documentation}
\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!SubgroupIterator@{SubgroupIterator}}
\index{SubgroupIterator@{SubgroupIterator}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}atlas::testrun::Subgroup\-Iterator::Subgroup\-Iterator ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_293676ab6c95096bfa3a62b2d0be04fb}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!SubgroupIterator@{SubgroupIterator}}
\index{SubgroupIterator@{SubgroupIterator}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}atlas::testrun::Subgroup\-Iterator::Subgroup\-Iterator ({\bf abelian::Finite\-Abelian\-Group} \& {\em A})\hspace{0.3cm}{\tt  [explicit]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_983c0797e646bf80f044b4dfe0e27d77}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!~SubgroupIterator@{$\sim$SubgroupIterator}}
\index{~SubgroupIterator@{$\sim$SubgroupIterator}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}atlas::testrun::Subgroup\-Iterator::$\sim$Subgroup\-Iterator ()\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_b30578aa9537fd3cb9e6436a7e7411e6}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!SubgroupIterator@{SubgroupIterator}}
\index{SubgroupIterator@{SubgroupIterator}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}atlas::testrun::Subgroup\-Iterator::Subgroup\-Iterator (const {\bf Subgroup\-Iterator} \&)}\label{classatlas_1_1testrun_1_1SubgroupIterator_d7f94d7965440ffd943eeaf070f2da7c}




\subsection{Member Function Documentation}
\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!group@{group}}
\index{group@{group}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf abelian::Finite\-Abelian\-Group}\& atlas::testrun::Subgroup\-Iterator::group () const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_b81251e3b88780ca20d51a081796d6bd}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!incrementGenerator@{incrementGenerator}}
\index{incrementGenerator@{incrementGenerator}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void atlas::testrun::Subgroup\-Iterator::increment\-Generator ()\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_f5acf70e0a6fec87cc6435ddb662fe7d}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!operator *@{operator $\ast$}}
\index{operator *@{operator $\ast$}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf reference} atlas::testrun::Subgroup\-Iterator::operator $\ast$ () const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_f152789cfc012cdc404d189990c90b7c}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool atlas::testrun::Subgroup\-Iterator::operator!= (const {\bf Subgroup\-Iterator} \& {\em i}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_4021e0abea7e8946b93c5baa84e09d8f}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!operator()@{operator()}}
\index{operator()@{operator()}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool atlas::testrun::Subgroup\-Iterator::operator() () const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_17c1f078adac2ece4f960ec27272adc2}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!operator++@{operator++}}
\index{operator++@{operator++}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Subgroup\-Iterator} atlas::testrun::Subgroup\-Iterator::operator++ (int)\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_789e3eb987456bf944ef81bd4a4b5e12}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!operator++@{operator++}}
\index{operator++@{operator++}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Subgroup\-Iterator} \& atlas::testrun::Subgroup\-Iterator::operator++ ()}\label{classatlas_1_1testrun_1_1SubgroupIterator_ddaeb5b156135e3e12b2c26a5bc7cc21}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!operator=@{operator=}}
\index{operator=@{operator=}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Subgroup\-Iterator} \& atlas::testrun::Subgroup\-Iterator::operator= (const {\bf Subgroup\-Iterator} \&)}\label{classatlas_1_1testrun_1_1SubgroupIterator_0c358f57150319de242ef0fde4c7bc35}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!operator==@{operator==}}
\index{operator==@{operator==}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool atlas::testrun::Subgroup\-Iterator::operator== (const {\bf Subgroup\-Iterator} \& {\em i}) const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_641fc4c3f60e7c2032b36f1319fedc69}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!rank@{rank}}
\index{rank@{rank}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned long atlas::testrun::Subgroup\-Iterator::rank () const\hspace{0.3cm}{\tt  [inline]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_a4c70aa2497c966f74589ace682fe822}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!resetGenerator@{resetGenerator}}
\index{resetGenerator@{resetGenerator}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void atlas::testrun::Subgroup\-Iterator::reset\-Generator ()\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_0e47b1c98ac4afac69ae01317d910bbb}




\subsection{Member Data Documentation}
\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_cycGenerators@{d\_\-cycGenerators}}
\index{d_cycGenerators@{d\_\-cycGenerators}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf bitmap::Bit\-Map} {\bf atlas::testrun::Subgroup\-Iterator::d\_\-cyc\-Generators}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_aa7fc19f47c9195b6ede24ece6484ce8}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_done@{d\_\-done}}
\index{d_done@{d\_\-done}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool {\bf atlas::testrun::Subgroup\-Iterator::d\_\-done}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_3f431e65f1b26a9f4771bad5845ee67d}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_generator@{d\_\-generator}}
\index{d_generator@{d\_\-generator}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf bitmap::Bit\-Map::iterator} {\bf atlas::testrun::Subgroup\-Iterator::d\_\-generator}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_35edb1eace735a9cecad993685045e5d}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_group@{d\_\-group}}
\index{d_group@{d\_\-group}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf abelian::Finite\-Abelian\-Group}$\ast$ {\bf atlas::testrun::Subgroup\-Iterator::d\_\-group}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_339ade8326910e7bf8299c19926e6f27}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_prev@{d\_\-prev}}
\index{d_prev@{d\_\-prev}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf bitmap::Bit\-Map}$>$::const\_\-iterator {\bf atlas::testrun::Subgroup\-Iterator::d\_\-prev}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_895d902e7e5455c098c621c9dee4644a}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_prevRank@{d\_\-prevRank}}
\index{d_prevRank@{d\_\-prevRank}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf bitmap::Bit\-Map}$>$ {\bf atlas::testrun::Subgroup\-Iterator::d\_\-prev\-Rank}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_ff61631f1be210d8ff7dd8c3317368f8}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_rank@{d\_\-rank}}
\index{d_rank@{d\_\-rank}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned long {\bf atlas::testrun::Subgroup\-Iterator::d\_\-rank}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_6aba302894e8c170fc0d030ae7c3bf4c}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_subgroup@{d\_\-subgroup}}
\index{d_subgroup@{d\_\-subgroup}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf bitmap::Bit\-Map} {\bf atlas::testrun::Subgroup\-Iterator::d\_\-subgroup}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_a0f84ac54f00695b43f0eec46d8c887f}


\index{atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}!d_thisRank@{d\_\-thisRank}}
\index{d_thisRank@{d\_\-thisRank}!atlas::testrun::SubgroupIterator@{atlas::testrun::Subgroup\-Iterator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::set$<${\bf bitmap::Bit\-Map}$>$ {\bf atlas::testrun::Subgroup\-Iterator::d\_\-this\-Rank}\hspace{0.3cm}{\tt  [private]}}\label{classatlas_1_1testrun_1_1SubgroupIterator_3e48d9b9146b8f5133c04012931264f4}




The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
sources/test/{\bf testrun.h}\item 
sources/test/{\bf testrun.cpp}\end{CompactItemize}
