\section{A\-I\-D\-A\-:\-:I\-Annotation Class Reference}
\label{classAIDA_1_1IAnnotation}\index{A\-I\-D\-A\-::\-I\-Annotation@{A\-I\-D\-A\-::\-I\-Annotation}}


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




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

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

\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)=0
\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})=0
\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 =0
\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})=0
\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)=0
\begin{DoxyCompactList}\small\item\em Set the sticky flag for a given key. \end{DoxyCompactList}\item 
virtual int {\bf size} () const =0
\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 =0
\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 =0
\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} ()=0\label{classAIDA_1_1IAnnotation_a9a7a80dbb6e635f661a7ae1fca36a2ea}

\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}
The \doxyref{A\-I\-D\-A}{p.}{namespaceAIDA} team ({\tt http\-://aida.\-freehep.\-org/}) 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{A\-I\-D\-A\-::\-I\-Annotation@{A\-I\-D\-A\-::\-I\-Annotation}!add\-Item@{add\-Item}}
\index{add\-Item@{add\-Item}!AIDA::IAnnotation@{A\-I\-D\-A\-::\-I\-Annotation}}
\subsubsection[{add\-Item}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\-I\-D\-A\-::\-I\-Annotation\-::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 [pure virtual]}}\label{classAIDA_1_1IAnnotation_a7f5e38282f67723a5747f34689c7cbe4}


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_ad3063ba9a718565ec9206ee8c2dfa577}.

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


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_ad05df82992c5dc47a594bd092c87ff95}.

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


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_afacba2afb9f59ac5eb34ca91f91ae44a}.

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


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_ae5d8c0b8d9366760113922d831f1d3ee}.

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


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_a8e95abfea4a1e6c26c940bd702fcabd1}.

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


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_a7ca760213e267b61f8a06aa5956953f7}.

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


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_af6fc7f589770d810e45e0de9a864a86f}.

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


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}


Implemented in {\bf A\-I\-D\-A\-::\-I\-Annotation\-R\-O\-O\-T} \doxyref{}{p.}{classAIDA_1_1IAnnotationROOT_a61c320a5014d17a9c036e35a6602cee1}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
I\-Annotation.\-h\end{DoxyCompactItemize}
