\hypertarget{struct__Eina__Value__Struct__Desc}{}\doxysection{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc Struct Reference}
\label{struct__Eina__Value__Struct__Desc}\index{\_Eina\_Value\_Struct\_Desc@{\_Eina\_Value\_Struct\_Desc}}


Describes the struct by listing its size, members and operations.  


\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{struct__Eina__Value__Struct__Desc_a173b6014bf58d5f1dbbbe29db04396f0}\label{struct__Eina__Value__Struct__Desc_a173b6014bf58d5f1dbbbe29db04396f0}} 
unsigned int \mbox{\hyperlink{struct__Eina__Value__Struct__Desc_a173b6014bf58d5f1dbbbe29db04396f0}{version}}
\begin{DoxyCompactList}\small\item\em must be \mbox{\hyperlink{group__Eina__Value__Struct__Group_gae76aada4965672ce991f1f41baf71975}{EINA\+\_\+\+VALUE\+\_\+\+STRUCT\+\_\+\+DESC\+\_\+\+VERSION}} \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}} $\ast$ \mbox{\hyperlink{struct__Eina__Value__Struct__Desc_a6c18f97c686c08a9765c5ab1d6842192}{ops}}
\begin{DoxyCompactList}\small\item\em operations, if {\ttfamily NULL} defaults will be used. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Value__Struct__Desc_a733e47f7719ed200b42cadce524873d5}\label{struct__Eina__Value__Struct__Desc_a733e47f7719ed200b42cadce524873d5}} 
const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}} $\ast$ \mbox{\hyperlink{struct__Eina__Value__Struct__Desc_a733e47f7719ed200b42cadce524873d5}{members}}
\begin{DoxyCompactList}\small\item\em array of member descriptions, if {\ttfamily member\+\_\+count} is zero, then it must be {\ttfamily NULL} terminated. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{struct__Eina__Value__Struct__Desc_a59cb417f60dafa7bae36ba5706769149}{member\+\_\+count}}
\begin{DoxyCompactList}\small\item\em if $>$ 0, specifies number of members. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{struct__Eina__Value__Struct__Desc_a76afd6890747f7d2da944878060efec0}\label{struct__Eina__Value__Struct__Desc_a76afd6890747f7d2da944878060efec0}} 
unsigned int \mbox{\hyperlink{struct__Eina__Value__Struct__Desc_a76afd6890747f7d2da944878060efec0}{size}}
\begin{DoxyCompactList}\small\item\em byte size to allocate, may be bigger than sum of members \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Describes the struct by listing its size, members and operations. 

This is the root of Eina\+\_\+\+Value knowledge about the memory it\textquotesingle{}s handling as a structure. It adds introspection, saying the byte size of the structure, its members and how to manage such members.

\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}


\doxysubsection{Field Documentation}
\mbox{\Hypertarget{struct__Eina__Value__Struct__Desc_a6c18f97c686c08a9765c5ab1d6842192}\label{struct__Eina__Value__Struct__Desc_a6c18f97c686c08a9765c5ab1d6842192}} 
\index{\_Eina\_Value\_Struct\_Desc@{\_Eina\_Value\_Struct\_Desc}!ops@{ops}}
\index{ops@{ops}!\_Eina\_Value\_Struct\_Desc@{\_Eina\_Value\_Struct\_Desc}}
\doxysubsubsection{\texorpdfstring{ops}{ops}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gadd1ef1dcb7efc1daec5b28e6c9dfbb8c}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Operations}}$\ast$ \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc\+::ops}



operations, if {\ttfamily NULL} defaults will be used. 

You may use operations to optimize member lookup using binary search or gperf hash. \mbox{\Hypertarget{struct__Eina__Value__Struct__Desc_a59cb417f60dafa7bae36ba5706769149}\label{struct__Eina__Value__Struct__Desc_a59cb417f60dafa7bae36ba5706769149}} 
\index{\_Eina\_Value\_Struct\_Desc@{\_Eina\_Value\_Struct\_Desc}!member\_count@{member\_count}}
\index{member\_count@{member\_count}!\_Eina\_Value\_Struct\_Desc@{\_Eina\_Value\_Struct\_Desc}}
\doxysubsubsection{\texorpdfstring{member\_count}{member\_count}}
{\footnotesize\ttfamily unsigned int \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc\+::member\+\_\+count}



if $>$ 0, specifies number of members. 

If zero then {\ttfamily members} must be NULL terminated. 