\doxysection{comps dictionary functions }
\hypertarget{group__comps__dict}{}\label{group__comps__dict}\index{comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{group__comps__dict_ga6c5eb9742a1c9feedae4b7bdc698d99d}{comps\+\_\+objdict\+\_\+set}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt, char \texorpdfstring{$\ast$}{*}key, \mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*}data)
\item 
void \mbox{\hyperlink{group__comps__dict_ga8d6d8869519cdb844eb957077c1cd5c7}{comps\+\_\+objdict\+\_\+set\+\_\+x}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt, char \texorpdfstring{$\ast$}{*}key, \mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*}data)
\item 
void \mbox{\hyperlink{group__comps__dict_ga576d146f1f685d300edff32849d76c63}{comps\+\_\+objdict\+\_\+set\+\_\+n}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt, char \texorpdfstring{$\ast$}{*}key, unsigned int len, \mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*}data)
\item 
\mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__comps__dict_ga8f896ac473e1154d5b1af2ead6e6eafc}{comps\+\_\+objdict\+\_\+get}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt, const char \texorpdfstring{$\ast$}{*}key)
\item 
\mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__comps__dict_ga2124b36abd433e63209ce34a2455195d}{comps\+\_\+objdict\+\_\+get\+\_\+x}} (COMPS\+\_\+\+Obj\+RTree \texorpdfstring{$\ast$}{*}rt, const char \texorpdfstring{$\ast$}{*}key)
\item 
void \mbox{\hyperlink{group__comps__dict_ga64140cb8dce0501d1ca2483a99f66823}{comps\+\_\+objdict\+\_\+unset}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt, const char \texorpdfstring{$\ast$}{*}key)
\item 
void \mbox{\hyperlink{group__comps__dict_gadba3ebc7ef4be3cff61f81c2e812f721}{comps\+\_\+objdict\+\_\+clear}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt)
\item 
COMPS\+\_\+\+HSList \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__comps__dict_ga4e6d8b99396ef4bacfb44062d09d7bcd}{comps\+\_\+objdict\+\_\+values}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt)
\item 
void \mbox{\hyperlink{group__comps__dict_gae6f40cb342b5adf90be81447fdfa1c3f}{comps\+\_\+objdict\+\_\+values\+\_\+walk}} (COMPS\+\_\+\+Obj\+RTree \texorpdfstring{$\ast$}{*}rt, void \texorpdfstring{$\ast$}{*}udata, void(\texorpdfstring{$\ast$}{*}walk\+\_\+f)(void \texorpdfstring{$\ast$}{*}, \mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*}))
\item 
COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__comps__dict_ga8b608ab26125e7cabc9fb9fbcf041096}{comps\+\_\+objdict\+\_\+clone}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt)
\item 
COMPS\+\_\+\+HSList \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__comps__dict_ga785cdd95331af053d4ccfe718de61606}{comps\+\_\+objdict\+\_\+keys}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt)
\item 
COMPS\+\_\+\+HSList \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__comps__dict_ga893c55b306ca01f795f4b3faa8b5e47b}{comps\+\_\+objdict\+\_\+pairs}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}rt)
\item 
COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__comps__dict_gad43a15561595472cac71a0ce95b195c4}{comps\+\_\+objdict\+\_\+union}} (COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}d1, COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}d2)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\label{doc-func-members}
\Hypertarget{group__comps__dict_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__comps__dict_gadba3ebc7ef4be3cff61f81c2e812f721}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_clear@{comps\_objdict\_clear}}
\index{comps\_objdict\_clear@{comps\_objdict\_clear}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_clear()}{comps\_objdict\_clear()}}
{\footnotesize\ttfamily \label{group__comps__dict_gadba3ebc7ef4be3cff61f81c2e812f721} 
void comps\+\_\+objdict\+\_\+clear (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{}\end{DoxyParamCaption})}

remove all items from dictionary 
\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
\end{DoxyParams}
\Hypertarget{group__comps__dict_ga8b608ab26125e7cabc9fb9fbcf041096}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_clone@{comps\_objdict\_clone}}
\index{comps\_objdict\_clone@{comps\_objdict\_clone}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_clone()}{comps\_objdict\_clone()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga8b608ab26125e7cabc9fb9fbcf041096} 
COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*} comps\+\_\+objdict\+\_\+clone (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{}\end{DoxyParamCaption})}

Makes copy of dictionary

Items in new dictionary is same items with incremented reference counter only


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new COMPS\+\_\+\+Obj\+Dict object 
\end{DoxyReturn}
\Hypertarget{group__comps__dict_ga8f896ac473e1154d5b1af2ead6e6eafc}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_get@{comps\_objdict\_get}}
\index{comps\_objdict\_get@{comps\_objdict\_get}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_get()}{comps\_objdict\_get()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga8f896ac473e1154d5b1af2ead6e6eafc} 
\mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*} comps\+\_\+objdict\+\_\+get (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{, }\item[{const char \texorpdfstring{$\ast$}{*}}]{key}{}\end{DoxyParamCaption})}

get item from dictionary for specified key

if there\textquotesingle{}s no such item, return NULL. Item\textquotesingle{}s reference counter will be incremented.


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em specified} & key \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
item for key 
\end{DoxyReturn}
\Hypertarget{group__comps__dict_ga2124b36abd433e63209ce34a2455195d}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_get\_x@{comps\_objdict\_get\_x}}
\index{comps\_objdict\_get\_x@{comps\_objdict\_get\_x}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_get\_x()}{comps\_objdict\_get\_x()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga2124b36abd433e63209ce34a2455195d} 
\mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*} comps\+\_\+objdict\+\_\+get\+\_\+x (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+RTree \texorpdfstring{$\ast$}{*}}]{rt}{, }\item[{const char \texorpdfstring{$\ast$}{*}}]{key}{}\end{DoxyParamCaption})}

get item from dictionary for specified key

if there\textquotesingle{}s no such item, return NULL. Item\textquotesingle{}s reference counter WON\textquotesingle{}T be incremented.


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em specified} & key \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
item for key 
\end{DoxyReturn}
\Hypertarget{group__comps__dict_ga785cdd95331af053d4ccfe718de61606}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_keys@{comps\_objdict\_keys}}
\index{comps\_objdict\_keys@{comps\_objdict\_keys}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_keys()}{comps\_objdict\_keys()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga785cdd95331af053d4ccfe718de61606} 
COMPS\+\_\+\+HSList \texorpdfstring{$\ast$}{*} comps\+\_\+objdict\+\_\+keys (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{}\end{DoxyParamCaption})}

Return list of keys in dictionary


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
COMPS\+\_\+\+HSList of key in dictionary 
\end{DoxyReturn}
\Hypertarget{group__comps__dict_ga893c55b306ca01f795f4b3faa8b5e47b}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_pairs@{comps\_objdict\_pairs}}
\index{comps\_objdict\_pairs@{comps\_objdict\_pairs}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_pairs()}{comps\_objdict\_pairs()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga893c55b306ca01f795f4b3faa8b5e47b} 
COMPS\+\_\+\+HSList \texorpdfstring{$\ast$}{*} comps\+\_\+objdict\+\_\+pairs (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{}\end{DoxyParamCaption})}

Return list of pairs(key-\/value) in dictionary


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
COMPS\+\_\+\+HSList of pairs in dictionary 
\end{DoxyReturn}
\Hypertarget{group__comps__dict_ga6c5eb9742a1c9feedae4b7bdc698d99d}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_set@{comps\_objdict\_set}}
\index{comps\_objdict\_set@{comps\_objdict\_set}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_set()}{comps\_objdict\_set()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga6c5eb9742a1c9feedae4b7bdc698d99d} 
void comps\+\_\+objdict\+\_\+set (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{, }\item[{char \texorpdfstring{$\ast$}{*}}]{key}{, }\item[{\mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*}}]{data}{}\end{DoxyParamCaption})}

set new item to dictionary

if there\textquotesingle{}s already item for specified key in dictionary, old item will be replaced with new item and its reference counter will be decremented. Reference counter of new item will be incremented


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em key} & key for new item \\
\hline
{\em data} & new item \\
\hline
\end{DoxyParams}
\Hypertarget{group__comps__dict_ga576d146f1f685d300edff32849d76c63}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_set\_n@{comps\_objdict\_set\_n}}
\index{comps\_objdict\_set\_n@{comps\_objdict\_set\_n}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_set\_n()}{comps\_objdict\_set\_n()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga576d146f1f685d300edff32849d76c63} 
void comps\+\_\+objdict\+\_\+set\+\_\+n (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{, }\item[{char \texorpdfstring{$\ast$}{*}}]{key}{, }\item[{unsigned int}]{len}{, }\item[{\mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*}}]{data}{}\end{DoxyParamCaption})}

same as comps\+\_\+objdict\+\_\+set but with key length limited by argument


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em key} & key for new item \\
\hline
{\em len} & key length limiter \\
\hline
{\em data} & new item \\
\hline
\end{DoxyParams}
\Hypertarget{group__comps__dict_ga8d6d8869519cdb844eb957077c1cd5c7}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_set\_x@{comps\_objdict\_set\_x}}
\index{comps\_objdict\_set\_x@{comps\_objdict\_set\_x}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_set\_x()}{comps\_objdict\_set\_x()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga8d6d8869519cdb844eb957077c1cd5c7} 
void comps\+\_\+objdict\+\_\+set\+\_\+x (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{, }\item[{char \texorpdfstring{$\ast$}{*}}]{key}{, }\item[{\mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*}}]{data}{}\end{DoxyParamCaption})}

set new item to dictionary

if there\textquotesingle{}s already item for specified key in dictionary, old item will be replaced with new item and its reference counter will be decremented. Reference counter of new items won\textquotesingle{}t be incremented


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em key} & key for new item \\
\hline
{\em data} & new item \\
\hline
\end{DoxyParams}
\Hypertarget{group__comps__dict_gad43a15561595472cac71a0ce95b195c4}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_union@{comps\_objdict\_union}}
\index{comps\_objdict\_union@{comps\_objdict\_union}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_union()}{comps\_objdict\_union()}}
{\footnotesize\ttfamily \label{group__comps__dict_gad43a15561595472cac71a0ce95b195c4} 
COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*} comps\+\_\+objdict\+\_\+union (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{d1}{, }\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{d2}{}\end{DoxyParamCaption})}

Join two dictionries into one

New dictionary is filled with pairs of first dictionary and then with pairs of second dictionary with skipped items whose keys are already in dictionary


\begin{DoxyParams}{Parameters}
{\em d1} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em d2} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new COMPS\+\_\+\+Obj\+Dict object 
\end{DoxyReturn}
\Hypertarget{group__comps__dict_ga64140cb8dce0501d1ca2483a99f66823}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_unset@{comps\_objdict\_unset}}
\index{comps\_objdict\_unset@{comps\_objdict\_unset}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_unset()}{comps\_objdict\_unset()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga64140cb8dce0501d1ca2483a99f66823} 
void comps\+\_\+objdict\+\_\+unset (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{, }\item[{const char \texorpdfstring{$\ast$}{*}}]{key}{}\end{DoxyParamCaption})}

remove item from dictionary for specified key

item\textquotesingle{}s reference counter will be decremented


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em key} & item\textquotesingle{}s key \\
\hline
\end{DoxyParams}
\Hypertarget{group__comps__dict_ga4e6d8b99396ef4bacfb44062d09d7bcd}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_values@{comps\_objdict\_values}}
\index{comps\_objdict\_values@{comps\_objdict\_values}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_values()}{comps\_objdict\_values()}}
{\footnotesize\ttfamily \label{group__comps__dict_ga4e6d8b99396ef4bacfb44062d09d7bcd} 
COMPS\+\_\+\+HSList \texorpdfstring{$\ast$}{*} comps\+\_\+objdict\+\_\+values (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+Dict \texorpdfstring{$\ast$}{*}}]{rt}{}\end{DoxyParamCaption})}

Return list of all values(items) in dictionary 
\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict objecti \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
COMPS\+\_\+\+HSList of values 
\end{DoxyReturn}
\Hypertarget{group__comps__dict_gae6f40cb342b5adf90be81447fdfa1c3f}\index{comps dictionary functions@{comps dictionary functions}!comps\_objdict\_values\_walk@{comps\_objdict\_values\_walk}}
\index{comps\_objdict\_values\_walk@{comps\_objdict\_values\_walk}!comps dictionary functions@{comps dictionary functions}}
\doxysubsubsection{\texorpdfstring{comps\_objdict\_values\_walk()}{comps\_objdict\_values\_walk()}}
{\footnotesize\ttfamily \label{group__comps__dict_gae6f40cb342b5adf90be81447fdfa1c3f} 
void comps\+\_\+objdict\+\_\+values\+\_\+walk (\begin{DoxyParamCaption}\item[{COMPS\+\_\+\+Obj\+RTree \texorpdfstring{$\ast$}{*}}]{rt}{, }\item[{void \texorpdfstring{$\ast$}{*}}]{udata}{, }\item[{void(\texorpdfstring{$\ast$}{*}}]{walk\+\_\+f~}{)(void \texorpdfstring{$\ast$}{*}, \mbox{\hyperlink{structCOMPS__Object}{COMPS\+\_\+\+Object}} \texorpdfstring{$\ast$}{*})}\end{DoxyParamCaption})}

Apply function for each item in dictionary

Applied function takes user data (udata param) and item as arguments


\begin{DoxyParams}{Parameters}
{\em rt} & COMPS\+\_\+\+Obj\+Dict object \\
\hline
{\em udata} & user data \\
\hline
{\em walk\+\_\+f} & applied function \\
\hline
\end{DoxyParams}
