\hypertarget{group__Eina__Value__Struct__Group}{}\doxysection{Generic Value Struct management}
\label{group__Eina__Value__Struct__Group}\index{Generic Value Struct management@{Generic Value Struct management}}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Value__Struct__Operations}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}
\item 
struct \mbox{\hyperlink{struct__Eina__Value__Struct__Member}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}}
\item 
struct \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}}
\item 
struct \mbox{\hyperlink{struct__Eina__Value__Struct}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga616b4187aec4502fee885dda6ec5e245}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+V\+E\+R\+S\+I\+ON}}~(1)
\item 
\#define \mbox{\hyperlink{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+D\+E\+S\+C\+\_\+\+V\+E\+R\+S\+I\+ON}}~(1)
\item 
\#define \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga139206ef35b0b76e87eef56a202c0ae9}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+M\+E\+M\+B\+ER}}(eina\+\_\+value\+\_\+type,  type,  member)~\{\#member, eina\+\_\+value\+\_\+type, offsetof(type, member)\}
\item 
\#define \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga4bbb8cfe756fb89281b1348e44a785dc}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+M\+E\+M\+B\+E\+R\+\_\+\+S\+E\+N\+T\+I\+N\+EL}}~\{N\+U\+LL, N\+U\+LL, 0\}
\item 
\#define {\bfseries E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+D\+E\+S\+C\+\_\+\+D\+E\+F\+I\+NE}(Name,  Ops,  Size, ...)
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__Eina__Value__Struct__Operations}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}
\item 
typedef struct \mbox{\hyperlink{struct__Eina__Value__Struct__Member}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}}
\item 
typedef struct \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Struct__Group_gaa4f22ce61a055b572fc2a0ec9051479f}{eina\+\_\+value\+\_\+struct\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc)
\begin{DoxyCompactList}\small\item\em Creates generic value storage of type struct. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga54ce9b27584946fba6dc1a52a1526572}{eina\+\_\+value\+\_\+struct\+\_\+setup}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$desc)
\begin{DoxyCompactList}\small\item\em Initializes generic value storage of type struct. \end{DoxyCompactList}\item 
static const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga22afd28722ef56d072093e74f89ba496}{eina\+\_\+value\+\_\+struct\+\_\+desc\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value)
\begin{DoxyCompactList}\small\item\em Checks for a struct and get its description. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}{eina\+\_\+value\+\_\+struct\+\_\+set}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$name,...)
\begin{DoxyCompactList}\small\item\em Sets the generic value in a struct member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\+\_\+value\+\_\+struct\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$name,...)
\begin{DoxyCompactList}\small\item\em Gets the generic value from a struct member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga7d85c87b7ed61034c6bcd7237259df22}{eina\+\_\+value\+\_\+struct\+\_\+vset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$name, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Sets the generic value in a struct member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga8d7d1e07a9d5e82090c90a23f4a1caf7}{eina\+\_\+value\+\_\+struct\+\_\+vget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$name, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Gets the generic value from a struct member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\+\_\+value\+\_\+struct\+\_\+pset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$name, const void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Sets the generic value in a struct member from pointer. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}{eina\+\_\+value\+\_\+struct\+\_\+pget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$value, const char $\ast$name, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Gets the generic value to pointer from a struct member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadbe2da54625edad4a63dbce2cbbdf6ec}{eina\+\_\+value\+\_\+struct\+\_\+value\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$src, const char $\ast$name, \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$dst)
\begin{DoxyCompactList}\small\item\em Gets the member as Eina\+\_\+\+Value copy. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gac22dc4bbaef8213a2ee79e2f03e9528b}{eina\+\_\+value\+\_\+struct\+\_\+value\+\_\+set}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$dst, const char $\ast$name, const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Sets the member from Eina\+\_\+\+Value source. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga4a40469bdecbf2fac25f9bbfaf55c427}{eina\+\_\+value\+\_\+struct\+\_\+member\+\_\+value\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$src, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} $\ast$member, \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$dst)
\begin{DoxyCompactList}\small\item\em Gets the member as Eina\+\_\+\+Value copy given its member description. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga9e1bfd9de30b1684db1e1ac6dd5afbd6}{eina\+\_\+value\+\_\+struct\+\_\+member\+\_\+value\+\_\+set}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$dst, const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} $\ast$member, const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Sets the member from Eina\+\_\+\+Value source. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Struct__Group_gafcd3eb5b5b78f584fd14f9721612c08b}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+B\+I\+N\+S\+E\+A\+R\+CH}}
\item 
const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Struct__Group_gaec4574f551fded95a11c24c834f15579}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE}}
\item 
const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga5ca8e8ba5c476183512e66002d6b460a}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+B\+I\+N\+S\+E\+A\+R\+CH}} = N\+U\+LL
\item 
const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Struct__Group_gae70c9b362b2ffd3efdcc4e3fc8fc7e7a}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE}} = N\+U\+LL
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga616b4187aec4502fee885dda6ec5e245}\label{group__Eina__Value__Struct__Group_ga616b4187aec4502fee885dda6ec5e245}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_OPERATIONS\_VERSION@{EINA\_VALUE\_STRUCT\_OPERATIONS\_VERSION}}
\index{EINA\_VALUE\_STRUCT\_OPERATIONS\_VERSION@{EINA\_VALUE\_STRUCT\_OPERATIONS\_VERSION}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_OPERATIONS\_VERSION}{EINA\_VALUE\_STRUCT\_OPERATIONS\_VERSION}}
{\footnotesize\ttfamily \#define E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+V\+E\+R\+S\+I\+ON~(1)}

Current A\+PI version, used to validate \mbox{\hyperlink{struct__Eina__Value__Struct__Operations}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}. \mbox{\Hypertarget{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}\label{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_DESC\_VERSION@{EINA\_VALUE\_STRUCT\_DESC\_VERSION}}
\index{EINA\_VALUE\_STRUCT\_DESC\_VERSION@{EINA\_VALUE\_STRUCT\_DESC\_VERSION}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_DESC\_VERSION}{EINA\_VALUE\_STRUCT\_DESC\_VERSION}}
{\footnotesize\ttfamily \#define E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+D\+E\+S\+C\+\_\+\+V\+E\+R\+S\+I\+ON~(1)}

Current A\+PI version, used to validate \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}}. \begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}}, and \mbox{\hyperlink{eina_value_02_8c-example}{eina\+\_\+value\+\_\+02.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga139206ef35b0b76e87eef56a202c0ae9}\label{group__Eina__Value__Struct__Group_ga139206ef35b0b76e87eef56a202c0ae9}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_MEMBER@{EINA\_VALUE\_STRUCT\_MEMBER}}
\index{EINA\_VALUE\_STRUCT\_MEMBER@{EINA\_VALUE\_STRUCT\_MEMBER}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_MEMBER}{EINA\_VALUE\_STRUCT\_MEMBER}}
{\footnotesize\ttfamily \#define E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+M\+E\+M\+B\+ER(\begin{DoxyParamCaption}\item[{}]{eina\+\_\+value\+\_\+type,  }\item[{}]{type,  }\item[{}]{member }\end{DoxyParamCaption})~\{\#member, eina\+\_\+value\+\_\+type, offsetof(type, member)\}}

Helper to define Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member fields, uses offsetof() with type and member.

\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}}, and \mbox{\hyperlink{eina_value_02_8c-example}{eina\+\_\+value\+\_\+02.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga4bbb8cfe756fb89281b1348e44a785dc}\label{group__Eina__Value__Struct__Group_ga4bbb8cfe756fb89281b1348e44a785dc}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_MEMBER\_SENTINEL@{EINA\_VALUE\_STRUCT\_MEMBER\_SENTINEL}}
\index{EINA\_VALUE\_STRUCT\_MEMBER\_SENTINEL@{EINA\_VALUE\_STRUCT\_MEMBER\_SENTINEL}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_MEMBER\_SENTINEL}{EINA\_VALUE\_STRUCT\_MEMBER\_SENTINEL}}
{\footnotesize\ttfamily \#define E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+M\+E\+M\+B\+E\+R\+\_\+\+S\+E\+N\+T\+I\+N\+EL~\{N\+U\+LL, N\+U\+LL, 0\}}

Helper to define Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member fields for sentinel (last item), useful if you did not define {\ttfamily member\+\_\+count}.

\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga605988115ed20a0a922266a58b36a72c}\label{group__Eina__Value__Struct__Group_ga605988115ed20a0a922266a58b36a72c}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_DESC\_DEFINE@{EINA\_VALUE\_STRUCT\_DESC\_DEFINE}}
\index{EINA\_VALUE\_STRUCT\_DESC\_DEFINE@{EINA\_VALUE\_STRUCT\_DESC\_DEFINE}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_DESC\_DEFINE}{EINA\_VALUE\_STRUCT\_DESC\_DEFINE}}
{\footnotesize\ttfamily \#define E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+D\+E\+S\+C\+\_\+\+D\+E\+F\+I\+NE(\begin{DoxyParamCaption}\item[{}]{Name,  }\item[{}]{Ops,  }\item[{}]{Size,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keyword}{inline} \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{Eina\_Value\_Struct\_Desc}} *                                \(\backslash\)}
\DoxyCodeLine{  Name(\textcolor{keywordtype}{void})                                                            \(\backslash\)}
\DoxyCodeLine{  \{                                                                     \(\backslash\)}
\DoxyCodeLine{     Eina\_Value\_Struct\_Member tmp[] = \{ \_\_VA\_ARGS\_\_ \};                  \(\backslash\)}
\DoxyCodeLine{     static \mbox{\hyperlink{struct__Eina__Value__Struct__Member}{Eina\_Value\_Struct\_Member}} members[\mbox{\hyperlink{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}{EINA\_C\_ARRAY\_LENGTH}}(tmp) + 1] = \{ \{ \textcolor{stringliteral}{""}, NULL, 0 \} \}; \(\backslash\)}
\DoxyCodeLine{     static \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{Eina\_Value\_Struct\_Desc}} r = \{                                \(\backslash\)}
\DoxyCodeLine{       EINA\_VALUE\_STRUCT\_DESC\_VERSION,                                  \(\backslash\)}
\DoxyCodeLine{       NULL,                                                             \(\backslash\)}
\DoxyCodeLine{       members,                                                         \(\backslash\)}
\DoxyCodeLine{       EINA\_C\_ARRAY\_LENGTH(tmp),                                        \(\backslash\)}
\DoxyCodeLine{       Size                                                             \(\backslash\)}
\DoxyCodeLine{     \};                                                                 \(\backslash\)}
\DoxyCodeLine{                                                                        \(\backslash\)}
\DoxyCodeLine{     if (members[0].name)                                               \(\backslash\)}
\DoxyCodeLine{       \{                                                                \(\backslash\)}
\DoxyCodeLine{          r.ops = Ops;                                                  \(\backslash\)}
\DoxyCodeLine{          memcpy(members, tmp, \textcolor{keyword}{sizeof}(tmp));                            \(\backslash\)}
\DoxyCodeLine{       \}                                                                \(\backslash\)}
\DoxyCodeLine{     return \&r;                                                         \(\backslash\)}
\DoxyCodeLine{  \}}

\end{DoxyCode}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}\label{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}} 
\index{Generic Value Struct management@{Generic Value Struct management}!Eina\_Value\_Struct\_Operations@{Eina\_Value\_Struct\_Operations}}
\index{Eina\_Value\_Struct\_Operations@{Eina\_Value\_Struct\_Operations}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{Eina\_Value\_Struct\_Operations}{Eina\_Value\_Struct\_Operations}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}}

How to manage struct. Any {\ttfamily N\+U\+LL} callback is ignored.

A structure can specify alternative methods to allocate, free and copy itself. See structure definition for all methods.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{struct__Eina__Value__Struct__Operations}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} explains fields. 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}\label{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}} 
\index{Generic Value Struct management@{Generic Value Struct management}!Eina\_Value\_Struct\_Member@{Eina\_Value\_Struct\_Member}}
\index{Eina\_Value\_Struct\_Member@{Eina\_Value\_Struct\_Member}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{Eina\_Value\_Struct\_Member}{Eina\_Value\_Struct\_Member}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}}}

Describes a single member of struct.

The member holds a name, type and its byte offset within the struct memory. Most Eina\+\_\+\+Value\+\_\+\+Struct functions takes the member name as parameter, as in \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}{eina\+\_\+value\+\_\+struct\+\_\+set()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{struct__Eina__Value__Struct__Member}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} explains fields.
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}\label{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}} 
\index{Generic Value Struct management@{Generic Value Struct management}!Eina\_Value\_Struct\_Desc@{Eina\_Value\_Struct\_Desc}}
\index{Eina\_Value\_Struct\_Desc@{Eina\_Value\_Struct\_Desc}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{Eina\_Value\_Struct\_Desc}{Eina\_Value\_Struct\_Desc}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}}}

Describes the struct by listing its size, members and operations. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} explains fields.
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_gaa4f22ce61a055b572fc2a0ec9051479f}\label{group__Eina__Value__Struct__Group_gaa4f22ce61a055b572fc2a0ec9051479f}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_new@{eina\_value\_struct\_new}}
\index{eina\_value\_struct\_new@{eina\_value\_struct\_new}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_new()}{eina\_value\_struct\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}}$\ast$ eina\+\_\+value\+\_\+struct\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$}]{desc }\end{DoxyParamCaption})}



Creates generic value storage of type struct. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em desc} & How to manage this struct members. \\
\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 struct. The members are managed using the description specified by {\itshape desc}.

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

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

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga54ce9b27584946fba6dc1a52a1526572}{eina\+\_\+value\+\_\+struct\+\_\+setup()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga54ce9b27584946fba6dc1a52a1526572}\label{group__Eina__Value__Struct__Group_ga54ce9b27584946fba6dc1a52a1526572}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_setup@{eina\_value\_struct\_setup}}
\index{eina\_value\_struct\_setup@{eina\_value\_struct\_setup}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_setup()}{eina\_value\_struct\_setup()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+setup (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}} $\ast$}]{desc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Initializes generic value storage of type struct. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em value} & Value object \\
\hline
\mbox{\texttt{ in}}  & {\em desc} & How to manage this struct members. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
Initializes new generic value storage of type struct with the given {\itshape desc}.

This is the same as calling \mbox{\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()}} with \mbox{\hyperlink{group__Eina__Value__Group_ga9fadbf67174732884abde36049c9b1b8}{E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+U\+CT}} followed by \mbox{\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}} with the \mbox{\hyperlink{group__Eina__Value__Optional__Group_gad5112e74acdbd981a0c112b19168304b}{Eina\+\_\+\+Value\+\_\+\+Struct}} description configured.

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

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


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

\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga22afd28722ef56d072093e74f89ba496}\label{group__Eina__Value__Struct__Group_ga22afd28722ef56d072093e74f89ba496}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_desc\_get@{eina\_value\_struct\_desc\_get}}
\index{eina\_value\_struct\_desc\_get@{eina\_value\_struct\_desc\_get}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_desc\_get()}{eina\_value\_struct\_desc\_get()}}
{\footnotesize\ttfamily static const \mbox{\hyperlink{group__Eina__Value__Struct__Group_ga69bcc1965b7b57ef713b0370d10f593d}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}}$\ast$ eina\+\_\+value\+\_\+struct\+\_\+desc\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks for a struct and get its description. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Value object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
structure description, with all members and size. on failure, \#\+N\+U\+LL is returned.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}\label{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_set@{eina\_value\_struct\_set}}
\index{eina\_value\_struct\_set@{eina\_value\_struct\_set}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_set()}{eina\_value\_struct\_set()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{name,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value in a struct member. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name to find the member \\
\hline
\mbox{\texttt{ in}}  & {\em ...} & Variable arguments \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The variable argument is dependent on chosen member type. The list for basic types\+:

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

\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{struct }myst \{}
\DoxyCodeLine{    \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{    \textcolor{keywordtype}{char} c;}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Member}{Eina\_Value\_Struct\_Member}} myst\_members[] = \{}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"i"}, \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0\},}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"c"}, \mbox{\hyperlink{group__Eina__Value__Group_ga0d54e0b952b44b7ac4f2fd573f7839c0}{EINA\_VALUE\_TYPE\_CHAR}}, 4\},}
\DoxyCodeLine{    \{NULL, NULL, 0\}}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{Eina\_Value\_Struct\_Desc}} myst\_desc = \{}
\DoxyCodeLine{    \mbox{\hyperlink{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}{EINA\_VALUE\_STRUCT\_DESC\_VERSION}},}
\DoxyCodeLine{    NULL, myst\_members, 2, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }myst)}
\DoxyCodeLine{\};}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Struct__Group_gaa4f22ce61a055b572fc2a0ec9051479f}{eina\_value\_struct\_new}}(\&my\_desc);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x;}
\DoxyCodeLine{\textcolor{keywordtype}{char} y;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}{eina\_value\_struct\_set}}(value, \textcolor{stringliteral}{"i"}, 5678);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\_value\_struct\_get}}(value, \textcolor{stringliteral}{"i"}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}{eina\_value\_struct\_set}}(value, \textcolor{stringliteral}{"c"}, 0xf);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\_value\_struct\_get}}(value, \textcolor{stringliteral}{"c"}, \&y);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga86a0a82f9154937f9d0050958c72abe8}{eina\_value\_free}}(value);}
\end{DoxyCode}


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

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga7d85c87b7ed61034c6bcd7237259df22}{eina\+\_\+value\+\_\+struct\+\_\+vset()}} 

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\+\_\+value\+\_\+struct\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}}, and \mbox{\hyperlink{eina_value_02_8c-example}{eina\+\_\+value\+\_\+02.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}\label{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_get@{eina\_value\_struct\_get}}
\index{eina\_value\_struct\_get@{eina\_value\_struct\_get}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_get()}{eina\_value\_struct\_get()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{name,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value from a struct member. 


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

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

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

\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{struct }myst \{}
\DoxyCodeLine{    \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{    \textcolor{keywordtype}{char} c;}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Member}{Eina\_Value\_Struct\_Member}} myst\_members[] = \{}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"i"}, \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0\},}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"c"}, \mbox{\hyperlink{group__Eina__Value__Group_ga0d54e0b952b44b7ac4f2fd573f7839c0}{EINA\_VALUE\_TYPE\_CHAR}}, 4\},}
\DoxyCodeLine{    \{NULL, NULL, 0\}}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{Eina\_Value\_Struct\_Desc}} myst\_desc = \{}
\DoxyCodeLine{    \mbox{\hyperlink{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}{EINA\_VALUE\_STRUCT\_DESC\_VERSION}},}
\DoxyCodeLine{    NULL, myst\_members, 2, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }myst)}
\DoxyCodeLine{\};}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Struct__Group_gaa4f22ce61a055b572fc2a0ec9051479f}{eina\_value\_struct\_new}}(\&my\_desc);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x;}
\DoxyCodeLine{\textcolor{keywordtype}{char} y;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}{eina\_value\_struct\_set}}(value, \textcolor{stringliteral}{"i"}, 5678);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\_value\_struct\_get}}(value, \textcolor{stringliteral}{"i"}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}{eina\_value\_struct\_set}}(value, \textcolor{stringliteral}{"c"}, 0xf);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\_value\_struct\_get}}(value, \textcolor{stringliteral}{"c"}, \&y);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga86a0a82f9154937f9d0050958c72abe8}{eina\_value\_free}}(value);}
\end{DoxyCode}


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

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga7d85c87b7ed61034c6bcd7237259df22}{eina\+\_\+value\+\_\+struct\+\_\+vset()}} 

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\+\_\+value\+\_\+struct\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}}, and \mbox{\hyperlink{eina_value_02_8c-example}{eina\+\_\+value\+\_\+02.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga7d85c87b7ed61034c6bcd7237259df22}\label{group__Eina__Value__Struct__Group_ga7d85c87b7ed61034c6bcd7237259df22}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_vset@{eina\_value\_struct\_vset}}
\index{eina\_value\_struct\_vset@{eina\_value\_struct\_vset}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_vset()}{eina\_value\_struct\_vset()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+vset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{name,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value in a struct member. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name to find the member \\
\hline
\mbox{\texttt{ in}}  & {\em args} & Variable argument \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga476aa64a399aba776fa14f2fb065b268}{eina\+\_\+value\+\_\+struct\+\_\+set()}} 

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\+\_\+value\+\_\+struct\+\_\+get()}} 

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\+\_\+value\+\_\+struct\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga8d7d1e07a9d5e82090c90a23f4a1caf7}\label{group__Eina__Value__Struct__Group_ga8d7d1e07a9d5e82090c90a23f4a1caf7}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_vget@{eina\_value\_struct\_vget}}
\index{eina\_value\_struct\_vget@{eina\_value\_struct\_vget}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_vget()}{eina\_value\_struct\_vget()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+vget (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{name,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value from a struct member. 


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

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

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\+\_\+value\+\_\+struct\+\_\+get()}} 

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}{eina\+\_\+value\+\_\+struct\+\_\+pget()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}\label{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_pset@{eina\_value\_struct\_pset}}
\index{eina\_value\_struct\_pset@{eina\_value\_struct\_pset}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_pset()}{eina\_value\_struct\_pset()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+pset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{name,  }\item[{const void $\ast$}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value in a struct member from pointer. 


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

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

\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{struct }myst \{}
\DoxyCodeLine{    \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{    \textcolor{keywordtype}{char} c;}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Member}{Eina\_Value\_Struct\_Member}} myst\_members[] = \{}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"i"}, \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0\},}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"c"}, \mbox{\hyperlink{group__Eina__Value__Group_ga0d54e0b952b44b7ac4f2fd573f7839c0}{EINA\_VALUE\_TYPE\_CHAR}}, 4\},}
\DoxyCodeLine{    \{NULL, NULL, 0\}}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{Eina\_Value\_Struct\_Desc}} myst\_desc = \{}
\DoxyCodeLine{    \mbox{\hyperlink{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}{EINA\_VALUE\_STRUCT\_DESC\_VERSION}},}
\DoxyCodeLine{    NULL, myst\_members, 2, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }myst)}
\DoxyCodeLine{\};}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Struct__Group_gaa4f22ce61a055b572fc2a0ec9051479f}{eina\_value\_struct\_new}}(\&my\_desc);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x = 5678;}
\DoxyCodeLine{\textcolor{keywordtype}{char} y = 0xf;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\_value\_struct\_pset}}(value, \textcolor{stringliteral}{"i"}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}{eina\_value\_struct\_pget}}(value, \textcolor{stringliteral}{"i"}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\_value\_struct\_pset}}(value, \textcolor{stringliteral}{"c"}, \&y);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}{eina\_value\_struct\_pget}}(value, \textcolor{stringliteral}{"c"}, \&y);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga86a0a82f9154937f9d0050958c72abe8}{eina\_value\_free}}(value);}
\end{DoxyCode}


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

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga07a7cc420f03a247dffe4d13ce1ad6c5}{eina\+\_\+value\+\_\+struct\+\_\+get()}} 

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga7d85c87b7ed61034c6bcd7237259df22}{eina\+\_\+value\+\_\+struct\+\_\+vset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}\label{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_pget@{eina\_value\_struct\_pget}}
\index{eina\_value\_struct\_pget@{eina\_value\_struct\_pget}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_pget()}{eina\_value\_struct\_pget()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+pget (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{value,  }\item[{const char $\ast$}]{name,  }\item[{void $\ast$}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value to pointer from a struct member. 


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

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

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

\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{struct }myst \{}
\DoxyCodeLine{    \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{    \textcolor{keywordtype}{char} c;}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Member}{Eina\_Value\_Struct\_Member}} myst\_members[] = \{}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"i"}, \mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0\},}
\DoxyCodeLine{    \{\textcolor{stringliteral}{"c"}, \mbox{\hyperlink{group__Eina__Value__Group_ga0d54e0b952b44b7ac4f2fd573f7839c0}{EINA\_VALUE\_TYPE\_CHAR}}, 4\},}
\DoxyCodeLine{    \{NULL, NULL, 0\}}
\DoxyCodeLine{\};}
\DoxyCodeLine{\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Value__Struct__Desc}{Eina\_Value\_Struct\_Desc}} myst\_desc = \{}
\DoxyCodeLine{    \mbox{\hyperlink{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}{EINA\_VALUE\_STRUCT\_DESC\_VERSION}},}
\DoxyCodeLine{    NULL, myst\_members, 2, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }myst)}
\DoxyCodeLine{\};}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Struct__Group_gaa4f22ce61a055b572fc2a0ec9051479f}{eina\_value\_struct\_new}}(\&my\_desc);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x = 5678;}
\DoxyCodeLine{\textcolor{keywordtype}{char} y = 0xf;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\_value\_struct\_pset}}(value, \textcolor{stringliteral}{"i"}, \&);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}{eina\_value\_struct\_pget}}(value, \textcolor{stringliteral}{"i"}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\_value\_struct\_pset}}(value, \textcolor{stringliteral}{"c"}, \&y);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga1f6088c1f9e33b9912994291511c35e9}{eina\_value\_struct\_pget}}(value, \textcolor{stringliteral}{"c"}, \&y);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga86a0a82f9154937f9d0050958c72abe8}{eina\_value\_free}}(value);}
\end{DoxyCode}


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

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga7d85c87b7ed61034c6bcd7237259df22}{eina\+\_\+value\+\_\+struct\+\_\+vset()}} 

\mbox{\hyperlink{group__Eina__Value__Struct__Group_ga67924cc5f07802088125410cf48b1f63}{eina\+\_\+value\+\_\+struct\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_gadbe2da54625edad4a63dbce2cbbdf6ec}\label{group__Eina__Value__Struct__Group_gadbe2da54625edad4a63dbce2cbbdf6ec}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_value\_get@{eina\_value\_struct\_value\_get}}
\index{eina\_value\_struct\_value\_get@{eina\_value\_struct\_value\_get}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_value\_get()}{eina\_value\_struct\_value\_get()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+value\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{src,  }\item[{const char $\ast$}]{name,  }\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the member as Eina\+\_\+\+Value copy. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em src} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em name} & Name to find the member \\
\hline
\mbox{\texttt{ out}}  & {\em dst} & Where to return the member value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The argument {\itshape dst} is considered uninitialized and it\textquotesingle{}s setup to the type of the member.

\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_gac22dc4bbaef8213a2ee79e2f03e9528b}\label{group__Eina__Value__Struct__Group_gac22dc4bbaef8213a2ee79e2f03e9528b}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_value\_set@{eina\_value\_struct\_value\_set}}
\index{eina\_value\_struct\_value\_set@{eina\_value\_struct\_value\_set}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_value\_set()}{eina\_value\_struct\_value\_set()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+value\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{dst,  }\item[{const char $\ast$}]{name,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the member from Eina\+\_\+\+Value source. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em dst} & destination value object \\
\hline
\mbox{\texttt{ in}}  & {\em name} & name to find the member \\
\hline
\mbox{\texttt{ in}}  & {\em src} & source value \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{complex-types-client-eina-value_8c-example}{complex-\/types-\/client-\/eina-\/value.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga4a40469bdecbf2fac25f9bbfaf55c427}\label{group__Eina__Value__Struct__Group_ga4a40469bdecbf2fac25f9bbfaf55c427}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_member\_value\_get@{eina\_value\_struct\_member\_value\_get}}
\index{eina\_value\_struct\_member\_value\_get@{eina\_value\_struct\_member\_value\_get}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_member\_value\_get()}{eina\_value\_struct\_member\_value\_get()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+member\+\_\+value\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{src,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} $\ast$}]{member,  }\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the member as Eina\+\_\+\+Value copy given its member description. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em src} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em member} & The member description to use \\
\hline
\mbox{\texttt{ out}}  & {\em dst} & Where to return the member value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
The argument {\itshape dst} is considered uninitialized and it\textquotesingle{}s setup to the type of the member.

\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga9e1bfd9de30b1684db1e1ac6dd5afbd6}\label{group__Eina__Value__Struct__Group_ga9e1bfd9de30b1684db1e1ac6dd5afbd6}} 
\index{Generic Value Struct management@{Generic Value Struct management}!eina\_value\_struct\_member\_value\_set@{eina\_value\_struct\_member\_value\_set}}
\index{eina\_value\_struct\_member\_value\_set@{eina\_value\_struct\_member\_value\_set}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{eina\_value\_struct\_member\_value\_set()}{eina\_value\_struct\_member\_value\_set()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+struct\+\_\+member\+\_\+value\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} $\ast$}]{member,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the member from Eina\+\_\+\+Value source. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em dst} & destination value object \\
\hline
\mbox{\texttt{ in}}  & {\em member} & the member description to use \\
\hline
\mbox{\texttt{ in}}  & {\em src} & source value \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} on failure.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{group__Eina__Value__Struct__Group_gafcd3eb5b5b78f584fd14f9721612c08b}\label{group__Eina__Value__Struct__Group_gafcd3eb5b5b78f584fd14f9721612c08b}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH@{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}}
\index{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH@{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}$\ast$ E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+B\+I\+N\+S\+E\+A\+R\+CH}

Assumes {\ttfamily members} is sorted by name and applies binary search for names.

Ideally the {\ttfamily member\+\_\+count} field is set to speed it up.

No other methods are set (alloc, free, copy, compare), then it uses the default operations. \mbox{\Hypertarget{group__Eina__Value__Struct__Group_gaec4574f551fded95a11c24c834f15579}\label{group__Eina__Value__Struct__Group_gaec4574f551fded95a11c24c834f15579}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE@{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}}
\index{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE@{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}$\ast$ E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE}

Assumes {\ttfamily members} name are stringshared and can be compared for equality without using its contents (simple pointer comparison).

Ideally the search {\ttfamily name} will be stringshared as well, but it will do a second loop with a forced stringshare if it did not find the member.

No other methods are set (alloc, free, copy, compare), then it uses the default operations. \mbox{\Hypertarget{group__Eina__Value__Struct__Group_ga5ca8e8ba5c476183512e66002d6b460a}\label{group__Eina__Value__Struct__Group_ga5ca8e8ba5c476183512e66002d6b460a}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH@{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}}
\index{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH@{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}{EINA\_VALUE\_STRUCT\_OPERATIONS\_BINSEARCH}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+B\+I\+N\+S\+E\+A\+R\+CH = N\+U\+LL}

Assumes {\ttfamily members} is sorted by name and applies binary search for names.

Ideally the {\ttfamily member\+\_\+count} field is set to speed it up.

No other methods are set (alloc, free, copy, compare), then it uses the default operations. \mbox{\Hypertarget{group__Eina__Value__Struct__Group_gae70c9b362b2ffd3efdcc4e3fc8fc7e7a}\label{group__Eina__Value__Struct__Group_gae70c9b362b2ffd3efdcc4e3fc8fc7e7a}} 
\index{Generic Value Struct management@{Generic Value Struct management}!EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE@{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}}
\index{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE@{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}!Generic Value Struct management@{Generic Value Struct management}}
\doxysubsubsection{\texorpdfstring{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}{EINA\_VALUE\_STRUCT\_OPERATIONS\_STRINGSHARE}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+S\+T\+R\+U\+C\+T\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+N\+S\+\_\+\+S\+T\+R\+I\+N\+G\+S\+H\+A\+RE = N\+U\+LL}

Assumes {\ttfamily members} name are stringshared and can be compared for equality without using its contents (simple pointer comparison).

Ideally the search {\ttfamily name} will be stringshared as well, but it will do a second loop with a forced stringshare if it did not find the member.

No other methods are set (alloc, free, copy, compare), then it uses the default operations. 