\hypertarget{group__Eina__Value__Hash__Group}{}\section{Generic Value Hash management}
\label{group__Eina__Value__Hash__Group}\index{Generic Value Hash management@{Generic Value Hash management}}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash}}
\begin{DoxyCompactList}\small\item\em Used to store the hash and its subtype. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash}}
\begin{DoxyCompactList}\small\item\em Value type for \mbox{\hyperlink{group__Eina__Value__Group_gae007408c7e8c4c9240236d45ea6f7d8f}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\+\_\+value\+\_\+hash\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\ast$subtype, unsigned int buckets\+\_\+power\+\_\+size)
\begin{DoxyCompactList}\small\item\em Creates generic value storage of type hash. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\ast$subtype, unsigned int buckets\+\_\+power\+\_\+size)
\begin{DoxyCompactList}\small\item\em Initializes generic value storage of type hash. \end{DoxyCompactList}\item 
static unsigned int \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}{eina\+\_\+value\+\_\+hash\+\_\+population}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value)
\begin{DoxyCompactList}\small\item\em Queries number of elements in value of hash type. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}{eina\+\_\+value\+\_\+hash\+\_\+del}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Removes element at given position in value of hash type. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$key,...)
\begin{DoxyCompactList}\small\item\em Sets the generic value in an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$key,...)
\begin{DoxyCompactList}\small\item\em Gets the generic value from an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$key, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Sets the generic value in an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}{eina\+\_\+value\+\_\+hash\+\_\+vget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$key, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Gets the generic value from an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$key, const void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Sets the generic value in an hash member from pointer. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\+\_\+value\+\_\+hash\+\_\+pget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$key, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Gets the generic value to pointer from an hash member. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Typedef Documentation}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}\label{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}} 
\index{Generic Value Hash management@{Generic Value Hash management}!Eina\+\_\+\+Value\+\_\+\+Hash@{Eina\+\_\+\+Value\+\_\+\+Hash}}
\index{Eina\+\_\+\+Value\+\_\+\+Hash@{Eina\+\_\+\+Value\+\_\+\+Hash}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{Eina\+\_\+\+Value\+\_\+\+Hash}{Eina\_Value\_Hash}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash}}}



Value type for \mbox{\hyperlink{group__Eina__Value__Group_gae007408c7e8c4c9240236d45ea6f7d8f}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH}}. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash}} explains fields. 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


\subsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}\label{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+new@{eina\+\_\+value\+\_\+hash\+\_\+new}}
\index{eina\+\_\+value\+\_\+hash\+\_\+new@{eina\+\_\+value\+\_\+hash\+\_\+new}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+new()}{eina\_value\_hash\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}}$\ast$ eina\+\_\+value\+\_\+hash\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\ast$}]{subtype,  }\item[{unsigned int}]{buckets\+\_\+power\+\_\+size }\end{DoxyParamCaption})}



Creates generic value storage of type hash. 


\begin{DoxyParams}{Parameters}
{\em subtype} & How to manage this hash members. \\
\hline
{\em buckets\+\_\+power\+\_\+size} & How to allocate hash buckets (2 $^\wedge$ buckets\+\_\+power\+\_\+size), if zero then a sane value is chosen. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new value, or {\ttfamily N\+U\+LL} on failure.
\end{DoxyReturn}
Creates a new generic value storage of type hash. The members are managed using the description specified by {\itshape subtype}.

On failure, {\ttfamily N\+U\+LL} is returned.

\begin{DoxyNote}{Note}
this creates from mempool and then uses \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup()}}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\+\_\+value\+\_\+free()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}\label{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+setup@{eina\+\_\+value\+\_\+hash\+\_\+setup}}
\index{eina\+\_\+value\+\_\+hash\+\_\+setup@{eina\+\_\+value\+\_\+hash\+\_\+setup}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+setup()}{eina\_value\_hash\_setup()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+setup (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\ast$}]{subtype,  }\item[{unsigned int}]{buckets\+\_\+power\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Initializes generic value storage of type hash. 


\begin{DoxyParams}{Parameters}
{\em value} & Value object \\
\hline
{\em subtype} & How to manage this hash members. \\
\hline
{\em buckets\+\_\+power\+\_\+size} & How to allocate hash buckets (2 $^\wedge$ buckets\+\_\+power\+\_\+size), if zero then a sane value is chosen. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
Initializes new generic value storage of type hash with the given {\itshape subtype}.

This is the same as calling \mbox{\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()}} with \mbox{\hyperlink{group__Eina__Value__Group_gae007408c7e8c4c9240236d45ea6f7d8f}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH}} followed by \mbox{\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}} with the \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash}} description configured.

\begin{DoxyNote}{Note}
Existing contents are ignored! If the value was previously used, then use \mbox{\hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}} first.
\end{DoxyNote}
On failure, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} is returned.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}\label{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+population@{eina\+\_\+value\+\_\+hash\+\_\+population}}
\index{eina\+\_\+value\+\_\+hash\+\_\+population@{eina\+\_\+value\+\_\+hash\+\_\+population}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+population()}{eina\_value\_hash\_population()}}
{\footnotesize\ttfamily static unsigned int eina\+\_\+value\+\_\+hash\+\_\+population (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Queries number of elements in value of hash type. 


\begin{DoxyParams}{Parameters}
{\em value} & value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of child elements.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}\label{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+del@{eina\+\_\+value\+\_\+hash\+\_\+del}}
\index{eina\+\_\+value\+\_\+hash\+\_\+del@{eina\+\_\+value\+\_\+hash\+\_\+del}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+del()}{eina\_value\_hash\_del()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Removes element at given position in value of hash type. 


\begin{DoxyParams}{Parameters}
{\em value} & value object. \\
\hline
{\em key} & key to find the member \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}\label{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+set@{eina\+\_\+value\+\_\+hash\+\_\+set}}
\index{eina\+\_\+value\+\_\+hash\+\_\+set@{eina\+\_\+value\+\_\+hash\+\_\+set}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+set()}{eina\_value\_hash\_set()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value in an hash member. 


\begin{DoxyParams}{Parameters}
{\em value} & Source value object \\
\hline
{\em key} & Key to find the member \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The variable argument is dependent on chosen subtype. The list for basic types\+:

\begin{DoxyItemize}
\item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+A\+L\+UE\+: Eina\+\_\+\+Value \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+R\+R\+OR\+: Eina\+\_\+\+Error \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+C\+H\+AR\+: unsigned char \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+RT\+: unsigned short \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+NT\+: unsigned int \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+NG\+: unsigned long \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T64\+: uint64\+\_\+t \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+AR\+: char \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+RT\+: short \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+NT\+: int \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+NG\+: long \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T64\+: int64\+\_\+t \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+AT\+: float \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+LE\+: double \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE\+: const char $\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+NG\+: const char $\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH\+: Eina\+\_\+\+Value\+\_\+\+Hash \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+AL\+: struct timeval$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+OB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+CT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}

\begin{DoxyCode}
\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(
      \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);
\textcolor{keywordtype}{int} x;

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\_value\_hash\_set}}(value, \textcolor{stringliteral}{"abc"}, 5678);
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\_value\_hash\_get}}(value, \textcolor{stringliteral}{"abc"}, &x);
\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}{eina\+\_\+value\+\_\+hash\+\_\+del()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}\label{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+get@{eina\+\_\+value\+\_\+hash\+\_\+get}}
\index{eina\+\_\+value\+\_\+hash\+\_\+get@{eina\+\_\+value\+\_\+hash\+\_\+get}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+get()}{eina\_value\_hash\_get()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value from an hash member. 


\begin{DoxyParams}{Parameters}
{\em value} & Source value object \\
\hline
{\em key} & Key to find the member \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The value is returned in the variable argument parameter, the actual value is type-\/dependent, but usually it will be what is stored inside the object. There shouldn\textquotesingle{}t be any memory allocation, thus the contents should {\bfseries not} be freed.

The variable argument is dependent on chosen subtype. The list for basic types\+:

\begin{DoxyItemize}
\item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+A\+L\+UE\+: Eina\+\_\+\+Value$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+R\+R\+OR\+: Eina\+\_\+\+Error$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+C\+H\+AR\+: unsigned char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+RT\+: unsigned short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+NT\+: unsigned int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+NG\+: unsigned long$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T64\+: uint64\+\_\+t$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+AR\+: char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+RT\+: short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+NT\+: int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+NG\+: long$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T64\+: int64\+\_\+t$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+AT\+: float$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+LE\+: double$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+NG\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+AL\+: struct timeval$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+OB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+CT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}

\begin{DoxyCode}
\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(
      \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);
\textcolor{keywordtype}{int} x;

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\_value\_hash\_set}}(value, \textcolor{stringliteral}{"abc"}, 1234);
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\_value\_hash\_get}}(value, \textcolor{stringliteral}{"abc"}, &x);
\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}\label{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+vset@{eina\+\_\+value\+\_\+hash\+\_\+vset}}
\index{eina\+\_\+value\+\_\+hash\+\_\+vset@{eina\+\_\+value\+\_\+hash\+\_\+vset}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+vset()}{eina\_value\_hash\_vset()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+vset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value in an hash member. 


\begin{DoxyParams}{Parameters}
{\em value} & Source value object \\
\hline
{\em key} & Key to find the member \\
\hline
{\em args} & Variable argument \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}\label{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+vget@{eina\+\_\+value\+\_\+hash\+\_\+vget}}
\index{eina\+\_\+value\+\_\+hash\+\_\+vget@{eina\+\_\+value\+\_\+hash\+\_\+vget}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+vget()}{eina\_value\_hash\_vget()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+vget (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value from an hash member. 


\begin{DoxyParams}{Parameters}
{\em value} & Source value object \\
\hline
{\em key} & Key to find the member \\
\hline
{\em args} & Variable argument \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The value is returned in the variable argument parameter, the actual value is type-\/dependent, but usually it will be what is stored inside the object. There shouldn\textquotesingle{}t be any memory allocation, thus the contents should {\bfseries not} be freed.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\+\_\+value\+\_\+hash\+\_\+pget()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}\label{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+pset@{eina\+\_\+value\+\_\+hash\+\_\+pset}}
\index{eina\+\_\+value\+\_\+hash\+\_\+pset@{eina\+\_\+value\+\_\+hash\+\_\+pset}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+pset()}{eina\_value\_hash\_pset()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+pset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{const void $\ast$}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value in an hash member from pointer. 


\begin{DoxyParams}{Parameters}
{\em value} & Source value object \\
\hline
{\em key} & Key to find the member \\
\hline
{\em ptr} & Pointer to specify the contents. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The pointer type is dependent on chosen value type. The list for basic types\+:

\begin{DoxyItemize}
\item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+A\+L\+UE\+: Eina\+\_\+\+Value$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+R\+R\+OR\+: Eina\+\_\+\+Error$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+C\+H\+AR\+: unsigned char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+RT\+: unsigned short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+NT\+: unsigned int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+NG\+: unsigned long$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T64\+: uint64\+\_\+t$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+AR\+: char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+RT\+: short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+NT\+: int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+NG\+: long$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T64\+: int64\+\_\+t$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+AT\+: float$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+LE\+: double$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+NG\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+AL\+: struct timeval$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+OB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+CT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}
\begin{DoxyNote}{Note}
the pointer contents are written using the size defined by type. It can be larger than void$\ast$ or uint64\+\_\+t.
\end{DoxyNote}

\begin{DoxyCode}
\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(
      \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);
\textcolor{keywordtype}{int} x = 1234;

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\_value\_hash\_pset}}(value, \textcolor{stringliteral}{"abc"}, &x);
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\_value\_hash\_pget}}(value, \textcolor{stringliteral}{"abc"}, &x);
\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}\label{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\+\_\+value\+\_\+hash\+\_\+pget@{eina\+\_\+value\+\_\+hash\+\_\+pget}}
\index{eina\+\_\+value\+\_\+hash\+\_\+pget@{eina\+\_\+value\+\_\+hash\+\_\+pget}!Generic Value Hash management@{Generic Value Hash management}}
\subsubsection{\texorpdfstring{eina\+\_\+value\+\_\+hash\+\_\+pget()}{eina\_value\_hash\_pget()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+pget (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{void $\ast$}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value to pointer from an hash member. 


\begin{DoxyParams}{Parameters}
{\em value} & Source value object \\
\hline
{\em key} & Key to find the member \\
\hline
{\em ptr} & Pointer to receive the contents. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The value is returned in pointer contents, the actual value is type-\/dependent, but usually it will be what is stored inside the object. There shouldn\textquotesingle{}t be any memory allocation, thus the contents should {\bfseries not} be freed.

The pointer type is dependent on chosen value type. The list for basic types\+:

\begin{DoxyItemize}
\item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+A\+L\+UE\+: Eina\+\_\+\+Value$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+E\+R\+R\+OR\+: Eina\+\_\+\+Error$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+C\+H\+AR\+: unsigned char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+RT\+: unsigned short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+NT\+: unsigned int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+NG\+: unsigned long$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T64\+: uint64\+\_\+t$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+AR\+: char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+RT\+: short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+NT\+: int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+NG\+: long$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T64\+: int64\+\_\+t$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+F\+L\+O\+AT\+: float$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+LE\+: double$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+NG\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+AL\+: struct timeval$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+OB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+CT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}

\begin{DoxyCode}
\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(
      \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);
\textcolor{keywordtype}{int} x;

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\_value\_hash\_set}}(value, \textcolor{stringliteral}{"abc"}, 1234);
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\_value\_hash\_pget}}(value, \textcolor{stringliteral}{"abc"}, &x);
\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}} 

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
