\hypertarget{group__Eina__Value__Value__Group}{}\section{Generic Value management}
\label{group__Eina__Value__Value__Group}\index{Generic Value management@{Generic Value management}}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Eina__Value}{\+\_\+\+Eina\+\_\+\+Value}
\begin{DoxyCompactList}\small\item\em defines the contents of a value \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$ \hyperlink{group__Eina__Value__Value__Group_gae603129fa62a3b1b560e81fa511ffb13}{eina\+\_\+value\+\_\+new} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type)
\begin{DoxyCompactList}\small\item\em Create generic value storage. \end{DoxyCompactList}\item 
void \hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\+\_\+value\+\_\+free} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value)
\begin{DoxyCompactList}\small\item\em Free value and its data. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type)
\begin{DoxyCompactList}\small\item\em Initialize generic value storage. \end{DoxyCompactList}\item 
static void \hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value)
\begin{DoxyCompactList}\small\item\em Create generic value storage. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_ga4eb986bdc60f79a8ac0b3f68a9ed6a01}{eina\+\_\+value\+\_\+copy} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$copy)
\begin{DoxyCompactList}\small\item\em Copy generic value storage. \end{DoxyCompactList}\item 
static int \hyperlink{group__Eina__Value__Value__Group_ga7b136e61a22724f3dcdcbb715c28e603}{eina\+\_\+value\+\_\+compare} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$a, const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$b)
\begin{DoxyCompactList}\small\item\em Compare generic value storage. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value,...)
\begin{DoxyCompactList}\small\item\em Set the generic value. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}{eina\+\_\+value\+\_\+get} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value,...)
\begin{DoxyCompactList}\small\item\em Get the generic value. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Set the generic value. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10}{eina\+\_\+value\+\_\+vget} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Get the generic value. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset} (\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, const void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Set the generic value from pointer. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}{eina\+\_\+value\+\_\+pget} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Get the generic value to pointer. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Value__Group_ga86f91748c90652df59e3ef38bf54949d}{eina\+\_\+value\+\_\+convert} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value, \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$convert)
\begin{DoxyCompactList}\small\item\em Convert one value to another type. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Eina__Value__Value__Group_ga8f34b6d6639654dd88cd197c9def78a3}{eina\+\_\+value\+\_\+to\+\_\+string} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value)
\begin{DoxyCompactList}\small\item\em Convert value to string. \end{DoxyCompactList}\item 
static const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$ \hyperlink{group__Eina__Value__Value__Group_gad16e8065d5d90cdd37e8c219cfcd281e}{eina\+\_\+value\+\_\+type\+\_\+get} (const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value)
\begin{DoxyCompactList}\small\item\em Query value type. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Function Documentation}
\hypertarget{group__Eina__Value__Value__Group_gae603129fa62a3b1b560e81fa511ffb13}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+new@{eina\+\_\+value\+\_\+new}}
\index{eina\+\_\+value\+\_\+new@{eina\+\_\+value\+\_\+new}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Value}$\ast$ eina\+\_\+value\+\_\+new (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type}
\end{DoxyParamCaption}
)}\label{group__Eina__Value__Value__Group_gae603129fa62a3b1b560e81fa511ffb13}


Create generic value storage. 


\begin{DoxyParams}{Parameters}
{\em type} & how to manage this value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new value or {\ttfamily N\+U\+L\+L} on failure.
\end{DoxyReturn}
Create a new generic value storage. The members are managed using the description specified by {\itshape type}.

Some types may specify more operations\+: eg. \hyperlink{group__Eina__Value__Group_ga54ae8736387dd3da85568451ac6821ba}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+A\+Y} uses \hyperlink{group__Eina__Value__Array__Group_gac833bf34f56ba77e87bbe6b79734b653}{eina\+\_\+value\+\_\+array\+\_\+set()}, \hyperlink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} and so on.

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

\begin{DoxyNote}{Note}
this calls creates from mempool and then uses \hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()}. Consider using \hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()} and \hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} instead to avoid memory allocations.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\+\_\+value\+\_\+free()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


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



Referenced by eina\+\_\+value\+\_\+util\+\_\+time\+\_\+string\+\_\+new().

\hypertarget{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+free@{eina\+\_\+value\+\_\+free}}
\index{eina\+\_\+value\+\_\+free@{eina\+\_\+value\+\_\+free}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+value\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value}
\end{DoxyParamCaption}
)}\label{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}


Free value and its data. 


\begin{DoxyParams}{Parameters}
{\em value} & value object\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References eina\+\_\+mempool\+\_\+free(), and eina\+\_\+value\+\_\+flush().



Referenced by efl\+::eina\+::value\+::$\sim$value().

\hypertarget{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+setup@{eina\+\_\+value\+\_\+setup}}
\index{eina\+\_\+value\+\_\+setup@{eina\+\_\+value\+\_\+setup}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+setup}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+setup (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}


Initialize generic value storage. 


\begin{DoxyParams}{Parameters}
{\em value} & value object \\
\hline
{\em type} & how to manage this value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
Initializes existing generic value storage. The members are managed using the description specified by {\itshape type}.

Some types may specify more operations, as an example \hyperlink{group__Eina__Value__Group_ga54ae8736387dd3da85568451ac6821ba}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+A\+Y} uses \hyperlink{group__Eina__Value__Array__Group_gac833bf34f56ba77e87bbe6b79734b653}{eina\+\_\+value\+\_\+array\+\_\+set()}, \hyperlink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} and so on.

\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\+S\+E} 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}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_value_01_8c-example}{eina\+\_\+value\+\_\+01.\+c}, and \hyperlink{eina_value_03_8c-example}{eina\+\_\+value\+\_\+03.\+c}.\end{Desc}


Referenced by eina\+\_\+value\+\_\+copy(), eina\+\_\+value\+\_\+new(), and eina\+\_\+value\+\_\+to\+\_\+string().

\hypertarget{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+flush@{eina\+\_\+value\+\_\+flush}}
\index{eina\+\_\+value\+\_\+flush@{eina\+\_\+value\+\_\+flush}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+flush}]{\setlength{\rightskip}{0pt plus 5cm}static void eina\+\_\+value\+\_\+flush (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}


Create generic value storage. 


\begin{DoxyParams}{Parameters}
{\em value} & value object\\
\hline
\end{DoxyParams}
Releases all the resources associated with an \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}. The value must be already set with \hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} or \hyperlink{group__Eina__Value__Value__Group_gae603129fa62a3b1b560e81fa511ffb13}{eina\+\_\+value\+\_\+new()}.

After this call returns, the contents of the value are undefined, but the value can be reused by calling \hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} again.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} 

\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\+\_\+value\+\_\+free()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}, \hyperlink{eina_value_01_8c-example}{eina\+\_\+value\+\_\+01.\+c}, and \hyperlink{eina_value_03_8c-example}{eina\+\_\+value\+\_\+03.\+c}.\end{Desc}


Referenced by eina\+\_\+value\+\_\+copy(), eina\+\_\+value\+\_\+free(), and efl\+::eina\+::value\+::operator=().

\hypertarget{group__Eina__Value__Value__Group_ga4eb986bdc60f79a8ac0b3f68a9ed6a01}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+copy@{eina\+\_\+value\+\_\+copy}}
\index{eina\+\_\+value\+\_\+copy@{eina\+\_\+value\+\_\+copy}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+copy}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+copy (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{copy}
\end{DoxyParamCaption}
)}\label{group__Eina__Value__Value__Group_ga4eb986bdc60f79a8ac0b3f68a9ed6a01}


Copy generic value storage. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object \\
\hline
{\em copy} & destination value object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
The {\itshape copy} object is considered uninitialized and its existing contents are overwritten (just as if \hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()} was called on it).

The copy happens by calling \hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} on {\itshape copy}, followed by getting the contents of {\itshape value} and setting it to {\itshape copy}.

\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Type\+::copy, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+value\+\_\+flush(), eina\+\_\+value\+\_\+setup(), eina\+\_\+value\+\_\+type\+\_\+check(), and \+\_\+\+Eina\+\_\+\+Value\+::type.



Referenced by efl\+::eina\+::value\+::operator=(), and efl\+::eina\+::value\+::value().

\hypertarget{group__Eina__Value__Value__Group_ga7b136e61a22724f3dcdcbb715c28e603}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+compare@{eina\+\_\+value\+\_\+compare}}
\index{eina\+\_\+value\+\_\+compare@{eina\+\_\+value\+\_\+compare}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+compare}]{\setlength{\rightskip}{0pt plus 5cm}static int eina\+\_\+value\+\_\+compare (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{a, }
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_ga7b136e61a22724f3dcdcbb715c28e603}


Compare generic value storage. 


\begin{DoxyParams}{Parameters}
{\em a} & left side of comparison \\
\hline
{\em b} & right side of comparison \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
less than zero if a $<$ b, greater than zero if a $>$ b, zero if a == b
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


Referenced by efl\+::eina\+::operator$<$(), efl\+::eina\+::operator==(), and efl\+::eina\+::operator$>$().

\hypertarget{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+set@{eina\+\_\+value\+\_\+set}}
\index{eina\+\_\+value\+\_\+set@{eina\+\_\+value\+\_\+set}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{}]{...}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}


Set the generic value. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
The variable argument is dependent on chosen 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\+A\+R\+: unsigned char \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+R\+T\+: unsigned short \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T\+: unsigned int \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+N\+G\+: 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\+A\+R\+: char \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+R\+T\+: short \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T\+: int \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+N\+G\+: 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\+A\+T\+: float \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+L\+E\+: double \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+R\+E\+: const char $\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+: const char $\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+A\+Y\+: Eina\+\_\+\+Value\+\_\+\+Array \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+I\+S\+T\+: Eina\+\_\+\+Value\+\_\+\+List \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+S\+H\+: Eina\+\_\+\+Value\+\_\+\+Hash \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+A\+L\+: struct timeval \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+O\+B\+: Eina\+\_\+\+Value\+\_\+\+Blob \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+C\+T\+: Eina\+\_\+\+Value\+\_\+\+Struct\end{DoxyItemize}

\begin{DoxyCode}
1 Eina\_Value *value = eina\_value\_new(EINA\_VALUE\_TYPE\_INT);
2 int x = 567;
3 eina\_value\_set(value, 1234);
4 eina\_value\_set(value, x);
5 
6 eina\_value\_flush(value);
7 
8 eina\_value\_setup(value, EINA\_VALUE\_TYPE\_STRING);
9 eina\_value\_set(value, "hello world!");
10 
11 eina\_value\_free(value);
\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \hyperlink{group__Eina__Value__Array__Group_gac833bf34f56ba77e87bbe6b79734b653}{eina\+\_\+value\+\_\+array\+\_\+set()} 

for list member see \hyperlink{group__Eina__Value__List__Group_gafc779df6ff45d16b7ee83d82c0862964}{eina\+\_\+value\+\_\+list\+\_\+set()} 

for hash member see \hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}{eina\+\_\+value\+\_\+get()} 

\hyperlink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_value_01_8c-example}{eina\+\_\+value\+\_\+01.\+c}, and \hyperlink{eina_value_03_8c-example}{eina\+\_\+value\+\_\+03.\+c}.\end{Desc}


Referenced by eina\+\_\+value\+\_\+util\+\_\+time\+\_\+string\+\_\+new().

\hypertarget{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+get@{eina\+\_\+value\+\_\+get}}
\index{eina\+\_\+value\+\_\+get@{eina\+\_\+value\+\_\+get}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{}]{...}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}


Get the generic value. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} 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 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\+A\+R\+: unsigned char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+R\+T\+: unsigned short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T\+: unsigned int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+N\+G\+: 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\+A\+R\+: char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+R\+T\+: short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T\+: int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+N\+G\+: 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\+A\+T\+: float$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+L\+E\+: 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\+R\+E\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+A\+Y\+: Eina\+\_\+\+Value\+\_\+\+Array$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+I\+S\+T\+: Eina\+\_\+\+Value\+\_\+\+List$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+S\+H\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+A\+L\+: struct timeval$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+O\+B\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+C\+T\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$\end{DoxyItemize}

\begin{DoxyCode}
1 Eina\_Value *value = eina\_value\_new(EINA\_VALUE\_TYPE\_INT);
2 int x;
3 const char *s;
4 
5 eina\_value\_set(value, 1234);
6 eina\_value\_get(value, &x);
7 
8 eina\_value\_flush(value);
9 
10 eina\_value\_setup(value, EINA\_VALUE\_TYPE\_STRING);
11 eina\_value\_set(value, "hello world!");
12 eina\_value\_get(value, &s);
13 
14 eina\_value\_free(value);
\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \hyperlink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} 

for list member see \hyperlink{group__Eina__Value__List__Group_gaf1b31fc2085b8077f3789bb9365e6818}{eina\+\_\+value\+\_\+list\+\_\+get()} 

for hash member see \hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\hyperlink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}, and \hyperlink{eina_value_01_8c-example}{eina\+\_\+value\+\_\+01.\+c}.\end{Desc}
\hypertarget{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+vset@{eina\+\_\+value\+\_\+vset}}
\index{eina\+\_\+value\+\_\+vset@{eina\+\_\+value\+\_\+vset}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+vset}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+vset (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}


Set the generic value. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object \\
\hline
{\em args} & variable argument \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
for array member see \hyperlink{group__Eina__Value__Array__Group_gaee7ba765015a4a8664d6cf0fad6f28bf}{eina\+\_\+value\+\_\+array\+\_\+vset()} 

for list member see \hyperlink{group__Eina__Value__List__Group_gaaf1a01660592d3c6c563732420d6bd5d}{eina\+\_\+value\+\_\+list\+\_\+vset()} 

for hash member see \hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10}{eina\+\_\+value\+\_\+vget()} 

\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+vget@{eina\+\_\+value\+\_\+vget}}
\index{eina\+\_\+value\+\_\+vget@{eina\+\_\+value\+\_\+vget}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+vget}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+vget (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10}


Get the generic value. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object \\
\hline
{\em args} & variable argument \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} 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{DoxyNote}{Note}
for array member see \hyperlink{group__Eina__Value__Array__Group_ga71628a82af073c59a241cf8c93c95d5d}{eina\+\_\+value\+\_\+array\+\_\+vget()} 

for list member see \hyperlink{group__Eina__Value__List__Group_ga4d1be252489e727e0b396e67b9e10232}{eina\+\_\+value\+\_\+list\+\_\+vget()} 

for hash member see \hyperlink{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}{eina\+\_\+value\+\_\+hash\+\_\+vget()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\hyperlink{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}{eina\+\_\+value\+\_\+get()} 

\hyperlink{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}{eina\+\_\+value\+\_\+pget()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+pset@{eina\+\_\+value\+\_\+pset}}
\index{eina\+\_\+value\+\_\+pset@{eina\+\_\+value\+\_\+pset}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+pset}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+pset (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{const void $\ast$}]{ptr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}


Set the generic value from pointer. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object \\
\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\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} 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\+A\+R\+: unsigned char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+R\+T\+: unsigned short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T\+: unsigned int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+N\+G\+: 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\+A\+R\+: char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+R\+T\+: short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T\+: int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+N\+G\+: 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\+A\+T\+: float$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+L\+E\+: 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\+R\+E\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+A\+Y\+: Eina\+\_\+\+Value\+\_\+\+Array$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+I\+S\+T\+: Eina\+\_\+\+Value\+\_\+\+List$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+S\+H\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+A\+L\+: struct timeval$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+O\+B\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+C\+T\+: 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\_new(EINA\_VALUE\_TYPE\_INT);
2 int x = 567;
3 const char *s = "hello world!";
4 
5 eina\_value\_pset(value, &x);
6 
7 eina\_value\_flush(value);
8 
9 eina\_value\_setup(value, EINA\_VALUE\_TYPE\_STRING);
10 eina\_value\_pset(value, &s);
11 
12 eina\_value\_free(value);
\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \hyperlink{group__Eina__Value__Array__Group_ga2bbd3aa89ec9ac0cc01b86f5e5b139cd}{eina\+\_\+value\+\_\+array\+\_\+pset()} 

for list member see \hyperlink{group__Eina__Value__List__Group_ga3394c575297f44f51510cdafe518a135}{eina\+\_\+value\+\_\+list\+\_\+pset()} 

for hash member see \hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}{eina\+\_\+value\+\_\+pget()} 

\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\hyperlink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+pget@{eina\+\_\+value\+\_\+pget}}
\index{eina\+\_\+value\+\_\+pget@{eina\+\_\+value\+\_\+pget}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+pget}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+pget (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{void $\ast$}]{ptr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}


Get the generic value to pointer. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object \\
\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\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} 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\+A\+R\+: unsigned char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+S\+H\+O\+R\+T\+: unsigned short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+I\+N\+T\+: unsigned int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+L\+O\+N\+G\+: 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\+A\+R\+: char$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+H\+O\+R\+T\+: short$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+T\+: int$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+O\+N\+G\+: 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\+A\+T\+: float$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+L\+E\+: 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\+R\+E\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+N\+G\+: const char $\ast$$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+R\+R\+A\+Y\+: Eina\+\_\+\+Value\+\_\+\+Array$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+L\+I\+S\+T\+: Eina\+\_\+\+Value\+\_\+\+List$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+H\+A\+S\+H\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+T\+I\+M\+E\+V\+A\+L\+: struct timeval$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+O\+B\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+L\+O\+B\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$\end{DoxyItemize}

\begin{DoxyCode}
1 Eina\_Value *value = eina\_value\_new(EINA\_VALUE\_TYPE\_INT);
2 int x;
3 const char *s;
4 
5 eina\_value\_set(value, 1234);
6 eina\_value\_pget(value, &x);
7 
8 eina\_value\_flush(value);
9 
10 eina\_value\_setup(value, EINA\_VALUE\_TYPE\_STRING);
11 eina\_value\_set(value, "hello world!");
12 eina\_value\_pget(value, &s);
13 
14 eina\_value\_free(value);
\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \hyperlink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} 

for list member see \hyperlink{group__Eina__Value__List__Group_gaf1b31fc2085b8077f3789bb9365e6818}{eina\+\_\+value\+\_\+list\+\_\+get()} 

for hash member see \hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\hyperlink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Value__Group_ga86f91748c90652df59e3ef38bf54949d}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+convert@{eina\+\_\+value\+\_\+convert}}
\index{eina\+\_\+value\+\_\+convert@{eina\+\_\+value\+\_\+convert}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+convert}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+convert (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value, }
\item[{{\bf Eina\+\_\+\+Value} $\ast$}]{convert}
\end{DoxyParamCaption}
)}\label{group__Eina__Value__Value__Group_ga86f91748c90652df59e3ef38bf54949d}


Convert one value to another type. 


\begin{DoxyParams}{Parameters}
{\em value} & source value object. \\
\hline
{\em convert} & destination value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if converted, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
Converts one value to another trying first {\itshape value} type {\ttfamily convert\+\_\+to()} function. If unsuccessful, tries using {\ttfamily convert\+\_\+from()} function in {\itshape convert}.

Conversion functions are type defined, and the basic types can convert between themselves, but conversion is strict! That is, if converting from negative value to unsigned type, it will fail. It also fails on value overflow.

It is recommended that all types implement at least convert to string, used by \hyperlink{group__Eina__Value__Value__Group_ga8f34b6d6639654dd88cd197c9def78a3}{eina\+\_\+value\+\_\+to\+\_\+string()}.

\begin{DoxyNote}{Note}
Both objects must have \hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} called on them beforehand!
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Type\+::convert\+\_\+from, \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Type\+::convert\+\_\+to, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+value\+\_\+type\+\_\+check(), and \+\_\+\+Eina\+\_\+\+Value\+::type.



Referenced by eina\+\_\+value\+\_\+to\+\_\+string().

\hypertarget{group__Eina__Value__Value__Group_ga8f34b6d6639654dd88cd197c9def78a3}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+to\+\_\+string@{eina\+\_\+value\+\_\+to\+\_\+string}}
\index{eina\+\_\+value\+\_\+to\+\_\+string@{eina\+\_\+value\+\_\+to\+\_\+string}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+to\+\_\+string}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ eina\+\_\+value\+\_\+to\+\_\+string (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value}
\end{DoxyParamCaption}
)}\label{group__Eina__Value__Value__Group_ga8f34b6d6639654dd88cd197c9def78a3}


Convert value to string. 


\begin{DoxyParams}{Parameters}
{\em value} & value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
newly allocated memory or {\ttfamily N\+U\+L\+L} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Value__Value__Group_ga86f91748c90652df59e3ef38bf54949d}{eina\+\_\+value\+\_\+convert()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References eina\+\_\+value\+\_\+convert(), eina\+\_\+value\+\_\+setup(), eina\+\_\+value\+\_\+type\+\_\+check(), \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Union\+::ptr, \+\_\+\+Eina\+\_\+\+Value\+::type, and \+\_\+\+Eina\+\_\+\+Value\+::value.

\hypertarget{group__Eina__Value__Value__Group_gad16e8065d5d90cdd37e8c219cfcd281e}{}\index{Generic Value management@{Generic Value management}!eina\+\_\+value\+\_\+type\+\_\+get@{eina\+\_\+value\+\_\+type\+\_\+get}}
\index{eina\+\_\+value\+\_\+type\+\_\+get@{eina\+\_\+value\+\_\+type\+\_\+get}!Generic Value management@{Generic Value management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}static const {\bf Eina\+\_\+\+Value\+\_\+\+Type}$\ast$ eina\+\_\+value\+\_\+type\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Value__Group_gad16e8065d5d90cdd37e8c219cfcd281e}


Query value type. 


\begin{DoxyParams}{Parameters}
{\em value} & value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
type instance or {\ttfamily N\+U\+L\+L} if type is invalid.
\end{DoxyReturn}
Check if value type is valid and returns it. A type is invalid if it does not exist or if it is using a different version field.

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


Referenced by efl\+::eina\+::value\+::type\+\_\+info().

