\hypertarget{struct__Eina__Value__Struct__Desc}{}\section{\+\_\+\+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.  


\subsection*{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}{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}} \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 N\+U\+LL} defaults will be used. \end{DoxyCompactList}\item 
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 N\+U\+LL} 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}


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


\subsection{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}}
\subsubsection{\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 N\+U\+LL} 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_a733e47f7719ed200b42cadce524873d5}\label{struct__Eina__Value__Struct__Desc_a733e47f7719ed200b42cadce524873d5}} 
\index{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc@{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}!members@{members}}
\index{members@{members}!\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc@{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc}}
\subsubsection{\texorpdfstring{members}{members}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Eina__Value__Struct__Group_gacb552beb97aae27635d91372d4a43fd2}{Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Member}}$\ast$ \+\_\+\+Eina\+\_\+\+Value\+\_\+\+Struct\+\_\+\+Desc\+::members}



array of member descriptions, if {\ttfamily member\+\_\+count} is zero, then it must be {\ttfamily N\+U\+LL} terminated. 

\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}}
\subsubsection{\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 N\+U\+LL terminated. 