\section{Basic\-Class\-Group\-Array Class Reference}
\label{class_basic_class_group_array}\index{BasicClassGroupArray@{BasicClassGroupArray}}
A {\bf Basic\-Array}{\rm (p.\,\pageref{class_basic_array})} and a {\bf Basic\-Class\-Group\-Factory}{\rm (p.\,\pageref{class_basic_class_group_factory})} wrapped together.  


{\tt \#include $<$Basic\-Class\-Group\-Array.h$>$}

Collaboration diagram for Basic\-Class\-Group\-Array:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=335pt]{class_basic_class_group_array__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
unsigned int {\bf create} ()
\begin{CompactList}\small\item\em Add a new {\bf Basic\-Class\-Group}{\rm (p.\,\pageref{class_basic_class_group})} to the end of the array. \item\end{CompactList}\item 
void {\bf destroy} (const unsigned int id)
\begin{CompactList}\small\item\em Destroy an instance of a class group. \item\end{CompactList}\item 
void {\bf register\-Class} ({\bf Basic\-Class\-Accessor\-Base} $\ast$accessor)
\begin{CompactList}\small\item\em Register a class with the group factory. \item\end{CompactList}\item 
{\bf Basic\-Class\-Group} $\ast$ {\bf get} (const unsigned int id) const
\begin{CompactList}\small\item\em If the id is invalid unexpected behavior may occur. \item\end{CompactList}\item 
{\bf Basic\-Class\-Group} $\ast$ {\bf operator[$\,$]} (const unsigned int id) const
\begin{CompactList}\small\item\em See {\bf Basic\-Class\-Group\-Array::get()}{\rm (p.\,\pageref{class_basic_class_group_array_a3})}. \item\end{CompactList}\item 
unsigned int {\bf get\-Size} () const
\begin{CompactList}\small\item\em See {\bf Basic\-Array::get\-Size()}{\rm (p.\,\pageref{class_basic_array_a3})}. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf Basic\-Array}$<$ {\bf Basic\-Class\-Group} $\ast$ $>$ {\bf groups}
\item 
{\bf Basic\-Class\-Group\-Factory} {\bf factory}
\end{CompactItemize}


\subsection{Detailed Description}
A {\bf Basic\-Array}{\rm (p.\,\pageref{class_basic_array})} and a {\bf Basic\-Class\-Group\-Factory}{\rm (p.\,\pageref{class_basic_class_group_factory})} wrapped together. 

Allocated Basic\-Class\-Groups are kept in an array. They can then be accessed or deleted using an id which is simply an array index. 



\subsection{Member Function Documentation}
\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!create@{create}}
\index{create@{create}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned int Basic\-Class\-Group\-Array::create ()\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_class_group_array_a0}


Add a new {\bf Basic\-Class\-Group}{\rm (p.\,\pageref{class_basic_class_group})} to the end of the array. 

\begin{Desc}
\item[Returns:]The id or index of the new class group. \end{Desc}
\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!destroy@{destroy}}
\index{destroy@{destroy}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Basic\-Class\-Group\-Array::destroy (const unsigned int {\em id})\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_class_group_array_a1}


Destroy an instance of a class group. 

If the id is invalid unexpected behavior may occur.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em id}]The class group id. \end{description}
\end{Desc}
\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!get@{get}}
\index{get@{get}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Basic\-Class\-Group}$\ast$ Basic\-Class\-Group\-Array::get (const unsigned int {\em id}) const\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_class_group_array_a3}


If the id is invalid unexpected behavior may occur. 

See Basic\-Class\-Group\-Accessor for information on how to access a class with in the group.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em id}]A valid class group id.\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A pointer to the class group. \end{Desc}
\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!getSize@{getSize}}
\index{getSize@{getSize}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned int Basic\-Class\-Group\-Array::get\-Size () const\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_class_group_array_a5}


See {\bf Basic\-Array::get\-Size()}{\rm (p.\,\pageref{class_basic_array_a3})}. 

\begin{Desc}
\item[Returns:]The current size of the array. \end{Desc}
\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!operator[]@{operator[]}}
\index{operator[]@{operator[]}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Basic\-Class\-Group}$\ast$ Basic\-Class\-Group\-Array::operator[$\,$] (const unsigned int {\em id}) const\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_class_group_array_a4}


See {\bf Basic\-Class\-Group\-Array::get()}{\rm (p.\,\pageref{class_basic_class_group_array_a3})}. 

\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!registerClass@{registerClass}}
\index{registerClass@{registerClass}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Basic\-Class\-Group\-Array::register\-Class ({\bf Basic\-Class\-Accessor\-Base} $\ast$ {\em accessor})\hspace{0.3cm}{\tt  [inline]}}\label{class_basic_class_group_array_a2}


Register a class with the group factory. 

See {\bf Basic\-Class\-Group\-Factory::register\-Class()}{\rm (p.\,\pageref{class_basic_class_group_factory_a1})}.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em accessor}]The class accessor. \end{description}
\end{Desc}


\subsection{Member Data Documentation}
\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!factory@{factory}}
\index{factory@{factory}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Basic\-Class\-Group\-Factory} {\bf Basic\-Class\-Group\-Array::factory}\hspace{0.3cm}{\tt  [private]}}\label{class_basic_class_group_array_r1}


\index{BasicClassGroupArray@{Basic\-Class\-Group\-Array}!groups@{groups}}
\index{groups@{groups}!BasicClassGroupArray@{Basic\-Class\-Group\-Array}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Basic\-Array}$<${\bf Basic\-Class\-Group} $\ast$$>$ {\bf Basic\-Class\-Group\-Array::groups}\hspace{0.3cm}{\tt  [private]}}\label{class_basic_class_group_array_r0}




The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
{\bf Basic\-Class\-Group\-Array.h}\end{CompactItemize}
