\section{A\-I\-D\-A\-:\-:I\-Annotation\-R\-O\-O\-T Class Reference}
\label{classAIDA_1_1IAnnotationROOT}\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}


The annotation holds arbitrary information represented with (key,value) pairs of strings.  




{\ttfamily \#include $<$I\-Annotation\-R\-O\-O\-T.\-h$>$}

Inheritance diagram for A\-I\-D\-A\-:\-:I\-Annotation\-R\-O\-O\-T\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classAIDA_1_1IAnnotationROOT}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-I\-Annotation\-R\-O\-O\-T} ()\label{classAIDA_1_1IAnnotationROOT_a1504b6aae50c42b5f937acfb591df61d}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual bool {\bf add\-Item} (const std\-::string \&{\bf key}, const std\-::string \&{\bf value}, bool sticky=false)
\begin{DoxyCompactList}\small\item\em The list of the commonly accepted keys \-: \char`\"{}\-Title\char`\"{} for the title. \end{DoxyCompactList}\item 
virtual bool {\bf remove\-Item} (const std\-::string \&{\bf key})
\begin{DoxyCompactList}\small\item\em Remove the item indicated by a given key. \end{DoxyCompactList}\item 
virtual std\-::string {\bf value} (const std\-::string \&{\bf key}) const 
\begin{DoxyCompactList}\small\item\em Retrieve the value for a given key. \end{DoxyCompactList}\item 
virtual void {\bf set\-Value} (const std\-::string \&{\bf key}, const std\-::string \&{\bf value})
\begin{DoxyCompactList}\small\item\em Set the value for a given key. \end{DoxyCompactList}\item 
virtual void {\bf set\-Sticky} (const std\-::string \&{\bf key}, bool sticky)
\begin{DoxyCompactList}\small\item\em Set the sticky flag for a given key. \end{DoxyCompactList}\item 
virtual int {\bf size} () const 
\begin{DoxyCompactList}\small\item\em Get the size of the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}, i.\-e. \end{DoxyCompactList}\item 
virtual std\-::string {\bf key} (int index) const 
\begin{DoxyCompactList}\small\item\em Get the key at a given position within the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}. \end{DoxyCompactList}\item 
virtual std\-::string {\bf value} (int index) const 
\begin{DoxyCompactList}\small\item\em Get the value at a given position within the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}. \end{DoxyCompactList}\item 
virtual void {\bf reset} ()\label{classAIDA_1_1IAnnotationROOT_af1b8cb59b14dda77ab8caed2cd75956b}

\begin{DoxyCompactList}\small\item\em Remove all the non-\/sticky items. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The annotation holds arbitrary information represented with (key,value) pairs of strings. 

A sticky bit is associated to every item to protect it (or not) from a reset operation.

\begin{DoxyAuthor}{Author}
T. Kraemer, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{I\-Annotation\-R\-O\-O\-T.\-h}{p.}{IAnnotationROOT_8h_source},v 1.\-1 2006-\/12-\/08 10\-:58\-:59 tkraemer Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!add\-Item@{add\-Item}}
\index{add\-Item@{add\-Item}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{add\-Item}]{\setlength{\rightskip}{0pt plus 5cm}bool I\-Annotation\-R\-O\-O\-T\-::add\-Item (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{key, }
\item[{const std\-::string \&}]{value, }
\item[{bool}]{sticky = {\ttfamily false}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_ad3063ba9a718565ec9206ee8c2dfa577}


The list of the commonly accepted keys \-: \char`\"{}\-Title\char`\"{} for the title. 

Add a key/value pair with a given sticky flag. If key alredy exists, override its value ? 
\begin{DoxyParams}{Parameters}
{\em key} & The key to be added. \\
\hline
{\em value} & The key's value. \\
\hline
{\em sticky} & The key's sticky flag. If {\ttfamily true} the item will not be removed when the method reset or remove\-Item are invoked. The default value for the sticky flag is {\ttfamily false}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
false If the key already exists. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_a7f5e38282f67723a5747f34689c7cbe4}.

\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!key@{key}}
\index{key@{key}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{key}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string I\-Annotation\-R\-O\-O\-T\-::key (
\begin{DoxyParamCaption}
\item[{int}]{index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_ad05df82992c5dc47a594bd092c87ff95}


Get the key at a given position within the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}. 


\begin{DoxyParams}{Parameters}
{\em index} & The key's position within the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The corresponding key. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_aa3230437067be7f13bd871ea46acf55f}.

\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!remove\-Item@{remove\-Item}}
\index{remove\-Item@{remove\-Item}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{remove\-Item}]{\setlength{\rightskip}{0pt plus 5cm}bool I\-Annotation\-R\-O\-O\-T\-::remove\-Item (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{key}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_afacba2afb9f59ac5eb34ca91f91ae44a}


Remove the item indicated by a given key. 


\begin{DoxyParams}{Parameters}
{\em key} & The key to be removed. If the key is flagged as \char`\"{}sticky\char`\"{} it will not be removed. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
false If the key is sticky. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_ab4c623c5bae288e558004749573dbc78}.

\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!set\-Sticky@{set\-Sticky}}
\index{set\-Sticky@{set\-Sticky}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{set\-Sticky}]{\setlength{\rightskip}{0pt plus 5cm}void I\-Annotation\-R\-O\-O\-T\-::set\-Sticky (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{key, }
\item[{bool}]{sticky}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_ae5d8c0b8d9366760113922d831f1d3ee}


Set the sticky flag for a given key. 


\begin{DoxyParams}{Parameters}
{\em key} & The key whose stick flag is to be set. \\
\hline
{\em sticky} & The new sticky flag. \\
\hline
\end{DoxyParams}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_af268cd27edc06875196d493fa17bac29}.

\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!set\-Value@{set\-Value}}
\index{set\-Value@{set\-Value}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{set\-Value}]{\setlength{\rightskip}{0pt plus 5cm}void I\-Annotation\-R\-O\-O\-T\-::set\-Value (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{key, }
\item[{const std\-::string \&}]{value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_a8e95abfea4a1e6c26c940bd702fcabd1}


Set the value for a given key. 


\begin{DoxyParams}{Parameters}
{\em key} & The key whose vale is to be changed. \\
\hline
{\em value} & The new value. \\
\hline
\end{DoxyParams}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_a497c0f63250c907f2de0b90d44c94d6a}.

\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!size@{size}}
\index{size@{size}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}int I\-Annotation\-R\-O\-O\-T\-::size (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_a7ca760213e267b61f8a06aa5956953f7}


Get the size of the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}, i.\-e. 

the number of keys contained in it. \begin{DoxyReturn}{Returns}
The size of the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_a0a6103f476a0e71e2a5932a2f35c6d41}.

\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!value@{value}}
\index{value@{value}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string I\-Annotation\-R\-O\-O\-T\-::value (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{key}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_af6fc7f589770d810e45e0de9a864a86f}


Retrieve the value for a given key. 


\begin{DoxyParams}{Parameters}
{\em key} & The key. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The corresponding value. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_ac173be6ea8a94f2ff3c0e3aa57fc746b}.

\index{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}!value@{value}}
\index{value@{value}!AIDA::IAnnotationROOT@{A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string I\-Annotation\-R\-O\-O\-T\-::value (
\begin{DoxyParamCaption}
\item[{int}]{index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classAIDA_1_1IAnnotationROOT_a61c320a5014d17a9c036e35a6602cee1}


Get the value at a given position within the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}. 


\begin{DoxyParams}{Parameters}
{\em index} & The value's position within the \doxyref{I\-Annotation}{p.}{classAIDA_1_1IAnnotation}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The corresponding value. 
\end{DoxyReturn}


Implements {\bf A\-I\-D\-A\-::\-I\-Annotation} \doxyref{}{p.}{classAIDA_1_1IAnnotation_a1668839c824ed405713cbdb9b9c98ca1}.



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
I\-Annotation\-R\-O\-O\-T.\-h\item 
I\-Annotation\-R\-O\-O\-T.\-cc\end{DoxyCompactItemize}
