\hypertarget{classCRL_1_1Catalog}{\section{C\-R\-L\-:\-:Catalog Class Reference}
\label{classCRL_1_1Catalog}\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}}
}


A Registry to store Alliance Cell metadatas.  


\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classCRL_1_1Catalog_1_1State}{State}
\begin{DoxyCompactList}\small\item\em An entry to store the Cell \hyperlink{classCRL_1_1Catalog_1_1State}{State} in the \hyperlink{classCRL_1_1Catalog}{Catalog}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCRL_1_1Catalog_a6682f773880c7ca16bdca79057a08e6b}{Catalog} ()
\item 
\hyperlink{classCRL_1_1Catalog_a3ad457a2bf6246c3a1d9c3a4730c2696}{$\sim$\-Catalog} ()
\item 
\hyperlink{classCRL_1_1Catalog_1_1State}{State} $\ast$ \hyperlink{classCRL_1_1Catalog_a5b04db2b2179d70212dd1b12daa903f9}{get\-State} (const {\bf Name} \&name, bool add=false)
\item 
void \hyperlink{classCRL_1_1Catalog_afe3ea2153684ed8df029ee896cef6608}{merge\-State} (const {\bf Name} \&name, const \hyperlink{classCRL_1_1Catalog_1_1State}{State} \&other)
\item 
bool \hyperlink{classCRL_1_1Catalog_ada5b55e7926764fc9c7f5b7d4e6c2cdc}{delete\-State} (const {\bf Name} \&name)
\item 
void \hyperlink{classCRL_1_1Catalog_aa40bdbaf5b64f56b085bfce72dc89fe6}{clear} ()
\item 
bool \hyperlink{classCRL_1_1Catalog_a02ae9d3636235db933a29c08329c5778}{load\-From\-File} (const string \&path, {\bf Library} $\ast$library)
\item 
map$<$ {\bf Name}, \hyperlink{classCRL_1_1Catalog_1_1State}{State} $\ast$ $>$ $\ast$ \hyperlink{classCRL_1_1Catalog_a3e326d2515c01af4fc75e421a3b61a81}{get\-States} ()
\end{DoxyCompactItemize}


\subsection{Detailed Description}
A Registry to store Alliance Cell metadatas. 

The \hyperlink{classCRL_1_1Catalog}{Catalog} is built from the various C\-A\-T\-A\-L files from the library directories and enriched with the current state of Cell in the database. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classCRL_1_1Catalog_a6682f773880c7ca16bdca79057a08e6b}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!Catalog@{Catalog}}
\index{Catalog@{Catalog}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{Catalog}]{\setlength{\rightskip}{0pt plus 5cm}C\-R\-L\-::\-Catalog\-::\-Catalog (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classCRL_1_1Catalog_a6682f773880c7ca16bdca79057a08e6b}
A new, empty, \hyperlink{classCRL_1_1Catalog}{Catalog}. Normally, there should only be one \hyperlink{classCRL_1_1Catalog}{Catalog}, attribute of \hyperlink{classCRL_1_1AllianceFramework}{Alliance\-Framework}. \hypertarget{classCRL_1_1Catalog_a3ad457a2bf6246c3a1d9c3a4730c2696}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!$\sim$\-Catalog@{$\sim$\-Catalog}}
\index{$\sim$\-Catalog@{$\sim$\-Catalog}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{$\sim$\-Catalog}]{\setlength{\rightskip}{0pt plus 5cm}C\-R\-L\-::\-Catalog\-::$\sim$\-Catalog (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classCRL_1_1Catalog_a3ad457a2bf6246c3a1d9c3a4730c2696}
Free a \hyperlink{classCRL_1_1Catalog}{Catalog} object. 

\subsection{Member Function Documentation}
\hypertarget{classCRL_1_1Catalog_a5b04db2b2179d70212dd1b12daa903f9}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!get\-State@{get\-State}}
\index{get\-State@{get\-State}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{get\-State}]{\setlength{\rightskip}{0pt plus 5cm}{\bf State} $\ast$ C\-R\-L\-::\-Catalog\-::get\-State (
\begin{DoxyParamCaption}
\item[{const {\bf Name} \&}]{name, }
\item[{bool}]{add = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{classCRL_1_1Catalog_a5b04db2b2179d70212dd1b12daa903f9}
{\bfseries Returns\-:} the \hyperlink{classCRL_1_1Catalog_1_1State}{State} of the Cell named {\ttfamily name}. If {\ttfamily add} is set to {\bfseries true} and the cell doesn't exist, an entry is created for it. Otherwise, N\-U\-L\-L is returned. \hypertarget{classCRL_1_1Catalog_afe3ea2153684ed8df029ee896cef6608}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!merge\-State@{merge\-State}}
\index{merge\-State@{merge\-State}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{merge\-State}]{\setlength{\rightskip}{0pt plus 5cm}void C\-R\-L\-::\-Catalog\-::merge\-State (
\begin{DoxyParamCaption}
\item[{const {\bf Name} \&}]{name, }
\item[{const {\bf State} \&}]{other}
\end{DoxyParamCaption}
)}}\label{classCRL_1_1Catalog_afe3ea2153684ed8df029ee896cef6608}
Merge the \hyperlink{classCRL_1_1Catalog_1_1State}{State} {\ttfamily other} with the current one. It only fills the holes. If the \hyperlink{classCRL_1_1Catalog_1_1State}{State}'s Cell or Library is already sets, the ones from {\ttfamily other} are discarteds. Related to the Alliance search path policy where the first Cell found shadows any other one found later. \hypertarget{classCRL_1_1Catalog_ada5b55e7926764fc9c7f5b7d4e6c2cdc}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!delete\-State@{delete\-State}}
\index{delete\-State@{delete\-State}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{delete\-State}]{\setlength{\rightskip}{0pt plus 5cm}bool C\-R\-L\-::\-Catalog\-::delete\-State (
\begin{DoxyParamCaption}
\item[{const {\bf Name} \&}]{name}
\end{DoxyParamCaption}
)}}\label{classCRL_1_1Catalog_ada5b55e7926764fc9c7f5b7d4e6c2cdc}
{\bfseries Returns\-:} {\bfseries true} if an entry has been indeed deleted.

Delete the \hyperlink{classCRL_1_1Catalog_1_1State}{State} associated with Cell {\ttfamily name}. \hypertarget{classCRL_1_1Catalog_aa40bdbaf5b64f56b085bfce72dc89fe6}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!clear@{clear}}
\index{clear@{clear}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}void C\-R\-L\-::\-Catalog\-::clear (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classCRL_1_1Catalog_aa40bdbaf5b64f56b085bfce72dc89fe6}
Completly empty the \hyperlink{classCRL_1_1Catalog}{Catalog}. \hypertarget{classCRL_1_1Catalog_a02ae9d3636235db933a29c08329c5778}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!load\-From\-File@{load\-From\-File}}
\index{load\-From\-File@{load\-From\-File}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{load\-From\-File}]{\setlength{\rightskip}{0pt plus 5cm}bool C\-R\-L\-::\-Catalog\-::load\-From\-File (
\begin{DoxyParamCaption}
\item[{const string \&}]{path, }
\item[{{\bf Library} $\ast$}]{library}
\end{DoxyParamCaption}
)}}\label{classCRL_1_1Catalog_a02ae9d3636235db933a29c08329c5778}

\begin{DoxyParams}{Parameters}
{\em path} & The path to the library catalog file. \\
\hline
{\em library} & The library for which we are loading a catalog. {\bfseries Returns\-:} {\bfseries true} if the catalog file has been found and successfully loaded. \\
\hline
\end{DoxyParams}
\hypertarget{classCRL_1_1Catalog_a3e326d2515c01af4fc75e421a3b61a81}{\index{C\-R\-L\-::\-Catalog@{C\-R\-L\-::\-Catalog}!get\-States@{get\-States}}
\index{get\-States@{get\-States}!CRL::Catalog@{C\-R\-L\-::\-Catalog}}
\subsubsection[{get\-States}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$ {\bf Hurricane\-::\-Name}, {\bf State} $\ast$ $>$ $\ast$ C\-R\-L\-::\-Catalog\-::get\-States (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classCRL_1_1Catalog_a3e326d2515c01af4fc75e421a3b61a81}
\begin{DoxyReturn}{Returns}
the internal std\-::map$<$$>$ of States. 
\end{DoxyReturn}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Catalog.\-h\item 
Catalog.\-dox\end{DoxyCompactItemize}
