\hypertarget{group__Eina__Value__Type__Group}{}\section{Generic Value Type management}
\label{group__Eina__Value__Type__Group}\index{Generic Value Type management@{Generic Value Type management}}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Eina__Value__Type}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Type}
\begin{DoxyCompactList}\small\item\em A\+P\+I to access values. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eina__Value__Type__Group_ga16a703617b8fc48e3ee95663db7becb2}{}\#define \hyperlink{group__Eina__Value__Type__Group_ga16a703617b8fc48e3ee95663db7becb2}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}~(1)\label{group__Eina__Value__Type__Group_ga16a703617b8fc48e3ee95663db7becb2}

\begin{DoxyCompactList}\small\item\em Current A\+P\+I version, used to validate type. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \hyperlink{group__Eina__Value__Type__Group_gac45525c94f6f87800b0f2b9ed5694bf5}{eina\+\_\+value\+\_\+type\+\_\+name\+\_\+get} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type)
\begin{DoxyCompactList}\small\item\em Query type name. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_ga4bdb742313b3dcd2ae65441144d04236}{eina\+\_\+value\+\_\+type\+\_\+check} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type)
\begin{DoxyCompactList}\small\item\em Check if type is valid. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_gab9a6635d937eaccc2397e6031ff28d44}{eina\+\_\+value\+\_\+type\+\_\+setup} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, void $\ast$mem)
\begin{DoxyCompactList}\small\item\em Initialize memory using type descriptor. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_gaf023815da0cde2d15dcedc7c568a2ab6}{eina\+\_\+value\+\_\+type\+\_\+flush} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, void $\ast$mem)
\begin{DoxyCompactList}\small\item\em Flush (clear) memory using type descriptor. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_ga113ba54df56b4d7f6b5dad71ec5bb66b}{eina\+\_\+value\+\_\+type\+\_\+copy} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, const void $\ast$src, void $\ast$dst)
\begin{DoxyCompactList}\small\item\em Copy memory using type descriptor. \end{DoxyCompactList}\item 
static int \hyperlink{group__Eina__Value__Type__Group_ga5ed7f82ab0c449b32538bcd05696c55a}{eina\+\_\+value\+\_\+type\+\_\+compare} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, const void $\ast$a, const void $\ast$b)
\begin{DoxyCompactList}\small\item\em Compare memory using type descriptor. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_ga9809966b5bf15fb7e3aa958f0e842281}{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+to} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$convert, const void $\ast$type\+\_\+mem, void $\ast$convert\+\_\+mem)
\begin{DoxyCompactList}\small\item\em Convert memory using type descriptor. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_ga0b5ffb70fcccfa6664100b6fab808d3d}{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+from} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$convert, void $\ast$type\+\_\+mem, const void $\ast$convert\+\_\+mem)
\begin{DoxyCompactList}\small\item\em Convert memory using type descriptor. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_ga36de045844ceb7b4c8c458d6641005ec}{eina\+\_\+value\+\_\+type\+\_\+vset} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, void $\ast$mem, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Set memory using type descriptor and variable argument. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_gaa1db66cf99d88b020f41763cd171a98d}{eina\+\_\+value\+\_\+type\+\_\+pset} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, void $\ast$mem, const void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Set memory using type descriptor and pointer. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Value__Type__Group_gac377cdcda3c59985fdbfb639f07b4430}{eina\+\_\+value\+\_\+type\+\_\+pget} (const \hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type} $\ast$type, const void $\ast$mem, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Get memory using type descriptor. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


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


Query type name. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string or {\ttfamily N\+U\+L\+L} if type is invalid. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References eina\+\_\+value\+\_\+type\+\_\+check(), and \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Type\+::name.

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


Check if type is valid. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if valid, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
A type is invalid if it\textquotesingle{}s N\+U\+L\+L or if version field is not the same as runtime \hyperlink{group__Eina__Value__Type__Group_ga16a703617b8fc48e3ee95663db7becb2}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N}.

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


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+V\+E\+R\+S\+I\+O\+N, and \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Type\+::version.



Referenced by eina\+\_\+value\+\_\+array\+\_\+new(), eina\+\_\+value\+\_\+convert(), eina\+\_\+value\+\_\+copy(), eina\+\_\+value\+\_\+hash\+\_\+new(), eina\+\_\+value\+\_\+list\+\_\+new(), eina\+\_\+value\+\_\+to\+\_\+string(), and eina\+\_\+value\+\_\+type\+\_\+name\+\_\+get().

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


Initialize memory using type descriptor. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference. \\
\hline
{\em mem} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\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{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Type__Group_gaf023815da0cde2d15dcedc7c568a2ab6}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+flush@{eina\+\_\+value\+\_\+type\+\_\+flush}}
\index{eina\+\_\+value\+\_\+type\+\_\+flush@{eina\+\_\+value\+\_\+type\+\_\+flush}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+flush(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, void $\ast$mem)}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+type\+\_\+flush (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{void $\ast$}]{mem}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_gaf023815da0cde2d15dcedc7c568a2ab6}


Flush (clear) memory using type descriptor. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference. \\
\hline
{\em mem} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\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{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Type__Group_ga113ba54df56b4d7f6b5dad71ec5bb66b}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+copy@{eina\+\_\+value\+\_\+type\+\_\+copy}}
\index{eina\+\_\+value\+\_\+type\+\_\+copy@{eina\+\_\+value\+\_\+type\+\_\+copy}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+copy(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, const void $\ast$src, void $\ast$dst)}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+type\+\_\+copy (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{const void $\ast$}]{src, }
\item[{void $\ast$}]{dst}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_ga113ba54df56b4d7f6b5dad71ec5bb66b}


Copy memory using type descriptor. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference. \\
\hline
{\em src} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
{\em dst} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\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{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Type__Group_ga5ed7f82ab0c449b32538bcd05696c55a}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+compare@{eina\+\_\+value\+\_\+type\+\_\+compare}}
\index{eina\+\_\+value\+\_\+type\+\_\+compare@{eina\+\_\+value\+\_\+type\+\_\+compare}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+compare(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, const void $\ast$a, const void $\ast$b)}]{\setlength{\rightskip}{0pt plus 5cm}static int eina\+\_\+value\+\_\+type\+\_\+compare (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{const void $\ast$}]{a, }
\item[{const void $\ast$}]{b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_ga5ed7f82ab0c449b32538bcd05696c55a}


Compare memory using type descriptor. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference. \\
\hline
{\em a} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
{\em b} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
less than zero if a $<$ b, greater than zero if a $>$ b, zero if equal. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Type__Group_ga9809966b5bf15fb7e3aa958f0e842281}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+to@{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+to}}
\index{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+to@{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+to}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+to(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, const Eina\+\_\+\+Value\+\_\+\+Type $\ast$convert, const void $\ast$type\+\_\+mem, void $\ast$convert\+\_\+mem)}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+to (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{convert, }
\item[{const void $\ast$}]{type\+\_\+mem, }
\item[{void $\ast$}]{convert\+\_\+mem}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_ga9809966b5bf15fb7e3aa958f0e842281}


Convert memory using type descriptor. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference of the source. \\
\hline
{\em convert} & type reference of the destination. \\
\hline
{\em type\+\_\+mem} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
{\em convert\+\_\+mem} & memory to operate, must be of size {\ttfamily convert-\/$>$value\+\_\+size}. \\
\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{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Type__Group_ga0b5ffb70fcccfa6664100b6fab808d3d}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+from@{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+from}}
\index{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+from@{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+from}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+from(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, const Eina\+\_\+\+Value\+\_\+\+Type $\ast$convert, void $\ast$type\+\_\+mem, const void $\ast$convert\+\_\+mem)}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+type\+\_\+convert\+\_\+from (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{convert, }
\item[{void $\ast$}]{type\+\_\+mem, }
\item[{const void $\ast$}]{convert\+\_\+mem}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_ga0b5ffb70fcccfa6664100b6fab808d3d}


Convert memory using type descriptor. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference of the destination. \\
\hline
{\em convert} & type reference of the source. \\
\hline
{\em type\+\_\+mem} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
{\em convert\+\_\+mem} & memory to operate, must be of size {\ttfamily convert-\/$>$value\+\_\+size}. \\
\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{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Type__Group_ga36de045844ceb7b4c8c458d6641005ec}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+vset@{eina\+\_\+value\+\_\+type\+\_\+vset}}
\index{eina\+\_\+value\+\_\+type\+\_\+vset@{eina\+\_\+value\+\_\+type\+\_\+vset}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+vset(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, void $\ast$mem, va\+\_\+list args)}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+type\+\_\+vset (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{void $\ast$}]{mem, }
\item[{va\+\_\+list}]{args}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_ga36de045844ceb7b4c8c458d6641005ec}


Set memory using type descriptor and variable argument. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference of the source. \\
\hline
{\em mem} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
{\em args} & input 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}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\hypertarget{group__Eina__Value__Type__Group_gaa1db66cf99d88b020f41763cd171a98d}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+pset@{eina\+\_\+value\+\_\+type\+\_\+pset}}
\index{eina\+\_\+value\+\_\+type\+\_\+pset@{eina\+\_\+value\+\_\+type\+\_\+pset}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+pset(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, void $\ast$mem, const void $\ast$ptr)}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+type\+\_\+pset (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{void $\ast$}]{mem, }
\item[{const void $\ast$}]{ptr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_gaa1db66cf99d88b020f41763cd171a98d}


Set memory using type descriptor and pointer. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference of the source. \\
\hline
{\em mem} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
{\em ptr} & pointer to input 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}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{eina_value_03_8c-example}{eina\+\_\+value\+\_\+03.\+c}.\end{Desc}
\hypertarget{group__Eina__Value__Type__Group_gac377cdcda3c59985fdbfb639f07b4430}{}\index{Generic Value Type management@{Generic Value Type management}!eina\+\_\+value\+\_\+type\+\_\+pget@{eina\+\_\+value\+\_\+type\+\_\+pget}}
\index{eina\+\_\+value\+\_\+type\+\_\+pget@{eina\+\_\+value\+\_\+type\+\_\+pget}!Generic Value Type management@{Generic Value Type management}}
\subsubsection[{eina\+\_\+value\+\_\+type\+\_\+pget(const Eina\+\_\+\+Value\+\_\+\+Type $\ast$type, const void $\ast$mem, void $\ast$ptr)}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+value\+\_\+type\+\_\+pget (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Value\+\_\+\+Type} $\ast$}]{type, }
\item[{const void $\ast$}]{mem, }
\item[{void $\ast$}]{ptr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Value__Type__Group_gac377cdcda3c59985fdbfb639f07b4430}


Get memory using type descriptor. 


\begin{DoxyParams}{Parameters}
{\em type} & type reference of the source. \\
\hline
{\em mem} & memory to operate, must be of size {\ttfamily type-\/$>$value\+\_\+size}. \\
\hline
{\em ptr} & pointer to output. \\
\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{DoxySince}{Since}
1.\+2 
\end{DoxySince}
