\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 \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 \hyperlink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash} \hyperlink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash}
\begin{DoxyCompactList}\small\item\em Value type for \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 
\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$ \hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\+\_\+value\+\_\+hash\+\_\+new} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$subtype, unsigned int buckets\+\_\+power\+\_\+size)
\begin{DoxyCompactList}\small\item\em Create generic value storage of type hash. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$subtype, unsigned int buckets\+\_\+power\+\_\+size)
\begin{DoxyCompactList}\small\item\em Initialize generic value storage of type hash. \end{DoxyCompactList}\item 
static unsigned int \hyperlink{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}{eina\+\_\+value\+\_\+hash\+\_\+population} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value)
\begin{DoxyCompactList}\small\item\em Query number of elements in value of hash type. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}{eina\+\_\+value\+\_\+hash\+\_\+del} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Remove element at given position in value of hash type. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const char $\ast$key,...)
\begin{DoxyCompactList}\small\item\em Set the generic value in an hash member. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const char $\ast$key,...)
\begin{DoxyCompactList}\small\item\em Get the generic value from an hash member. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const char $\ast$key, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Set the generic value in an hash member. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}{eina\+\_\+value\+\_\+hash\+\_\+vget} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const char $\ast$key, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Get the generic value from an hash member. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const char $\ast$key, const void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Set the generic value in an hash member from pointer. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\+\_\+value\+\_\+hash\+\_\+pget} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const char $\ast$key, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Get the generic value to pointer from an hash member. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Typedef Documentation}
\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}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Value\+\_\+\+Hash}}\hypertarget{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{}\label{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}


Value type for \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}
\hyperlink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash} explains fields. 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


\subsection{Function Documentation}
\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(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$subtype, unsigned int buckets\+\_\+power\+\_\+size)}{eina_value_hash_new(const Eina_Value_Type *subtype, unsigned int buckets_power_size)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Value}$\ast$ eina\+\_\+value\+\_\+hash\+\_\+new (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{subtype, }
\item[{unsigned int}]{buckets\+\_\+power\+\_\+size}
\end{DoxyParamCaption}
)}\hypertarget{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{}\label{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}


Create 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}
Create 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 \hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup()}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\+\_\+value\+\_\+free()} 

\hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References eina\+\_\+mempool\+\_\+free(), eina\+\_\+mempool\+\_\+malloc(), eina\+\_\+value\+\_\+hash\+\_\+setup(), and eina\+\_\+value\+\_\+type\+\_\+check().

\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 $\ast$value, const Eina\+\_\+\+Value\+\_\+\+Type $\ast$subtype, unsigned int buckets\+\_\+power\+\_\+size)}{eina_value_hash_setup(Eina_Value *value, const Eina_Value_Type *subtype, unsigned int buckets_power_size)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+setup (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{subtype, }
\item[{unsigned int}]{buckets\+\_\+power\+\_\+size}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{}\label{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}


Initialize 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \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 \hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} with \hyperlink{group__Eina__Value__Group_gae007408c7e8c4c9240236d45ea6f7d8f}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+SH} followed by \hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()} with the \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 \hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()} first.
\end{DoxyNote}
On failure, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} is returned.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


Referenced by eina\+\_\+value\+\_\+hash\+\_\+new().

\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(const Eina\+\_\+\+Value $\ast$value)}{eina_value_hash_population(const Eina_Value *value)}}]{\setlength{\rightskip}{0pt plus 5cm}static unsigned int eina\+\_\+value\+\_\+hash\+\_\+population (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}{}\label{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}


Query 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}
\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 $\ast$value, const char $\ast$key)}{eina_value_hash_del(Eina_Value *value, const char *key)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const char $\ast$}]{key}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}{}\label{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}


Remove 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\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 $\ast$value, const char $\ast$key,...)}{eina_value_hash_set(Eina_Value *value, const char *key,...)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const char $\ast$}]{key, }
\item[{}]{...}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{}\label{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}


Set 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \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\+\_\+\+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$\end{DoxyItemize}

\begin{DoxyCode}
1 Eina\_Value *value = eina\_value\_hash\_new(EINA\_VALUE\_TYPE\_INT, 0);
2 int x;
3 
4 eina\_value\_hash\_set(value, "abc", 5678);
5 eina\_value\_hash\_get(value, "abc", &x);
6 eina\_value\_free(value);
\end{DoxyCode}


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

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

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

\hyperlink{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}{eina\+\_\+value\+\_\+hash\+\_\+del()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\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(const Eina\+\_\+\+Value $\ast$value, const char $\ast$key,...)}{eina_value_hash_get(const Eina_Value *value, const char *key,...)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const char $\ast$}]{key, }
\item[{}]{...}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{}\label{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}


Get 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \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\+\_\+\+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$\end{DoxyItemize}

\begin{DoxyCode}
1 Eina\_Value *value = eina\_value\_hash\_new(EINA\_VALUE\_TYPE\_INT, 0);
2 int x;
3 
4 eina\_value\_hash\_set(value, "abc", 1234);
5 eina\_value\_hash\_get(value, "abc", &x);
6 eina\_value\_free(value);
\end{DoxyCode}


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

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

\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\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 $\ast$value, const char $\ast$key, va\+\_\+list args)}{eina_value_hash_vset(Eina_Value *value, const char *key, va_list args)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+vset (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const char $\ast$}]{key, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{}\label{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}


Set 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()} 

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

\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\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(const Eina\+\_\+\+Value $\ast$value, const char $\ast$key, va\+\_\+list args)}{eina_value_hash_vget(const Eina_Value *value, const char *key, va_list args)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+vget (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const char $\ast$}]{key, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}{}\label{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}


Get 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \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}
\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()} 

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

\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\+\_\+value\+\_\+hash\+\_\+pget()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\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 $\ast$value, const char $\ast$key, const void $\ast$ptr)}{eina_value_hash_pset(Eina_Value *value, const char *key, const void *ptr)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+pset (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const char $\ast$}]{key, }
\item[{const void $\ast$}]{ptr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{}\label{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}


Set 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \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\+\_\+\+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$\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}
1 Eina\_Value *value = eina\_value\_hash\_new(EINA\_VALUE\_TYPE\_INT, 0);
2 int x = 1234;
3 
4 eina\_value\_hash\_pset(value, "abc", &x);
5 eina\_value\_hash\_pget(value, "abc", &x);
6 eina\_value\_free(value);
\end{DoxyCode}


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

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

\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\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(const Eina\+\_\+\+Value $\ast$value, const char $\ast$key, void $\ast$ptr)}{eina_value_hash_pget(const Eina_Value *value, const char *key, void *ptr)}}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+hash\+\_\+pget (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const char $\ast$}]{key, }
\item[{void $\ast$}]{ptr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\hypertarget{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{}\label{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}


Get 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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, \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\+\_\+\+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$\end{DoxyItemize}

\begin{DoxyCode}
1 Eina\_Value *value = eina\_value\_hash\_new(EINA\_VALUE\_TYPE\_INT, 0);
2 int x;
3 
4 eina\_value\_hash\_set(value, "abc", 1234);
5 eina\_value\_hash\_pget(value, "abc", &x);
6 eina\_value\_free(value);
\end{DoxyCode}


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

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

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